RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Verilog RTL和觸發(fā)器中的同步和異步復(fù)位功能分析

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-03-15 10:56 ? 次閱讀

沒有任何寄存器邏輯,RTL設(shè)計(jì)是不完整的。RTL是寄存器傳輸級或邏輯,用于描述依賴于當(dāng)前輸入和過去輸出的數(shù)字邏輯。

7f329528-9756-11ec-952b-dac502259ad0.png

同步和異步復(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ā)器的綜合邏輯。

7f487366-9756-11ec-952b-dac502259ad0.png

示例5.3 D觸發(fā)器,帶低電平異步復(fù)位信號“reset_n”輸入

7f606ade-9756-11ec-952b-dac502259ad0.png

圖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”。

7f7b2676-9756-11ec-952b-dac502259ad0.png

示例5.4 D觸發(fā)器,帶有源低同步復(fù)位輸入

7f93afc0-9756-11ec-952b-dac502259ad0.png

圖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所示。

7fab837a-9756-11ec-952b-dac502259ad0.png

示例5.5帶異步“reset_n”和“l(fā)oad_en”的D觸發(fā)器的Verilog RTL

7fc5656a-9756-11ec-952b-dac502259ad0.png

圖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ù)路徑的一部分。

7fde292e-9756-11ec-952b-dac502259ad0.png

示例5.6帶同步“reset_n”和“l(fā)oad_en”的D觸發(fā)器

8014c966-9756-11ec-952b-dac502259ad0.png

