實(shí)現(xiàn)一個(gè)4bit的移位寄存器如下,不帶復(fù)位
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實(shí)現(xiàn)后的結(jié)果如下圖所示,編譯器直接把他綜合進(jìn)了一個(gè)SRL16里面,也就是專(zhuān)用的移位寄存器模塊,只需要一個(gè)LUT就可以實(shí)現(xiàn)16bit以?xún)?nèi)的移位
這是不帶復(fù)位的資源,可以看到觸發(fā)器只用了一個(gè),LUT也只用了一個(gè),并且是作為存儲(chǔ)器用的,而且是作為存儲(chǔ)器里面的移位寄存器使用。

下面是帶有復(fù)位的移位寄存器代碼
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綜合結(jié)果如下:
從上圖可以看出,他是用了4個(gè)觸發(fā)器級(jí)聯(lián)構(gòu)成,并且每個(gè)觸發(fā)器的復(fù)位端都是接了rst端的。
下圖是資源消耗,看的出來(lái)用了4個(gè)觸發(fā)器和0個(gè)LUT:

綜上:移位時(shí)間越長(zhǎng)用沒(méi)有復(fù)位的方式越節(jié)約資源。
那么,對(duì)于寄存器初始狀態(tài)沒(méi)有復(fù)位怎么設(shè)置他呢?
verilog2001的標(biāo)準(zhǔn)已經(jīng)解決,ISE14.7和vivado也都支持
比如, reg [ 3:0] buff = 0;就是上電后寄存器buff為全0
而 reg [ 3:0] buff = 8'hff;就是上電后寄存器buff的值為全1
編輯:hfy
-
移位寄存器
+關(guān)注
關(guān)注
4文章
340瀏覽量
23332 -
復(fù)位電路
+關(guān)注
關(guān)注
13文章
332瀏覽量
45863
發(fā)布評(píng)論請(qǐng)先 登錄
深入解析STPIC6D595:8位移位寄存器的卓越性能與應(yīng)用
STPIC6C595:8位移位寄存器的性能剖析與應(yīng)用解讀
STP08CP05:低電壓、低電流8位移位寄存器的性能與設(shè)計(jì)解析
?SN74LVC595A 8位移位寄存器技術(shù)文檔總結(jié)
SN74HCT165 8位并行輸入移位寄存器技術(shù)解析
?SN74HCT595 8位移位寄存器技術(shù)解析與應(yīng)用指南
TPIC6595 8位功率移位寄存器技術(shù)文檔摘要
?TPIC6B595 8位功率移位寄存器技術(shù)文檔總結(jié)
?TLC6C5912 12通道移位寄存器LED驅(qū)動(dòng)器技術(shù)文檔總結(jié)
SN74LV595B-EP低噪聲8位移位寄存器技術(shù)解析與應(yīng)用指南
Texas Instruments SN74AHC165/SN74AHC165-Q1 SIPO移位寄存器數(shù)據(jù)手冊(cè)
Texas Instruments SN74AHCT165/SN74AHCT165-Q1 SIPO移位寄存器數(shù)據(jù)手冊(cè)
Texas Instruments SN74LV8T594/SN74LV8T594-Q1移位寄存器特性/應(yīng)用/框圖
Texas Instruments SN74LVC166A 8位并聯(lián)負(fù)載移位寄存器數(shù)據(jù)手冊(cè)
Texas Instruments SN74AC596/SN74AC596-Q1 SIPO移位寄存器特性/應(yīng)用/框圖
4bit的移位寄存器復(fù)位與不復(fù)位的實(shí)現(xiàn)
評(píng)論