移位暫存器的工作原理
阿新 • • 發佈: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