1.1 亞穩態發生原因
在FPGA系統中,如果數據傳輸中不滿足觸發器的Tsu和Th不滿足,或者復位過程中復位信號的釋放相對於有效時鍾沿的恢復時間(recovery time)不滿足,就可能產生亞穩態,此時觸發器輸出端Q在有效時鍾沿之后比較長的一段時間處於不確定的狀態,在這段時間里Q端在0和1之間處於振盪狀態,而不是等於數據輸入端D的值。這段時間稱為決斷時間(resolution time)。經過resolution time之后Q端將穩定到0或1上,但是穩定到0或者1,是隨機的,與輸入沒有必然的關系。
1.2 亞穩態發生場合
只要系統中有異步元件,亞穩態就是無法避免的,亞穩態主要發生在異步信號檢測、跨時鍾域信號傳輸以及復位電路等常用設計中。
1.3 亞穩態危害
由於產生亞穩態后,寄存器Q端輸出在穩定下來之前可能是毛刺、振盪、固定的某一電壓值。在信號傳輸中產生亞穩態就會導致與其相連其他數字部件將其作出不同的判斷,有的判斷到“1”有的判斷到“0”,有的也進入了亞穩態,數字部件就會邏輯混亂。在復位電路中產生亞穩態可能會導致復位失敗。怎么降低亞穩態發生的概率成了FPGA設計需要重視的一個注意事項。
2. 理論分析
2.1 信號傳輸中的亞穩態
在同步系統中,輸入信號總是系統時鍾同步,能夠達到寄存器的時序要求,所以亞穩態不會發生。亞穩態問題通常發生在一些跨時鍾域信號傳輸以及異步信號采集上。
它們發生的原因如下:
(1)在跨時鍾域信號傳輸時,由於源寄存器時鍾和目的寄存器時鍾相移未知,所以源寄存器數據發出數據,數據可能在任何時間到達異步時鍾域的目的寄存器,所以無法保證滿足目的寄存器Tsu和Th的要求;
(2)在異步信號采集中,由於異步信號可以在任意時間點到達目的寄存器,所以也無法保證滿足目的寄存器Tsu和Th的要求;

