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

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

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

RTL復(fù)位信號的設(shè)計和時序

冬至子 ? 來源:梧桐芯語 ? 作者:孫榮榮 ? 2023-07-13 17:33 ? 次閱讀

異步復(fù)位

在前面的文章中有過對于寄存器行為的描述,而復(fù)位方面,在電路設(shè)計時建議使用帶異步復(fù)位/置位的寄存器。原因是只要復(fù)位信號有效,則無論時鐘是否到來,都會對寄存器進行復(fù)位,使電路處于一個穩(wěn)定的狀態(tài)。而復(fù)位信號釋放后,需要等時鐘到來,才會更新數(shù)據(jù)。

圖片

圖片

當(dāng)異步復(fù)位有效時,無論有沒有時鐘,寄存器都會處于復(fù)位狀態(tài),也會穩(wěn)定輸出,因此沒有過于擔(dān)心的問題。但如果復(fù)位信號釋放,而此時D端數(shù)據(jù)與Q端數(shù)據(jù)不一致,那么當(dāng)寄存器時鐘有效時,就會更新Q端數(shù)據(jù)。由此也會出現(xiàn)一個時序的要求,也就是recovery/remove timing的時序要求。

圖片

為了確保復(fù)位信號的使用沒有問題,一般采用以下電路來實現(xiàn)異步復(fù)位信號釋放時與時鐘的同步處理,以便讓EDA工具自動識別時序路徑,進行時序分析及時序優(yōu)化。

圖片

這樣操作,我們稱為異步復(fù)位同步釋放。可以最大限度保證時序的穩(wěn)定性。

圖片

以上RCU框圖中的電路,,用Verilog HDL描述如下所示:

1.jpg

同步復(fù)位

有些早期的電路,在設(shè)計時使用了同步復(fù)位,而沒有使用異步復(fù)位來進行模塊級復(fù)位管理。原因是早期的EDA工具對復(fù)位信號的處理還不是很好,需要像時鐘一樣做復(fù)位樹來進行時序平衡(當(dāng)時還沒有recovery/remove的時序概念),這是為了確保復(fù)位的穩(wěn)定性所作出的犧牲。

圖片

如上圖所示,同步復(fù)位Rst實際上就是DFF的一個輸入,所以在時序上直接可以被看做數(shù)據(jù)路徑來處理,這對于早起的EDA工具來說,是比較友好。

但是我們需要看到一個問題,那就是所有的寄存器在上電時,輸出都是不可知的結(jié)果。因此需要等待時鐘有效后,才能確保電路的穩(wěn)定復(fù)位完成,接著再釋放復(fù)位信號。在當(dāng)今復(fù)雜的SoC系統(tǒng)中,PLL或者片內(nèi)晶體振蕩器何時穩(wěn)定輸出,且輸出波形正常,是需要一定的管理電路。用不穩(wěn)定來管理不穩(wěn)定,是不可行的。

因此對于同步復(fù)位的早期遺留電路來說,在外圍做好復(fù)位管理,確保上電后,其輸出不會影響整個系統(tǒng),也是可以的。

沒有復(fù)位

有時候,過于在意面積的電路中,會使用沒有復(fù)位的寄存器來實現(xiàn)電路。如下圖所示。

圖片

這種情況比較極端,確實寄存器的面積是比較大的,如果減少復(fù)位電路,勢必有較大的面積收益(20%左右)。但這就需要在設(shè)計的時候考慮好每個寄存器復(fù)位值是多少。然后通過輸入,以及一定次數(shù)的時鐘傳遞,將電路穩(wěn)定復(fù)位。

比如說上面這幅圖,第四級寄存器,上電后是個未知輸出,需要4個時鐘周期,才能穩(wěn)定到初態(tài)。

這樣的電路如果比較大,則上電后復(fù)位的時間會比較久,少則幾十個時鐘周期,多則上百上千個時鐘周期。而且如果有部分寄存器需要特定初始值,還需要專門送進去(可以參考同步復(fù)位的操作)。

混用復(fù)位

以上三種電路復(fù)位的方式,可以混用,在節(jié)省面積、穩(wěn)定復(fù)位以及早期遺留電路集成上,會有一些幫助。但還是建議能用異步復(fù)位就用異步復(fù)位吧。

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

    關(guān)注

    31

    文章

    5295

    瀏覽量

    119824
  • EDA工具
    +關(guān)注

    關(guān)注

    4

    文章

    264

    瀏覽量

    31674
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59666
  • 晶體振蕩器
    +關(guān)注

    關(guān)注

    9

    文章

    613

    瀏覽量

    29014
  • SoC系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    10655
