沒有任何寄存器邏輯,RTL設(shè)計(jì)是不完整的。RTL是寄存器傳輸級或邏輯,用于描述依賴于當(dāng)前輸入和過去輸出的數(shù)字邏輯。
同步和異步復(fù)位
在ASIC/FPGA設(shè)計(jì)中,何時(shí)使用異步復(fù)位或同步復(fù)位總是導(dǎo)致設(shè)計(jì)者頭腦混亂。同步復(fù)位信號在時(shí)鐘邊緣和數(shù)據(jù)路徑的一部分進(jìn)行采樣,而異步復(fù)位信號的采樣與時(shí)鐘信號無關(guān),而與數(shù)據(jù)路徑或數(shù)據(jù)輸入邏輯的一部分無關(guān)。本節(jié)介紹使用異步和同步復(fù)位的Verilog RTL for 觸發(fā)器。
D觸發(fā)器異步復(fù)位
異步復(fù)位不是數(shù)據(jù)路徑的一部分,用于初始化觸發(fā)器,而不考慮時(shí)鐘邊沿,因此稱為異步復(fù)位。這種初始化觸發(fā)器的技術(shù)不推薦用于生成內(nèi)部復(fù)位信號,因?yàn)樗菀壮霈F(xiàn)故障。設(shè)計(jì)者需要注意在內(nèi)部同步該復(fù)位信號,以避免出現(xiàn)故障。內(nèi)部同步復(fù)位信號應(yīng)用于存儲元件。復(fù)位解除(reset deassertion)是異步復(fù)位信號的主要問題,采用兩級同步器可以克服這一問題。兩級同步器(Level synchronizer)避免了復(fù)位解除期間的繞線情況。
Verilog RTL如圖所示,使用低電平異步復(fù)位信號“reset_n”(示例5.3)。
圖5.10顯示了具有異步復(fù)位“reset_n”的D觸發(fā)器的綜合邏輯。
示例5.3 D觸發(fā)器,帶低電平異步復(fù)位信號“reset_n”輸入
圖5.10 帶低電平異步復(fù)位信號輸入的綜合D觸發(fā)器
D觸發(fā)器同步復(fù)位
在同步復(fù)位中,復(fù)位信號是作為數(shù)據(jù)路徑的數(shù)據(jù)輸入的一部分,取決于活動時(shí)鐘邊沿。同步復(fù)位不存在故障或危險(xiǎn)(glitches or hazards)問題,因此這種方法最適合設(shè)計(jì)。該機(jī)制不需要額外的同步電路。
例5.4中描述了Verilog RTL,它使用低電平同步復(fù)位信號“reset_n”。
示例5.4 D觸發(fā)器,帶有源低同步復(fù)位輸入
圖5.11同步復(fù)位D觸發(fā)器的綜合邏輯
帶同步復(fù)位輸入的正邊沿觸發(fā)D觸發(fā)器的綜合邏輯如圖5.11所示。
帶使能異步復(fù)位的觸發(fā)器
在大多數(shù)實(shí)際應(yīng)用中,需要多個(gè)異步輸入??紤]一個(gè)應(yīng)用程序,當(dāng)激活輸入時(shí),它需要加載輸入數(shù)據(jù)。即使在復(fù)位信號激活且有效時(shí),也必須等待初始化寄存器。如果兩個(gè)異步輸入同時(shí)到達(dá),則輸出應(yīng)取決于這些信號的優(yōu)先級分配。
如示例5.5所示,兩個(gè)異步輸入被命名為“reset_n”和“l(fā)oad_en”?!?reset_n”具有最高優(yōu)先級,“l(fā)oad_en”具有最低優(yōu)先級。使用“if-else”構(gòu)造優(yōu)先級。
綜合邏輯如圖5.12所示。
示例5.5帶異步“reset_n”和“l(fā)oad_en”的D觸發(fā)器的Verilog RTL
圖5.12異步復(fù)位D觸發(fā)器的綜合輸出
帶使能同步復(fù)位的觸發(fā)器
如果多個(gè)信號或輸入是數(shù)據(jù)路徑的一部分,并且在時(shí)鐘的活動邊沿上采樣,則在時(shí)鐘的活動邊緣上分配時(shí)序單元的輸出??紤]示例5.6中所示的Verilog RTL,輸入“reset_n”和“l(fā)oad_en”是同步輸入并在時(shí)鐘的正邊上采樣。同步輸入“reset_n”具有最高優(yōu)先級,“l(fā)oad_en”具有最低優(yōu)先級。
綜合邏輯如圖5.13所示,“reset_n”和“l(fā)oad_en”是數(shù)據(jù)路徑的一部分。
示例5.6帶同步“reset_n”和“l(fā)oad_en”的D觸發(fā)器
圖5.13帶同步“reset_n”和“l(fā)oad_en”的綜合邏輯
審核編輯:郭婷
-
FPGA
關(guān)注
1629文章
21729瀏覽量
602977 -
asic
+關(guān)注
關(guān)注
34文章
1199瀏覽量
120429 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2000瀏覽量
61130
原文標(biāo)題:Verilog時(shí)序邏輯硬件建模設(shè)計(jì)(二)同步和異步復(fù)位
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論