為什么需要復(fù)位樹
復(fù)位信號在數(shù)字電路里面的重要性僅次于時鐘信號。對一個芯片來說,復(fù)位的主要目的是使芯片電路進入一個已知的,確定的狀態(tài)。主要是觸發(fā)器進入確定的狀態(tài)。在一般情況下,芯片中的每個觸發(fā)器都應(yīng)該是可復(fù)位的。在某些情況下,當(dāng)在高速應(yīng)用程序中使用流水線觸發(fā)器(移位寄存器觸發(fā)器)時,為了實現(xiàn)更高的性能設(shè)計,可能會從某些觸發(fā)器中消除復(fù)位。這種類型設(shè)計需要在復(fù)位激活期間,運行預(yù)先確定數(shù)量的時鐘周期,以使芯片處于已知的狀態(tài)。
復(fù)位樹是復(fù)位電路形成的類似于時鐘樹的樹狀結(jié)構(gòu),因為復(fù)位信號也要送到各個寄存器上。復(fù)位樹和時鐘樹一樣應(yīng)該引起重視,因為典型的數(shù)字電路中,reset的負(fù)載和clock的負(fù)載數(shù)量一般是相當(dāng)?shù)摹2还苁峭綇?fù)位還是異步復(fù)位,對復(fù)位樹都是有時序要求的。
復(fù)位信號用什么電路產(chǎn)生
POR是上電復(fù)位電路(Power-On Reset),廣泛應(yīng)用于各種數(shù)字電路和系統(tǒng)中。上電復(fù)位電路就是在電源電壓上升過程中一直保持低電平(有效復(fù)位電平),直到電源電壓穩(wěn)定達(dá)到系統(tǒng)規(guī)定的正常工作電壓后才迅速產(chǎn)生一個高電平(無效復(fù)位電平)。在復(fù)位信號電平發(fā)生翻轉(zhuǎn)時,電源所上升到的電壓值被稱作復(fù)位電路的“起拉電壓”。
上圖是一種基于RC網(wǎng)絡(luò)實現(xiàn)的簡單復(fù)位電路,復(fù)位信號在上電開始的一段時間內(nèi)保持低電平接近零伏),隨著電源電壓Vcc通過電阻R1對電容器C1充電,當(dāng)電容上極板的電壓達(dá)到一定高位后觸發(fā)后級門電路,復(fù)位信號隨即輸出高電平。
如下圖所示,復(fù)位信號源也是CRG(時鐘復(fù)位信號產(chǎn)生模塊)的重要組成部分。
復(fù)位實現(xiàn)主要有同步復(fù)位和異步復(fù)位兩種方式,兩種方式使用的寄存器結(jié)構(gòu)和復(fù)位樹結(jié)構(gòu)都不相同。
同步復(fù)位
同步復(fù)位采用下圖所示的寄存器電路,復(fù)位信號和數(shù)據(jù)信號通過組合邏輯接入到寄存器的數(shù)據(jù)輸入端,二者共用時鐘信號,復(fù)位也必須在時鐘有效沿下才能生效。
同步復(fù)位的優(yōu)點:1、同步復(fù)位可以確保整個電路為同步電路;2、同步復(fù)位對復(fù)位信號毛刺不敏感,可以過濾掉復(fù)位信號的毛刺;3、同步復(fù)位相比于異步復(fù)位而言會綜合成更小的觸發(fā)器。
同步復(fù)位的缺點:1、同步復(fù)位要求復(fù)位脈沖信號要盡可能的寬,必要的時候需要對復(fù)位信號進行脈沖展寬,從而保證復(fù)位信號能夠出現(xiàn)在時鐘有效沿到來時;2、同步復(fù)位需要保證時鐘存在才能對電路進行復(fù)位,在某些使用時鐘門控節(jié)約功耗的場景下,由于沒有時鐘,可能會造成復(fù)位失效,此時必須使用異步復(fù)位。
異步復(fù)位
下圖是一種異步復(fù)位采用的寄存器結(jié)構(gòu),將邊沿觸發(fā)器的非門替換為或非門。SD=RD=0時為工作態(tài);SD=1&RD=0為置1態(tài);SD=0&RD=1為置0態(tài)。該寄存器的復(fù)位生效不需要依賴于時鐘有效沿。
異步復(fù)位的優(yōu)點:1、異步復(fù)位具有最高優(yōu)先級,不管有沒有時鐘都能正確復(fù)位,綜合工具能夠自動推斷出異步復(fù)位而不需要添加額外綜合參數(shù)。2、生產(chǎn)商所提供的單元庫中帶有異步復(fù)位觸發(fā)器,可以保證數(shù)據(jù)路徑干凈,可以減小路徑延時,緩解時序緊張。
異步復(fù)位的缺點:1、異步復(fù)位使整個系統(tǒng)不再是同步系統(tǒng),異步復(fù)位在時鐘有效沿附近釋放需要滿足移除時間和恢復(fù)時間的時序要求,如果不滿足即會出現(xiàn)亞穩(wěn)態(tài)。2、異步復(fù)位對復(fù)位信號的毛刺比較敏感,需要設(shè)計專門的毛刺過濾器來對復(fù)位毛刺進行消除。
異步復(fù)位,同步恢復(fù):所有的復(fù)位信號是用兩集同步器的第二級 reg送到后來的reg系列,這個reg和后面的所有reg系列都有recover和removal timing check。
一般復(fù)位信號送到芯片內(nèi)部之前需要經(jīng)過同步處理,一般使用兩級同步器。兩級同步器是1防止reset中的glitch導(dǎo)致reg錯誤反轉(zhuǎn);2防止復(fù)位移除時剛好處于時鐘跳變邊沿導(dǎo)致亞穩(wěn)態(tài),所以把reset信號通過同步電路變成clk clock這個group中的一級信號,同步化。
所以對于異步復(fù)位同步恢復(fù),復(fù)位時鐘樹不用單獨處理,同步器的reg和功能reg自己做平。復(fù)位時時鐘頻率也可以拉低,比較容易滿足時序要求。