发布时间:2025-12-09 11:56:20 浏览次数:1
把若干个触发器串接起来,就可以构成一个移位寄存器。由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 ) beginif(en==1)beginfor(n=63;n>=0;n=n-1)beginsr[n]<=sr[n-1];endsr[0]<=d;end end assign q=sr[63];endmodule