亞穩態專題(亞穩態的概念、亞穩態的產生、亞穩態的後果、以及如何避免亞穩態)

亞穩態是FPGA系統中的一個常見問題,亞穩態的出現輕則導致輸出錯誤,嚴重的甚至會導致系統崩潰。因此對亞穩態的瞭解必不可少,本文在查閱衆多資料的基礎上,對亞穩態的概念、亞穩態的產生原因、以及如何避免亞穩態進行了分析與記錄。

目錄

一、概念

1、建立時間與保持時間

2、恢復時間與去除時間

3、亞穩態

二、產生與消除

1、跨時鐘域信號傳輸

2、異步信號採集

3、異步復位電路

三、亞穩態概率分析

1、亞穩態產生概率:

2、多級觸發器減少亞穩態

四、避免

五、參考文獻


一、概念

1、建立時間與保持時間

觸發器在時鐘上升沿來臨時對數據進行採樣,產生對應的輸出。但是實際器件無法瞬時完成數據採樣這一過程,需要數據在時鐘沿前後均穩定一定時間,即引入了(觸發器的)建立時間與保持時間這一概念。

建立時間Tsu:時鐘有效沿到來之前數據必須保持穩定的最小時間;

保持時間Th:時鐘有效沿到來之後數據必須保持穩定的最小時間;

2、恢復時間與去除時間

恢復時間(Recovery time):與同步電路中的建立時間類似,是指異步控制信號(如寄存器的異步清除和置位控制信號)在“下個時鐘沿”來臨之前變無效的最小時間長度。這個時間的意義是,異步控制信號在時鐘上升沿來臨Trecovery時間就要保持穩定,如果保證不了這個最小恢復時間,也就是說“下個時鐘沿”來臨時,這個異步控制信號不能保證正常執行。

去除時間(Removal time):與同步電路中的保持時間類似,是指異步控制信號(如寄存器的異步清除和置位控制信號)在“有效時鐘沿”之後變無效的最小時間長度。這個時間的意義是,異步控制信號在時鐘上升沿後仍需保持Tremoval的穩定時間,如果保證不了這個去除時間,也就是說這個異步控制信號的解除與“有效時鐘沿”離得太近,那麼依舊不能保證這一異步控制信號能正常執行。

3、亞穩態

概念:

亞穩態是指觸發器無法在某個規定的時間段內到達一個可以確認的狀態。即:如果觸發器的輸入電壓採樣時間過短,則觸發器需要花很長時間來實現輸出邏輯達到標準電平,在這段時間裏輸出端在高低電平之間處於振盪狀態,而不是等於理想輸出值。也就是說,電路處於中間態的時間變長,使得電路“反應”遲鈍,這就是“亞穩態”。(例如輸入信號在時鐘有效沿的建立時間和保持時間之間改變了,導致不滿足觸發器的建立時間或保持時間,導致輸出有一段時間的不穩定態,就是亞穩態。)

後果:

1、亞穩態中間態時間變長:亞穩態是觸發器的一個固有特性,正常採樣也會有一個亞穩態時間。當建立時間和保持時間滿足時,觸發器也會經歷採樣---亞穩態---隨後穩定輸出。而出現亞穩態問題時,亞穩態(中間態)時間變長

2、亞穩態的輸出不一定正確:正常工作時,觸發器經歷較短的亞穩態時間,隨後會正確輸出;而出現亞穩態問題時,觸發器經歷較長的亞穩態時間,最終輸出穩定但無法保證正確(是穩定的標準電平信號,但難以保證是輸入對應輸出);

物理意義:

數字電路中,對於電平小於電壓閾值 VL的稱爲0,大於電壓閾值VL 稱之爲1,而電平位於電壓閾值之間時(無法確定電壓爲0還是1)叫做系統的亞穩態。

工程意義:

