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