收藏 人收藏

    評論

    相關(guān)推薦

    復(fù)位信號是什么意思?復(fù)位信號的作用?詳解Xilinx FPGA復(fù)位信號那些事

    復(fù)位信號幾乎是除了時鐘信號外最常用的信號了,幾乎所有數(shù)字系統(tǒng)在上電的時候都會進行復(fù)位,這樣才能保持設(shè)計者確定該系統(tǒng)的系統(tǒng)模式的狀態(tài),以便于更
    的頭像 發(fā)表于 07-27 09:48 ?8084次閱讀
    <b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>是什么意思?<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>的作用?詳解Xilinx FPGA<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>那些事

    淺析復(fù)位信號的設(shè)計和時序

    在前面的文章中有過對于寄存器行為的描述,而復(fù)位方面,在電路設(shè)計時建議使用帶異步復(fù)位/置位的寄存器。
    的頭像 發(fā)表于 08-01 16:04 ?2754次閱讀
    淺析<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>的設(shè)計和<b class='flag-5'>時序</b>

    【皮特派】RTL復(fù)位信號怎么選

    RTL行業(yè)芯事cpu/soc經(jīng)驗分享
    皮特派
    發(fā)布于 :2022年03月21日 11:35:11

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

    ,分別介紹如下:同步復(fù)位同步復(fù)位就是指復(fù)位信號只有在時鐘上升沿到來時,才能有效。同步復(fù)位的Verilog]綜合后的
    發(fā)表于 01-08 06:00

    時序邏輯等效性的RTL設(shè)計和驗證流程介紹

    關(guān)于時序邏輯等效性的RTL設(shè)計和驗證流程介紹。
    發(fā)表于 04-28 06:13

    單片機上電復(fù)位復(fù)位延時的時序分析

    單片機上電復(fù)位復(fù)位延時的時序分析
    發(fā)表于 01-24 16:15 ?18次下載

    FPGA設(shè)計中層次結(jié)構(gòu)設(shè)計和復(fù)位策略影響著FPGA的時序

    FPGA設(shè)計中,層次結(jié)構(gòu)設(shè)計和復(fù)位策略影響著FPGA的時序。在高速設(shè)計時,合理的層次結(jié)構(gòu)設(shè)計與正確的復(fù)位策略可以優(yōu)化時序,提高運行頻率。
    發(fā)表于 02-15 15:15 ?991次閱讀

    Xilinx復(fù)位信號設(shè)計原則

    復(fù)位信號設(shè)計的原則是盡量不包含不需要的復(fù)位信號,如果需要,考慮使用局部復(fù)位和同步復(fù)位。
    發(fā)表于 10-27 10:09 ?1878次閱讀
    Xilinx<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>設(shè)計原則

    什么時候什么地方使用復(fù)位

    對于很多新入門工程師來講,很少會評估是否需要復(fù)位信號,絕大所數(shù)都是使用提供的模板,對所有的信號進行復(fù)位,盡管可能不是那么必要,如果是這樣會增加資源,對
    的頭像 發(fā)表于 09-05 14:50 ?1119次閱讀

    FPGA入門之功能描述-時序邏輯

    時序邏輯的代碼一般有兩種: 同步復(fù)位時序邏輯和異步復(fù)位時序邏輯。在同步復(fù)位
    的頭像 發(fā)表于 03-21 10:47 ?598次閱讀

    FPGA設(shè)計使用復(fù)位信號應(yīng)遵循原則

    FPGA設(shè)計中幾乎不可避免地會用到復(fù)位信號,無論是同步復(fù)位還是異步復(fù)位。我們需要清楚的是復(fù)位信號
    發(fā)表于 03-30 09:55 ?1235次閱讀

    在高速設(shè)計中跨多個FPGA分配復(fù)位信號

    SoC設(shè)計中通常會有“全局”同步復(fù)位,這將影響到整個設(shè)計中的大多數(shù)的時序設(shè)計模塊,并在同一時鐘沿同步釋放復(fù)位。
    發(fā)表于 05-18 09:55 ?216次閱讀
    在高速設(shè)計中跨多個FPGA分配<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>

    復(fù)位電路設(shè)計分析

    、FPGA 系統(tǒng),凡是有時序要求的數(shù)字邏輯電路系統(tǒng),都需要復(fù)位信號。復(fù)位狀態(tài)通常是一個電路系統(tǒng)的初始條件,復(fù)位
    的頭像 發(fā)表于 05-25 14:48 ?4800次閱讀
    <b class='flag-5'>復(fù)位</b>電路設(shè)計分析

    MBIST邏輯的復(fù)位信號怎么來的?

    jtag端口的復(fù)位信號jtag_trst用于復(fù)位TAP狀態(tài)機模塊,該復(fù)位信號可選。
    的頭像 發(fā)表于 05-25 15:09 ?942次閱讀
    MBIST邏輯的<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>怎么來的?

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

     異步復(fù)位觸發(fā)器則是在設(shè)計觸發(fā)器的時候加入了一個復(fù)位引腳,也就是說**復(fù)位邏輯集成在觸發(fā)器里面**。(一般情況下)低電平的復(fù)位信號到達(dá)觸發(fā)器
    的頭像 發(fā)表于 05-25 15:57 ?1013次閱讀
    深度剖析<b class='flag-5'>復(fù)位</b>電路