異步復(fù)位
在前面的文章中有過對(duì)于寄存器行為的描述,而復(fù)位方面,在電路設(shè)計(jì)時(shí)建議使用帶異步復(fù)位/置位的寄存器。原因是只要復(fù)位信號(hào)有效,則無論時(shí)鐘是否到來,都會(huì)對(duì)寄存器進(jìn)行復(fù)位,使電路處于一個(gè)穩(wěn)定的狀態(tài)。而復(fù)位信號(hào)釋放后,需要等時(shí)鐘到來,才會(huì)更新數(shù)據(jù)。
當(dāng)異步復(fù)位有效時(shí),無論有沒有時(shí)鐘,寄存器都會(huì)處于復(fù)位狀態(tài),也會(huì)穩(wěn)定輸出,因此沒有過于擔(dān)心的問題。但如果復(fù)位信號(hào)釋放,而此時(shí)D端數(shù)據(jù)與Q端數(shù)據(jù)不一致,那么當(dāng)寄存器時(shí)鐘有效時(shí),就會(huì)更新Q端數(shù)據(jù)。由此也會(huì)出現(xiàn)一個(gè)時(shí)序的要求,也就是recovery/remove timing的時(shí)序要求。
為了確保復(fù)位信號(hào)的使用沒有問題,一般采用以下電路來實(shí)現(xiàn)異步復(fù)位信號(hào)釋放時(shí)與時(shí)鐘的同步處理,以便讓EDA工具自動(dòng)識(shí)別時(shí)序路徑,進(jìn)行時(shí)序分析及時(shí)序優(yōu)化。
這樣操作,我們稱為異步復(fù)位同步釋放??梢宰畲笙薅缺WC時(shí)序的穩(wěn)定性。
以上RCU框圖中的電路,,用Verilog HDL描述如下所示:
同步復(fù)位
有些早期的電路,在設(shè)計(jì)時(shí)使用了同步復(fù)位,而沒有使用異步復(fù)位來進(jìn)行模塊級(jí)復(fù)位管理。原因是早期的EDA工具對(duì)復(fù)位信號(hào)的處理還不是很好,需要像時(shí)鐘一樣做復(fù)位樹來進(jìn)行時(shí)序平衡(當(dāng)時(shí)還沒有recovery/remove的時(shí)序概念),這是為了確保復(fù)位的穩(wěn)定性所作出的犧牲。
如上圖所示,同步復(fù)位Rst實(shí)際上就是DFF的一個(gè)輸入,所以在時(shí)序上直接可以被看做數(shù)據(jù)路徑來處理,這對(duì)于早起的EDA工具來說,是比較友好。
但是我們需要看到一個(gè)問題,那就是所有的寄存器在上電時(shí),輸出都是不可知的結(jié)果。因此需要等待時(shí)鐘有效后,才能確保電路的穩(wěn)定復(fù)位完成,接著再釋放復(fù)位信號(hào)。在當(dāng)今復(fù)雜的SoC系統(tǒng)中,PLL或者片內(nèi)晶體振蕩器何時(shí)穩(wěn)定輸出,且輸出波形正常,是需要一定的管理電路。用不穩(wěn)定來管理不穩(wěn)定,是不可行的。
因此對(duì)于同步復(fù)位的早期遺留電路來說,在外圍做好復(fù)位管理,確保上電后,其輸出不會(huì)影響整個(gè)系統(tǒng),也是可以的。
沒有復(fù)位
有時(shí)候,過于在意面積的電路中,會(huì)使用沒有復(fù)位的寄存器來實(shí)現(xiàn)電路。如下圖所示。
這種情況比較極端,確實(shí)寄存器的面積是比較大的,如果減少?gòu)?fù)位電路,勢(shì)必有較大的面積收益(20%左右)。但這就需要在設(shè)計(jì)的時(shí)候考慮好每個(gè)寄存器復(fù)位值是多少。然后通過輸入,以及一定次數(shù)的時(shí)鐘傳遞,將電路穩(wěn)定復(fù)位。
比如說上面這幅圖,第四級(jí)寄存器,上電后是個(gè)未知輸出,需要4個(gè)時(shí)鐘周期,才能穩(wěn)定到初態(tài)。
這樣的電路如果比較大,則上電后復(fù)位的時(shí)間會(huì)比較久,少則幾十個(gè)時(shí)鐘周期,多則上百上千個(gè)時(shí)鐘周期。而且如果有部分寄存器需要特定初始值,還需要專門送進(jìn)去(可以參考同步復(fù)位的操作)。
混用復(fù)位
以上三種電路復(fù)位的方式,可以混用,在節(jié)省面積、穩(wěn)定復(fù)位以及早期遺留電路集成上,會(huì)有一些幫助。但還是建議能用異步復(fù)位就用異步復(fù)位吧。
-
寄存器
+關(guān)注
關(guān)注
31文章
5301瀏覽量
119862 -
EDA工具
+關(guān)注
關(guān)注
4文章
264瀏覽量
31685 -
晶體振蕩器
+關(guān)注
關(guān)注
9文章
615瀏覽量
29015 -
異步復(fù)位
+關(guān)注
關(guān)注
0文章
46瀏覽量
13298 -
rcu
+關(guān)注
關(guān)注
0文章
21瀏覽量
5435
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論