圖5.13帶同步“reset_n”和“l(fā)oad_en”的綜合邏輯

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(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)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    同步復(fù)位電路和異步復(fù)位電路區(qū)別分析

    異步復(fù)位信號a是異步復(fù)位信號源,異步復(fù)位信號b、c、d是到達(dá)
    的頭像 發(fā)表于 06-26 05:36 ?2.4w次閱讀
    <b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>電路和<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>電路區(qū)別<b class='flag-5'>分析</b>

    異步復(fù)位同步復(fù)位的綜合后電路圖講解

    根據(jù)代碼,容易推斷得出這是一個(gè)高電平觸發(fā)異步復(fù)位觸發(fā)器(或者叫異步置位),這也與前面的內(nèi)容相符合(高電平
    的頭像 發(fā)表于 11-14 11:32 ?1w次閱讀
    <b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>與<b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>的綜合后電路圖講解

    verilog描述異步置0,異步置1功能的D觸發(fā)器

    新手,verilog描述異步置0,異步置1功能的D觸發(fā)器,置0低電平有效,置1高電平有效,用modelsim仿真時(shí),個(gè)別時(shí)序存在問題,費(fèi)解,
    發(fā)表于 04-04 20:55

    同步復(fù)位異步復(fù)位的比較(轉(zhuǎn)載)

    本帖最后由 hxing 于 2016-5-7 14:47 編輯 最近看到一篇關(guān)于 同步復(fù)位異步復(fù)位的比較 的帖子,感覺講的很清晰,遂轉(zhuǎn)載了無論
    發(fā)表于 05-05 23:11

    FPGA的復(fù)位設(shè)計(jì)分析Verilog HDL與RTL圖)

    復(fù)位的目的復(fù)位的基本目的是使器件進(jìn)入到可以穩(wěn)定工作的確定狀態(tài),這避免了器件在上電后進(jìn)入到隨機(jī)狀態(tài)導(dǎo)致跑飛了。在實(shí)際設(shè)計(jì)過程,設(shè)計(jì)者必須選擇最適合于設(shè)計(jì)本身的復(fù)位方式。耳熟能詳?shù)氖?/div>
    發(fā)表于 01-08 06:00

    哪些觸發(fā)器時(shí)鐘有效哪些無效

    觸發(fā)器沒有使用相同的時(shí)鐘信號,需要分析哪些觸發(fā)器時(shí)鐘有效哪些無效分析步驟和同步時(shí)序電路一樣,不過要加上時(shí)鐘信號有關(guān)D
    發(fā)表于 09-06 08:20

    D觸發(fā)器PRN與CLRN區(qū)別在哪

    D觸發(fā)器PRN、CLRN區(qū)別在Quartus II當(dāng)中查看RTL視圖會有PRN和CLRN(CLR)兩個(gè)引腳的區(qū)別PRN是異步置位,可以將輸出Q置為輸入D(輸出Q立馬變成輸入D)CLR
    發(fā)表于 01-11 06:43

    異步復(fù)位信號亞穩(wěn)態(tài)的原因與D觸發(fā)器Verilog描述

    在帶有復(fù)位端的D觸發(fā)器,當(dāng)reset信號“復(fù)位”有效時(shí),它可以直接驅(qū)動最后一級的與非門,令Q端“異步”置位為“1”or“0”。這就是
    發(fā)表于 11-30 09:15 ?1.2w次閱讀
    <b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>信號亞穩(wěn)態(tài)的原因與D<b class='flag-5'>觸發(fā)器</b>的<b class='flag-5'>Verilog</b>描述

    D觸發(fā)器的幾種表示形式同步復(fù)位、同步釋放

    首選我們來聊聊時(shí)序邏輯中最基礎(chǔ)的部分D觸發(fā)器同步異步,同步復(fù)位復(fù)位信號隨系統(tǒng)時(shí)鐘的邊沿
    的頭像 發(fā)表于 07-26 10:17 ?2.6w次閱讀
    D<b class='flag-5'>觸發(fā)器</b>的幾種表示形式<b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>、<b class='flag-5'>同步</b>釋放

    【FPGA】異步復(fù)位,同步釋放的理解

    異步復(fù)位同步釋放的理解目錄目錄 同步復(fù)位異步復(fù)位
    發(fā)表于 01-17 12:53 ?4次下載
    【FPGA】<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>,<b class='flag-5'>同步</b>釋放的理解

    復(fù)位功能的雙 JK 觸發(fā)器;下降沿觸發(fā)-74HC73

    復(fù)位功能的雙 JK 觸發(fā)器;下降沿觸發(fā)-74HC73
    發(fā)表于 02-15 19:33 ?3次下載
    帶<b class='flag-5'>復(fù)位</b><b class='flag-5'>功能</b>的雙 JK <b class='flag-5'>觸發(fā)器</b>;下降沿<b class='flag-5'>觸發(fā)</b>-74HC73

    深度剖析復(fù)位電路

     異步復(fù)位觸發(fā)器則是在設(shè)計(jì)觸發(fā)器的時(shí)候加入了一個(gè)復(fù)位引腳,也就是說**復(fù)位邏輯集成在
    的頭像 發(fā)表于 05-25 15:57 ?1060次閱讀
    深度剖析<b class='flag-5'>復(fù)位</b>電路

    D觸發(fā)器的類型詳解 同步復(fù)位異步復(fù)位D觸發(fā)器講解

    的存儲單元,具有時(shí)鐘同步的特性。其中,D觸發(fā)器是數(shù)字電路設(shè)計(jì)中使用最廣泛的一種觸發(fā)器類型之一,因?yàn)樗哂泻唵?、穩(wěn)定和多功能等優(yōu)點(diǎn)。
    的頭像 發(fā)表于 08-31 10:50 ?1.6w次閱讀
    D<b class='flag-5'>觸發(fā)器</b>的類型詳解 <b class='flag-5'>同步</b><b class='flag-5'>復(fù)位</b>和<b class='flag-5'>異步</b><b class='flag-5'>復(fù)位</b>D<b class='flag-5'>觸發(fā)器</b>講解

    JK觸發(fā)器與T觸發(fā)器Verilog代碼實(shí)現(xiàn)和RTL電路實(shí)現(xiàn)

    JK 觸發(fā)器Verilog 代碼實(shí)現(xiàn)和 RTL 電路實(shí)現(xiàn)
    的頭像 發(fā)表于 10-09 17:29 ?4781次閱讀
    JK<b class='flag-5'>觸發(fā)器</b>與T<b class='flag-5'>觸發(fā)器</b>的<b class='flag-5'>Verilog</b>代碼實(shí)現(xiàn)和<b class='flag-5'>RTL</b>電路實(shí)現(xiàn)

    JK觸發(fā)器的置位和復(fù)位有什么區(qū)別

    JK觸發(fā)器的置位(Set)和復(fù)位(Reset)是其在數(shù)字電路的兩種基本狀態(tài)控制功能,它們在操作原理、輸入條件以及觸發(fā)器輸出狀態(tài)的變化上有所
    的頭像 發(fā)表于 07-27 14:50 ?2179次閱讀
    RM新时代网站-首页