亞穩態是指觸發器無法在某個規定的時間內達到可以確認的狀態。一旦觸發器進入亞穩態,則既無法預測觸發器的輸出電平,也無法預測什麼時候穩定在某個確認的電平上。(穩定所需時間不定、輸出結果不定

二、產生與消除

亞穩態一般發生在跨時鐘傳輸、異步信號採集中以及復位電路中。 在同步系統中,輸入總是與時鐘同步,因此寄存器的setup time和hold time是滿足的,一般情況下是不會發生亞穩態情況的。(在同步邏輯中只要STA分析過了正常是不會遇到亞穩態問題的,STA分析已經保證了每個觸發器都能滿足自己的建立時間以及保持時間)。

1、跨時鐘域信號傳輸

產生:在跨時鐘域信號傳輸時,由於源寄存器時鐘和目的寄存器時鐘相移未知,所以源寄存器數據發出數據,數據可能在任何時間到達異步時鐘域的目的寄存器,所以無法保證滿足目的寄存器Tsu和Th的要求,從而出現亞穩態。

消除:對異步信號進行同步處理;如添加兩級D觸發器、採用握手進行交互等。

2、異步信號採集

產生:在異步信號採集中,由於異步信號可以在任意時間點到達目的寄存器,所以也無法保證滿足目的寄存器Tsu和Th的要求,從而出現亞穩態。

消除:採用FIFO對跨時鐘域數據通信進行緩衝設計;

3、異步復位電路

產生:在異步復位電路中,復位信號的釋放時間不定,難以保證滿足恢復時間(Recovery Time)以及去除時間(Removal Time),從而出現亞穩態。

消除: 對復位電路採用異步復位、同步釋放方式處理。詳見:三種復位方式詳解---同步復位/異步復位/異步復位同步釋放

三、亞穩態概率分析

1、亞穩態產生概率:

        概率 = (建立時間 + 保持時間)/ 採集時鐘週期    

可以看出,亞穩態出現的概率與工作時鐘頻率以及觸發器自身的特性(器件的工藝等因素決定了它的建立/保持時間)有關;所以在異步信號採集過程中,要想減少亞穩態發生的概率可以:

       1、降低系統工作時鐘,增大系統週期,亞穩態概率就會減小(降低工作頻率,不常用);

       2、 採用工藝更好的FPGA,也就是Tsu和Th時間較小的FPGA器件;

2、多級觸發器減少亞穩態

異步信號進行使用的時候,常會對異步信號進行同步處理,同步一般採用多級D觸發器級聯處理,常見爲採用二級D觸發器對異步信號進行同步處理,如下圖示意:

 

第一級寄存器產生亞穩態後,如果直接輸出很可能將亞穩態傳遞下去導致系統崩潰;而添加了第二級D觸發器後,相當於多給了寄存器一個時鐘週期的時間恢復穩定,因此出現亞穩態的機率就會大大減小。由分析可見,觸發器級數越多,出現亞穩態的機率就會越小,但是一般來說兩級寄存器已經足夠,而不需要再添加額外的級數導致資源浪費。(第二級寄存器穩定輸出概率爲90%,第三極寄存器穩定輸出的概率爲99%)

四、避免

1 降低系統時鐘(不常見,因爲高速率正確處理纔是目的)

2 用反應更快的觸發器(工藝相關,受硬件制約)

3 引入同步機制,防止亞穩態傳播(常見的處理方式,即通過一些機制,在現有硬件條件下,最大程度的減少亞穩態發生)

4 改善時鐘質量,用邊沿變化快速的時鐘信號

五、參考文獻

關於亞穩態的總結

三種復位方式詳解---同步復位/異步復位/異步復位同步釋放

靜態時序分析STA公式推導以及本質分析(基礎概念、多角度公式推導、本質分析)

https://www.cnblogs.com/linjie-swust/archive/2012/01/07/YWT.html

FPGA 基礎知識(亞穩態、流水線、時序約束、信號同步、時鐘等)

http://blog.sina.com.cn/s/blog_503cdf0d0100cygn.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章