1 module shift_reg( 2 input mosi, 3 input sck, 4 input nrst,//低电平复位 5 input[15:0] ini_data,//复位后的初始化值 6 output[15:0] data_out 7 ); 8 reg[15:0] shft_r; 9 assign data_out[15:0] = shft_r[15:0]; 10 always @ ( posedge sck or negedge nrst) 11 begin 12 if(!nrst)//复位后初始化为初始值 13 shft_r[15:0] <= ini_data[15:0]; 14 else 15 shft_r[15:0] <= {shft_r[14:0],mosi}; 16 end 17 endmodule SPI数据接收移位寄存器