實現(xiàn)一個4bit的移位寄存器如下,不帶復位
module shift_reg(
input clk,
input rst,
input din,
output dout
);
reg [ 3:0] buff;
assign dout = buff[3];
always@(posedge clk) begin buff[3:0]
endmodule
下圖是ISE14.7實現(xiàn)后的結果如下圖所示,編譯器直接把他綜合進了一個SRL16里面,也就是專用的移位寄存器模塊,只需要一個LUT就可以實現(xiàn)16bit以內的移位
這是不帶復位的資源,可以看到觸發(fā)器只用了一個,LUT也只用了一個,并且是作為存儲器用的,而且是作為存儲器里面的移位寄存器使用。

下面是帶有復位的移位寄存器代碼
module shift_reg(
input clk,
input rst,
input din,
output dout
);
reg [ 3:0] buff;
assign dout = buff[3];
always@(posedge clk)
begin
if(rst==1) buff
end
endmodule
ISE14.7綜合結果如下:
從上圖可以看出,他是用了4個觸發(fā)器級聯(lián)構成,并且每個觸發(fā)器的復位端都是接了rst端的。
下圖是資源消耗,看的出來用了4個觸發(fā)器和0個LUT:

綜上:移位時間越長用沒有復位的方式越節(jié)約資源。
那么,對于寄存器初始狀態(tài)沒有復位怎么設置他呢?
verilog2001的標準已經解決,ISE14.7和vivado也都支持
比如, reg [ 3:0] buff = 0;就是上電后寄存器buff為全0
而 reg [ 3:0] buff = 8'hff;就是上電后寄存器buff的值為全1
編輯:hfy
-
移位寄存器
+關注
關注
4文章
352瀏覽量
23434 -
復位電路
+關注
關注
13文章
332瀏覽量
45957
發(fā)布評論請先 登錄
探索SY100S336:高性能4級計數(shù)器/移位寄存器的奧秘
74AHC594:8位移位寄存器的詳細解析與應用
74AHC595Q:汽車級8位移位寄存器的深度解析
74HC595 8位移位寄存器:設計與應用全解析
74LV595A:8位移位寄存器的全方位解析
74AHCT595F:8位移位寄存器的特性與應用解析
74HC164:8位串行輸入并行輸出移位寄存器的詳細解析
?SN74LVC595A 8位移位寄存器技術文檔總結
SN74HCT165 8位并行輸入移位寄存器技術解析
?SN74HCT595 8位移位寄存器技術解析與應用指南
TPIC6595 8位功率移位寄存器技術文檔摘要
?TPIC6B595 8位功率移位寄存器技術文檔總結
?TLC6C5912 12通道移位寄存器LED驅動器技術文檔總結
SN74LV595B-EP低噪聲8位移位寄存器技術解析與應用指南
Texas Instruments SN74LV8T594/SN74LV8T594-Q1移位寄存器特性/應用/框圖
4bit的移位寄存器復位與不復位的實現(xiàn)
評論