·亞穩(wěn)態(tài)問題是數(shù)字電路中很重要的問題,因?yàn)楝F(xiàn)實(shí)世界是一個(gè)異步的世界,所以亞穩(wěn)態(tài)是無法避免的,并且亞穩(wěn)態(tài)應(yīng)該也是面試常考的考點(diǎn)。
·時(shí)序電路將觸發(fā)器和鎖存器當(dāng)作存儲元件,但是這兩種器件都受制于一個(gè)稱為亞穩(wěn)定性的狀態(tài)。
亞穩(wěn)態(tài)的原因:
如果鎖存器的一個(gè)輸入脈沖太窄,或兩個(gè)輸入同時(shí)有效,或兩個(gè)輸入間隔過小,那么鎖存器可能進(jìn)入亞穩(wěn)態(tài)。
而如果數(shù)據(jù)在使能輸入沿的周圍不穩(wěn)定,DFF也會進(jìn)入亞穩(wěn)態(tài)。(這個(gè)不穩(wěn)定就是在Tsu和Th內(nèi)信號不穩(wěn)定,或者是復(fù)位)
何時(shí)會發(fā)生亞穩(wěn)態(tài):
因?yàn)榇鎯ζ骷苋菀走M(jìn)入亞穩(wěn)態(tài),所以設(shè)計(jì)時(shí)應(yīng)該考慮使由于亞穩(wěn)態(tài)導(dǎo)致的系統(tǒng)混亂的信號影響最小。
許多想要以同步方式執(zhí)行的物理系統(tǒng)都具有異步輸入信號,而異步信號時(shí)間不可控,所以極易出現(xiàn)亞穩(wěn)態(tài)的情況。
·那么何為異步信號?
·異步信號就是不能由時(shí)鐘控制,或者如果它是由不同域中的時(shí)鐘同步的。
亞穩(wěn)態(tài)危害:
因?yàn)閬喎€(wěn)態(tài)時(shí)不確定是0還是1,所以信號會在0,1之間震蕩,就會邏輯混亂。而在復(fù)位電路中產(chǎn)生亞穩(wěn)態(tài)會使復(fù)位失敗。
一般同步信號下不會出現(xiàn)亞穩(wěn)態(tài),亞穩(wěn)態(tài)一般出現(xiàn)在異步信號和跨時(shí)鐘域的情況下。
1) 在跨時(shí)鐘域的情況下,由于兩端的時(shí)鐘相移未知,所以在源寄存器發(fā)出的信號可能在任何情況下到目標(biāo)寄存器,無法確定滿足Tsu和Th的要求。
2) 異步信號的輸入也是同理,不確定信號在什么時(shí)候到達(dá)。
異步復(fù)位的亞穩(wěn)態(tài)
恢復(fù)時(shí)間(T recovery):
指的的異步信號發(fā)生時(shí)離下一個(gè)clk之間的最短時(shí)間,如果異步信號的有效沿在恢復(fù)時(shí)間內(nèi)就沒有留給寄存器足夠的時(shí)間去恢復(fù)正常,就會出現(xiàn)亞穩(wěn)態(tài)。
去除時(shí)間(T removal):
指的是當(dāng)前clk過去變無效的時(shí)間,如果異步信號發(fā)生在去除時(shí)間內(nèi),就會無法屏蔽這個(gè)clk,可能這個(gè)時(shí)鐘仍會起作用,沒有達(dá)到復(fù)位的效果,這也是亞穩(wěn)態(tài)。
·這些情況都指的是異步信號能夠直接改變寄存器的情況。
同步復(fù)位的亞穩(wěn)態(tài)
大部分資料表明同步復(fù)位電路不會發(fā)生亞穩(wěn)態(tài),其實(shí)同步電路也會發(fā)生,只是幾率小于異步電路。
例如這個(gè)電路,din為1時(shí),如果rst無效沿在Tsu和Th內(nèi),依舊會產(chǎn)生亞穩(wěn)態(tài)的情況。
所以說有異步信號的電路都有亞穩(wěn)態(tài)發(fā)生的機(jī)率。
亞穩(wěn)態(tài)發(fā)生概率
·亞穩(wěn)態(tài)發(fā)生情況都是同步信號不滿足set-time,hold-time或者異步信號不滿足恢復(fù)和移除時(shí)間。
·概率=(set-time + hold-time)/周期
可以看出隨著頻率變高,亞穩(wěn)態(tài)的概率會隨之變大。
所以可以通過減小頻率,或者使用更好工藝的FPGA來減小Ts和Th。
因?yàn)閷?shí)驗(yàn)表明帶異步輸入的電路故障修復(fù)的平均時(shí)間與退出亞穩(wěn)態(tài)條件所用的時(shí)間成指數(shù)關(guān)系,所以依靠同步裝置創(chuàng)建一個(gè)用于從亞穩(wěn)態(tài)條件恢復(fù)到正常的緩沖器,可以大大減少電路故障可能性。
一直看到資料說一級寄存器產(chǎn)生亞穩(wěn)態(tài)后,兩級就90%沒有亞穩(wěn)態(tài),三級就99%沒有,一直沒搞懂為什么,現(xiàn)在仔細(xì)梳理一下。
因?yàn)榈谝患壆a(chǎn)生亞穩(wěn)態(tài)后,通過Tmet(決斷時(shí)間)后會穩(wěn)定成一個(gè)值,但是也有可能Tmet過長,產(chǎn)生第二級的亞穩(wěn)態(tài)。
亞穩(wěn)態(tài)振蕩時(shí)間Tmet
亞穩(wěn)態(tài)震蕩時(shí)間Tmet關(guān)系到后級寄存器的采集穩(wěn)定問題,Tmet影響因素包括:器件的生產(chǎn)工藝、溫度、環(huán)境以及寄存器采集到亞穩(wěn)態(tài)離穩(wěn)定態(tài)的時(shí)刻等。甚至某些特定條件,如干擾、輻射等都會造成Tmet增長。
常用的消除亞穩(wěn)態(tài)的三種辦法
1) 對異步信號進(jìn)行同步處理
2) 采用FIFO對跨時(shí)鐘域數(shù)據(jù)通信進(jìn)行緩沖處理
3) 對復(fù)位電路采用異步復(fù)位,同步釋放處理
編輯:黃飛
?
評論