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 )
 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