移位寄存器的工作原理

时间:2022-04-28
本文章向大家介绍移位寄存器的工作原理,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

把若干个触发器串接起来,就可以构成一个移位寄存器。由4个边沿D触发器构成的4位移位寄存器逻辑电路如图11-41所示。数据从串行输入端D1输入。左边触发器的输出作为右邻触发器的数据输入。假设移位寄存器的初始状态为0000,现将数码D3D2D1D0(1101)从高位(D3)至低位依次送到D1端,经过第一个时钟脉冲后,Q0=D3。由于跟随数码D3后面的数码是D2,则经过第二个时钟脉冲后,触发器FF0的状态移入触发器FF1,而FF0变为新的状态,即Q1D3,Q0=D2。依此类推,可得4位右向移位寄存器的状态,如表11-3所示。

通过Verilog HDL 实现8 比特位宽、64 深度的移位寄存器。

module shift(
clk,en,d,q
    );
 input clk,en;
 input [7:0]d;
 output [7:0]q;
 reg [7:0]sr[127:0];
 integer n;
 always @ ( posedge clk )
 begin
if(en==1)
begin
for(n=63;n>=0;n=n-1)
begin
sr[n]<=sr[n-1];
end
sr[0]<=d;
end
 end
 assign q=sr[63];
endmodule