亞穩態(tài):數字電路中的"幽靈"陷阱
在電子設計領(lǐng)域,亞穩態(tài)問(wèn)題是一個(gè)關(guān)鍵且復雜的挑戰,它影響著(zhù)數字電路的穩定性和可靠性。深入理解亞穩態(tài)的發(fā)生機制及有效解決方法,是電子工程師必備的技能。本文將系統地闡述亞穩態(tài)問(wèn)題,從數字電路的基本工作原理入手,逐步深入到亞穩態(tài)的產(chǎn)生、危害及預防措施,旨在為工程師們提供全面且清晰的亞穩態(tài)分析視角。
本文引用地址:http://dyxdggzs.com/article/202502/466813.htm一、CMOS器件基礎與信號傳輸特性
1.1 MOS管電容模型與信號延遲
RC充放電模型:PN結電容與導通電阻構成充放電回路,RpCL與RnCL差異導致上升/下降時(shí)間不對稱(chēng)
信號傳播本質(zhì):所有邏輯門(mén)存在固有傳輸延遲(典型反相器結構如圖1)
動(dòng)態(tài)功耗控制:結點(diǎn)電容充放電決定功耗,使能控制可優(yōu)化能效
CMOS 中的信息保存
在數字電路中,CMOS 工藝晶體管的工作機制是理解亞穩態(tài)問(wèn)題的基礎。當晶體管制造完成后,不同極之間因介電物質(zhì)形成電容,工作時(shí)這些電容會(huì )充放電,充放電回路上的 R、C 值決定了回路的時(shí)間常數(RC)。
以 CMOS 工藝中的反向器為例,它由一個(gè) NMOS 和一個(gè) PMOS 組成,可簡(jiǎn)化為工作電阻 Ron 和結點(diǎn)電容 CL 構成的充放電電路。當輸入為 0 時(shí),PMOS 導通對 CL 充電,時(shí)間由 RpCL 決定;輸入為 1 時(shí),NMOS 導通對 CL 放電,時(shí)間由 RnCL 決定。CL 由 P/NMOS 漏極結點(diǎn)上所有相關(guān)電容組成,這是一種近似計算方法(將分布電容集總)。
從反向器的工作原理,我們可以得出幾個(gè)重要結論:
任何信號從輸入端口傳遞到輸出端口都需要時(shí)間。
對 CL 的充放電影響系統的動(dòng)態(tài)(翻轉)功耗,降低功耗可對不使用的信號添加使能。
由于 Rp!= Rn,所以 RpCL!= RnCL,即 rising time!= falling time。
對于分析亞穩態(tài)問(wèn)題,關(guān)鍵是要記住信號傳輸需要時(shí)間這一點(diǎn),其他門(mén)電路的分析過(guò)程與之類(lèi)似。
1.2 時(shí)序器件工作機制
D鎖存器特性
電平敏感特性:使能信號有效期間直接傳遞輸入
建立過(guò)程震蕩:輸入變化引發(fā)內部反饋競爭
主從D觸發(fā)器架構
兩級鎖存串聯(lián)實(shí)現邊沿觸發(fā)
關(guān)鍵時(shí)序參數:
Tsetup:采樣窗口前邊界
Thold:采樣窗口后邊界
Tcko:時(shí)鐘到輸出穩定時(shí)間
建立時(shí)間(Tsu:setup time)是指在觸發(fā)器的時(shí)鐘信號上升沿到來(lái)以前,數據穩定不變的時(shí)間,如果建立時(shí)間不夠,數據將不能在這個(gè)時(shí)鐘上升沿被穩定的打入觸發(fā)器,Tsu就是指這個(gè)最小的穩定時(shí)間。
保持時(shí)間(Th:hold time)是指在觸發(fā)器的時(shí)鐘信號上升沿到來(lái)以后,數據穩定不變的時(shí)間,如果保持時(shí)間不夠,數據同樣不能被穩定的打入觸發(fā)器,Th就是指這個(gè)最小的保持時(shí)間。
SETUP/HOLD 時(shí)間的意義
S/H 時(shí)間是時(shí)序器件的重要屬性,了解其產(chǎn)生機制對于理解亞穩態(tài)至關(guān)重要。
任何器件原則上都是電平有效的,邊沿觸發(fā)的器件是在此基礎上實(shí)現的一種 “把戲”。以 D 鎖存器為例,當 E 維持在高電平時(shí),D 端輸入值 D0,該值從 D 端與非門(mén)進(jìn)入器件,會(huì )有延遲,再加上反饋信號的不一致,使得 Q 端輸出電壓在建立過(guò)程中存在 “不穩定階段”,即 Setup time。這個(gè)不穩定階段的長(cháng)度與器件傳輸時(shí)延、D 端輸入電平、Q 端初始電平有關(guān)(假設 E 端電平不變),起始位置在 D 開(kāi)始有效的那一點(diǎn)。
鎖存器
上升沿有效的D觸發(fā)器(DFF)
在時(shí)序電路中常用的 D 觸發(fā)器,由 D 鎖存器等電平器件組成。以典型的上升沿有效的 D 觸發(fā)器模型為例,從時(shí)鐘端口上升沿(50%)開(kāi)始,到窗口時(shí)間前面那一點(diǎn)結束,這段時(shí)間是 DFF 的設置時(shí)間;從時(shí)鐘端口上升沿開(kāi)始,到窗口時(shí)間后面那一點(diǎn)結束,是 DFF 的保存時(shí)間;從時(shí)鐘端口上升沿開(kāi)始,到輸出點(diǎn) Q 穩定結束,是 DFF 的 clock to output 時(shí)間,可用 Tcko、Tco 表示。
通常,高速器件的時(shí)間窗口非常小。在純時(shí)序器件前端加上組合邏輯,會(huì )占用傳輸時(shí)間,導致采樣窗口相對時(shí)鐘上升沿提前,當采樣窗口尾部提前到時(shí)鐘上升沿之前時(shí),就會(huì )出現負保持時(shí)間(設置時(shí)間永遠在上升沿前面,永遠是正的),這說(shuō)明 “不純的時(shí)序器件內部的組合邏輯的傳輸時(shí)間” 大于 “純時(shí)序器件原來(lái)的保持時(shí)間的絕對值”。
從以上分析可以得出:
主從結構的時(shí)序器件的 S/H 時(shí)間和其內部第一級鎖存結構的設置時(shí)間,以及其可能含有的 Inverter 的傳輸時(shí)間有關(guān)。
主從結構的時(shí)序期間的 CKO 時(shí)間和其內部第二級鎖存結構的設置時(shí)間,以及其可能含有的 Inverter 的傳輸時(shí)間有關(guān)。
主從結構的時(shí)序器件的第一級鎖存結構的設置時(shí)間是影響其采樣窗口的主要因素,數據在這個(gè)采樣窗口被捕獲進(jìn)觸發(fā)器。
任何在采樣窗口時(shí)間內的電平異常,都可能引起采樣異常,這是導致亞穩態(tài)的最根本原因。
二、亞穩態(tài)本質(zhì)與觸發(fā)機制
2.1 亞穩態(tài)物理成因
中間電平鎖定:采樣窗口內輸入變化導致鎖存器進(jìn)入正反饋競爭狀態(tài)
噪聲敏感性:熱噪聲可能打破平衡,導致輸出隨機化
亞穩態(tài)的產(chǎn)生
從器件角度看,在采樣窗口時(shí)間內,如果輸入電平不穩定,就可能導致亞穩態(tài)。以 D 觸發(fā)器為例,當 DFF 第一級的 E 關(guān)斷時(shí),D 點(diǎn)的不同輸入電平會(huì ) “定格”,這個(gè)初始值會(huì )影響第一級鎖存器的設置時(shí)間或決斷時(shí)間。若初始值恰好在中間電平,第一層與非門(mén)的輸出端達到應有的電平高度所需時(shí)間會(huì )變長(cháng),加上互相反饋輸入的聯(lián)合影響,整個(gè)鎖存器的設置時(shí)間都會(huì )被拉長(cháng)。
由于系統存在噪聲,加上噪聲會(huì )導致最后的電平與輸入邏輯無(wú)關(guān)。但鎖存器件有正反饋效應,初始信號越清晰,輸出信號越快設置好,受噪聲影響越小,從概率上講,決斷時(shí)間不會(huì )無(wú)限長(cháng)。然而,不加控制的不穩定電平可能對后面器件的電平設置帶來(lái)不可預測的后果。
從上述分析可知:
采樣窗口越小,采樣異常的可能性越小,但隨著(zhù)系統時(shí)鐘越來(lái)越快,采樣窗口所占時(shí)鐘周期的比例變化不大(數量級變化)。
保證采樣窗口內的數據絕對穩定,可完全避免亞穩態(tài),但在有異步電路或跨時(shí)鐘域的情況下,很難做到。
亞穩態(tài)有兩種危害,即 “輸出較長(cháng)時(shí)間的不穩定電平” 和 “邏輯錯誤”。
從 RTL 級來(lái)看,亞穩態(tài)的產(chǎn)生主要與 S/H 時(shí)間違約有關(guān)。
2.2 時(shí)序違規類(lèi)型
Setup違例
組合邏輯延遲過(guò)長(cháng),數據未在采樣窗口前穩定
解決方法:降低時(shí)鐘頻率/優(yōu)化關(guān)鍵路徑/流水線(xiàn)分割
Hold違例
組合邏輯延遲過(guò)短,新數據過(guò)早破壞前次采樣
解決方法:插入緩沖器增加路徑延遲
相同時(shí)鐘域內的亞穩態(tài) ——S/H 時(shí)間違約
設置時(shí)間違約(setup time violation):在兩個(gè)相鄰的 DFF 中間,如果有一條很長(cháng)很復雜的組合邏輯器件鏈條,從前一級 DFF 出發(fā)的數據經(jīng)過(guò)很久才能在后一級 DFF 的輸入端穩定下來(lái),甚至接近時(shí)鐘周期。當信號在采樣窗口開(kāi)始之后才穩定,DFF 第一級沒(méi)有足夠時(shí)間正確設置電平,就會(huì )導致亞穩態(tài)。這種情況是由于組合邏輯傳輸時(shí)間過(guò)長(cháng)引起的,設計時(shí)只需考察最長(cháng)的那些路徑。
保持時(shí)間違約(hold time violation):在第一周期上升沿,從前一級觸發(fā)器出發(fā)的 D0 到達下一級(接近下一周期上升沿),此時(shí)在第二周期上升沿,從前一級觸發(fā)器出發(fā)的 D1 經(jīng)過(guò)很短路徑到達下一級。若這個(gè)傳輸時(shí)間小于保持時(shí)間,D1 會(huì )在上一個(gè) D0 還未完全結束采樣時(shí)破壞采樣,從而產(chǎn)生保持時(shí)間違約。這種情況是由于組合邏輯傳輸時(shí)間過(guò)短引起的,設計時(shí)只需考察最短的那些路徑。
針對 S/H 時(shí)間違約的預防辦法:
設置時(shí)間違約:這是 ASIC 時(shí)序分析中的主要問(wèn)題。若從最長(cháng)路徑上傳來(lái)的信號到達太晚,錯過(guò)采樣窗口,可采取以下措施:
增加時(shí)鐘周期長(cháng)度,但會(huì )導致整體速度下降,一般不采用。
重新分配關(guān)鍵路徑,將過(guò)長(cháng)路徑中的一部分組合邏輯分離出來(lái),放到相鄰時(shí)序級或單獨形成一級(如 CPU 中的多級流水技術(shù)),前提是不破壞邏輯功能和系統功能。
若上述方法不可行,只能從組合邏輯的結構上下手,調整結構。
保持時(shí)間違約:處理方法是讓信號更晚到達下一級輸入端口,以防止對上一個(gè)數據造成影響。通常的做法是在傳輸路徑上增加 buffer,buffer 由兩個(gè)反相器構成,不影響邏輯功能,只增加延遲。當信號線(xiàn)過(guò)長(cháng)時(shí),buffer 還可增強輸出端的驅動(dòng)能力,分割長(cháng)信號線(xiàn)進(jìn)行 “分段驅動(dòng)”。
時(shí)鐘相位/頻率無(wú)確定關(guān)系導致采樣窗口隨機重疊
MTBF模型:失效率=時(shí)鐘頻率×數據變化率×e^(-Tr/τ)
同步器:將幾個(gè)用本地時(shí)鐘驅動(dòng)的時(shí)序器件串聯(lián)起來(lái)采樣輸入的異步數據。當第一級時(shí)序器件出現亞穩態(tài)時(shí),其輸出的不穩定中間值在第二級采樣窗口到來(lái)時(shí),仍處在可使第二級出現亞穩態(tài)的電平范圍內的概率會(huì )變小,若再加上第三級,這個(gè)概率幾乎可忽略不計。多個(gè)時(shí)序器件串聯(lián),總概率是各自概率的積,可降低不穩定時(shí)間,使輸出電平穩定時(shí)間接近時(shí)鐘周期。但邏輯上無(wú)法消除亞穩態(tài)的影響,MTBF = 1/(失效率 1× 失效率 2×…× 失效率 n),兩個(gè) DFF 串聯(lián)時(shí),基本可保證 MTBF 很大。此方法用于控制信號時(shí),若采樣失效可多等待幾個(gè)周期保證有效采樣;用于數據信號時(shí),很難保證無(wú)差錯傳輸。
異步 FIFO 與握手協(xié)議:用于傳輸對傳輸質(zhì)量要求較高的數據信號,主要用在跨時(shí)鐘域傳輸中。異步 FIFO 是一種總線(xiàn)思維,結構相對簡(jiǎn)單;握手協(xié)議是一種邏輯方法,與 TCP 握手類(lèi)似。
延遲鎖定環(huán) Delay locked loop(DLL):在跨時(shí)鐘域傳輸模式下,通過(guò)統計交界面上信號的有效時(shí)間與發(fā)送源時(shí)鐘信號周期的相對關(guān)系,將目的地時(shí)鐘信號與發(fā)送源時(shí)鐘信號的延遲關(guān)系進(jìn)行鎖定,保證在目的地的采樣周期永遠在信號有效的時(shí)間范圍內,實(shí)現兩個(gè)非同步時(shí)鐘的同步。
異步復位同步釋放:復位撤銷(xiāo)時(shí)通過(guò)本地時(shí)鐘同步
復位毛刺濾波:施密特觸發(fā)器整形
由于亞穩態(tài)的出現是概率現象,為便于估算其危害程度,提出了 “平均無(wú)故障時(shí)間” MTBF,MTBF = 1 / 失效率。
三、跨時(shí)鐘域同步挑戰
3.1 異步接口風(fēng)險
對于相同時(shí)鐘域內的時(shí)鐘樹(shù),不同點(diǎn)存在相位差別,可通過(guò)計算時(shí)鐘信號線(xiàn)長(cháng)度進(jìn)行預測,并通過(guò)時(shí)鐘域內的時(shí)鐘樹(shù)綜合算法求得優(yōu)化結構,相對較好解決。
對于跨時(shí)鐘域通信和異步同步通信,情況更為復雜??鐣r(shí)鐘域是一種異步同步通信,兩個(gè)時(shí)鐘域內的時(shí)鐘沒(méi)有必然的頻率和相位關(guān)系。工程上采用 “各自獨立分析優(yōu)化,在此基礎上進(jìn)行互相通信設計”。
同步異步交界面的亞穩態(tài)
在同步異步交界面或跨時(shí)鐘域的交界面上,外部發(fā)來(lái)的數據到達時(shí)間與本地時(shí)鐘很難產(chǎn)生必然的時(shí)序關(guān)系,即外部數據在本地輸入端口的穩定時(shí)間與本地時(shí)序器件的采樣窗口在時(shí)序上沒(méi)有必然聯(lián)系,從而導致亞穩態(tài)問(wèn)題。
解決此問(wèn)題的關(guān)鍵是保證本地時(shí)序器件的采樣窗口內所接受到的數據是絕對穩定的,但這極其困難。對于異步同步交界面,異步數據與本地同步信號無(wú)聯(lián)系,原則上無(wú)法保證穩定采樣;對于跨時(shí)鐘域的交界面,兩個(gè)時(shí)鐘的相位和頻率無(wú)必然聯(lián)系,同樣原則上無(wú)法保證穩定采樣。
常用的解決辦法如下:
四、特殊場(chǎng)景亞穩態(tài)防護
4.1 復位信號處理
復位信號由于是在隨機狀態(tài)下產(chǎn)生的,對系統的影響及分析過(guò)程與異步同步交界面的亞穩態(tài)問(wèn)題類(lèi)似。當理解亞穩態(tài)的形成機制后,再理解復位信號可能導致的亞穩態(tài)問(wèn)題就變得非常簡(jiǎn)單。
總結
亞穩態(tài)產(chǎn)生的主要原因是在時(shí)序器件的采樣窗口內,無(wú)法保證輸入信號始終保持在一個(gè)穩定的電平上。為解決亞穩態(tài)問(wèn)題,我們可通過(guò)減小采樣窗口來(lái)增加采樣成功率(如使用邊沿觸發(fā)器件),或通過(guò)對采樣窗口或輸入數據的穩定窗口的 “移動(dòng)” 來(lái)保證采樣成功。但在有異步信號參與時(shí),問(wèn)題的解決變得異常復雜,目前還沒(méi)有一種通用、有效、可行的解決方法。然而,通過(guò)深入探討亞穩態(tài)形成機制,我們能夠從工程角度更好地解決實(shí)際項目中可能出現的具體亞穩態(tài)問(wèn)題。
在電子設計中,亞穩態(tài)問(wèn)題的解決需要綜合考慮電路結構、信號特性和系統要求等多方面因素。通過(guò)不斷深入研究和實(shí)踐,工程師們能夠在面對亞穩態(tài)挑戰時(shí),做出更合理的設計決策,確保數字電路系統的穩定可靠運行。
評論