一、介紹
在同步系統(tǒng)中,數(shù)據(jù)始終相對于時鐘具有固定的關系 當該關系滿足設備的建立和保持要求時,輸出將在其指定的傳播延遲時間內(nèi)進入有效狀態(tài)。在同步系統(tǒng)中,輸入信號始終滿足觸發(fā)器的時序要求。因此,不會發(fā)生亞穩(wěn)性。但是,在異步系統(tǒng)中,數(shù)據(jù)和時鐘之間的關系不是固定的。因此,會偶爾發(fā)生違反建立時間和保持時序的情況。發(fā)生這種建立和保持時序的情況時,輸出可能會到達其兩個有效狀態(tài)(0和1)之間的中間水平,不穩(wěn)定的狀態(tài)(0和1之外的狀態(tài)即亞穩(wěn)態(tài))保持的時間也是不確定的,直到自己進入穩(wěn)態(tài)。
二、亞穩(wěn)態(tài)理論
由于違反了觸發(fā)器的建立和保持時間,因此會產(chǎn)生亞穩(wěn)定性。在任何設計中使用的每個觸發(fā)器都有指定的建立和保持時間,或者說是在時鐘上升沿之前和之后不允許輸入數(shù)據(jù)變化的時間。如果信號在此時間窗口內(nèi)確實發(fā)生變化,則輸出將是未知的或“亞穩(wěn)的”。這種有害狀態(tài)的傳播稱為亞穩(wěn)態(tài)。結果,觸發(fā)器的輸出會產(chǎn)生毛刺或暫時保持在亞穩(wěn)狀態(tài),因此需要更長的時間才能返回到穩(wěn)定狀態(tài)。
當觸發(fā)器處于亞穩(wěn)態(tài)時,輸出會在高電平和低電平之間徘徊,導致輸出轉(zhuǎn)換被延遲,并超過指定的時鐘到輸出延遲(tco)。亞穩(wěn)態(tài)輸出需要花費超過tco的額外時間才能解析為穩(wěn)定狀態(tài),該時間稱為穩(wěn)定時間(tMET)。
圖1.1亞穩(wěn)時序參數(shù)
這已在圖1.1中顯示,但并非每個違反建立或保持時間的轉(zhuǎn)換(數(shù)據(jù)轉(zhuǎn)換)都會導致亞穩(wěn)態(tài)輸出。觸發(fā)器進入亞穩(wěn)態(tài)的可能性和返回穩(wěn)定狀態(tài)所需的時間取決于用于制造器件的工藝技術以及環(huán)境條件。通常,觸發(fā)器將在一兩個時鐘周期內(nèi)返回穩(wěn)定狀態(tài)。
觸發(fā)器的操作類似于在無摩擦的山坡上滾動的球,如圖1.2所示。小山的每一側代表穩(wěn)定狀態(tài)(即高或低),頂部代表亞穩(wěn)態(tài)。假設球處于穩(wěn)定狀態(tài)(即1或0),并且對球進行了足夠的推動(狀態(tài)轉(zhuǎn)換)(沒有違反建立時間或保持時間),足以使球越過另一個穩(wěn)定狀態(tài),則球在指定時間內(nèi)越過另一個穩(wěn)定狀態(tài)。
但是,如果推力較?。催`反建立和保持時間),則球應移動到山頂(即輸出亞穩(wěn)態(tài)),停留在那里一段時間,然后返回任一穩(wěn)定狀態(tài)(即輸出最終變得穩(wěn)定)。球也可能會部分升起然后回來(即輸出可能會產(chǎn)生一些毛刺)。任何一種情況都會增加從時鐘轉(zhuǎn)換到穩(wěn)定輸出的延遲。
因此,簡單來說,當信號在一個時鐘域(src_data_out)中發(fā)生變化并在另一個時鐘域(dest_data_in)中被采樣時,這將導致輸出變得亞穩(wěn)。這被稱為同步失敗(如圖1.3所示)。
圖1.2觸發(fā)器的亞穩(wěn)態(tài)行為
圖1.3觸發(fā)器中的亞穩(wěn)態(tài)
三、亞穩(wěn)態(tài)窗口
亞穩(wěn)態(tài)窗口被定義為特定的時間長度,在此期間數(shù)據(jù)和時鐘均不應更改。如果兩個信號有發(fā)生改變,則輸出可能變?yōu)閬喎€(wěn)態(tài)。如圖1.4所示,建立時間和保持時間的組合決定了亞穩(wěn)窗口的寬度。窗口越大,設備進入亞穩(wěn)態(tài)的機會就越大。在大多數(shù)情況下,較新的邏輯系列具有較小的亞穩(wěn)態(tài)窗口,從而減少了設備變?yōu)閬喎€(wěn)的機會。
四、計算MTBF
系統(tǒng)之間的平均故障間隔時間(MTBF)是在故障率恒定的特殊情況下故障率的倒數(shù)。這提供了有關特定觸發(fā)器失敗頻率的信息。對于具有給定時鐘頻率和異步數(shù)據(jù)邊沿的單級同步器,該邊沿在時鐘周期內(nèi)具有均勻的概率密度,通過建立和保持時間窗口與時鐘邊沿之間的時間之比,再乘以數(shù)據(jù)邊沿頻率,可以計算出亞穩(wěn)態(tài)事件的發(fā)生率。
五、避免亞穩(wěn)態(tài)
如第二節(jié)所示,只要違反建立或保持時間,就會發(fā)生亞穩(wěn)。因此,在以下情況下,信號可能會違反時序要求:
1、當輸入信號是異步信號時。
2、當時鐘偏斜/偏擺(上升/下降時間)高于容許極限時。
3、當信號越過工作在兩個不同頻率或頻率相同但相位和偏斜不同的域時。
4、當組合延遲使得觸發(fā)器數(shù)據(jù)輸入在亞穩(wěn)態(tài)窗口中發(fā)生變化時
亞穩(wěn)定性可能會導致過度的傳播延遲和后續(xù)的系統(tǒng)故障。所有觸發(fā)器和鎖存器均具有亞穩(wěn)性。這個問題無法消除。但是有可能降低亞穩(wěn)態(tài)的發(fā)生率
在最簡單的情況下,設計人員可以通過讓時鐘周期足夠長以解決準穩(wěn)態(tài)以及減少路徑中可能傳播到下一個觸發(fā)器中的任何延遲邏輯來避免亞穩(wěn)態(tài)。考慮到大多數(shù)現(xiàn)代設計的性能要求,這種方法雖然簡單,卻并不實用。另一種方法是使用同步器。
5.1使用多級同步器
避免亞穩(wěn)態(tài)的最常見方法是在一個時鐘域到另一個時鐘域的信號上添加一個或多個同步觸發(fā)器。如圖1.6所示,這種方法為第一個同步觸發(fā)器中的亞穩(wěn)態(tài)事件提供了一個完整的時鐘周期(第二個觸發(fā)器的建立時間除外)以解決自身問題。但是,這確實增加了同步邏輯觀察輸入的等待時間。
5.2使用時鐘升壓電路的多級同步器
多級同步器的一個限制是系統(tǒng)響應異步輸入所花費的時間更長。解決此問題的方法是使用時鐘倍頻器的輸出為兩個同步觸發(fā)器提供時鐘。Altera的FPGA將這種技術稱為Clock Boost或Clock Doubler(圖1.7)。
這種方法允許系統(tǒng)在一個系統(tǒng)時鐘周期內(nèi)響應異步輸入,同時仍能改善MTBF。盡管Clock Boost時鐘可能會降低MTBF,但這種影響遠不止于兩個同步觸發(fā)器的抵消。這兩種方法都不能保證亞穩(wěn)性不能通過同步器。它們只是降低了亞穩(wěn)發(fā)生的可能性。
六、亞穩(wěn)測試電路
每當觸發(fā)器對異步輸入進行采樣時,小概率的不可預測延遲總會在觸發(fā)器輸出端呈現(xiàn)出來。這不僅發(fā)生在輸入轉(zhuǎn)換違反建立和保持時間規(guī)范時,而且還發(fā)生在觸發(fā)器接收新數(shù)據(jù)時的小的時序窗口,在這些情況下,觸發(fā)器會進入亞穩(wěn)態(tài)。
圖1.8中描述的測試電路用于確定觸發(fā)器的亞穩(wěn)特性。圖1.8顯示了在時鐘“ clk”的上升沿觸發(fā)的觸發(fā)器“ FFA”的異步輸入“ async_In”。如圖所示,觸發(fā)器“ FFB”和“ FFC”均在時鐘的下降沿觸發(fā),以便捕獲“ FFA”上的亞穩(wěn)事件。
當互補信號在觸發(fā)器“ FFB”和“ FFC”的輸入上傳遞時,無論何時“ FFA”上發(fā)生亞穩(wěn)態(tài)事件,XNOR門的輸出都將變?yōu)楦唠娖?。此條件在觸發(fā)器“ FFD”的輸出上捕獲,指示已檢測到亞穩(wěn)態(tài)事件。
七、同步器類型
根據(jù)等式 1.1,具有異步輸入的電路的平均故障間隔時間(MTBF)與可從亞穩(wěn)態(tài)條件恢復的時間呈指數(shù)關系。使用同步器創(chuàng)建時間緩沖區(qū),以從亞穩(wěn)態(tài)事件中恢復。
請注意,異步信號絕不能由多個同步器同步。(這樣做會冒著使多個同步器的輸出產(chǎn)生不同信號的風險)。本節(jié)顯示了兩個同步器方案A和B。
方案A是常規(guī)方案,當異步輸入信號的寬度大于時鐘周期時,其工作效果最佳(圖1.10)。
請注意,即使異步輸入在設置間隔之外達到穩(wěn)定條件,它仍將以兩個時鐘周期的延遲進行計時,否則FF1可能會進入亞穩(wěn)態(tài)。
如果亞穩(wěn)在少于一個時鐘周期內(nèi)得到解決,則FF2將具有穩(wěn)定的輸入,否則需要更深的級聯(lián),如圖1.6所示。
但是,在異步輸入的寬度小于時鐘周期的情況下,方案A不起作用。在這種情況下,方案B的工作效果最佳,如圖1.11所示。
請注意,在同步器方案B的情況下,第一個FF(觸發(fā)器)的D輸入連接到VCC,而異步輸入為FF提供時鐘。該階段中的其他兩個FF由系統(tǒng)時鐘或clk直接提供時鐘。短脈沖將驅(qū)動q1高電平,該信號將在兩個“clk”邊沿之后傳播到sync_out。因此,這定義了我們的經(jīng)驗法則,總結如下:
當信號必須跨越時鐘域之間的邊界時,請使用同步器。
如果Clk1<Clk2在時鐘域2的輸入處使用同步器方案A(如圖1.11所示),否則使用同步器方案B。
八、處理亞穩(wěn)態(tài)的建議
(a)使用同步器。
(b)使用更快的觸發(fā)器(更窄的亞穩(wěn)態(tài)窗口TW)。
(c)使用亞穩(wěn)態(tài)硬化觸發(fā)器(專為非常高的帶寬和減少的采樣時間而設計,并針對時鐘域輸入電路進行了優(yōu)化)。
(d)級聯(lián)觸發(fā)器作為同步器(兩個或更多),如圖1.6所示。一串N個觸發(fā)器的概率為PN(P的N次方),其中P是一個觸發(fā)器發(fā)生亞穩(wěn)態(tài)故障的機會。
(e)降低采樣率。
(f)避免輸入dV/dt低的信號