01亞穩(wěn)態(tài)理論
亞穩(wěn)態(tài)(Metastability)是由于輸入信號違反了觸發(fā)器的建立時間(Setup time)或保持時間(Hold time)而產(chǎn)生的。建立時間是指在時鐘上升沿到來前的一段時間,數(shù)據(jù)信號就要提前準備好并穩(wěn)定,保持時間是指時鐘上升沿到來后的一段時間,數(shù)據(jù)信號需要保持住。建立時間和保持時間是觸發(fā)器的固有屬性,由工藝決定。
如果數(shù)據(jù)信號在亞穩(wěn)態(tài)窗口內(nèi)發(fā)生變化,那么觸發(fā)器的輸出就會變成一段時間的“未知態(tài)”。這種狀態(tài)對于電路而言是有害的,且需要一段時間才能回到穩(wěn)定狀態(tài)。
眾所周知,數(shù)字電路中的穩(wěn)定狀態(tài)“0”或“1”一般是由TTL電平?jīng)Q定,所謂的亞穩(wěn)態(tài)就是當觸發(fā)器電平工作在低電平與高電平之間的狀態(tài),這個狀態(tài)一般會在1到2個時鐘周期恢復到“0”或“1”的穩(wěn)定狀態(tài),但是無法確定到底回到哪個穩(wěn)態(tài)。
如同在一個小土坡上滾一個球,當產(chǎn)生亞穩(wěn)態(tài)時,可能“推力”較大,球翻過了山坡,最后回到了穩(wěn)態(tài)“1”;也可能“推力”不足,球又回滾到穩(wěn)態(tài)“0”,這種情況下,輸出就可能產(chǎn)生毛刺。
02如何減少亞穩(wěn)態(tài)
實際設(shè)計中,可能產(chǎn)生亞穩(wěn)態(tài)的原因有:
- 輸入信號是異步信號;
- 時鐘偏移、擺動(上升/下降時間)高于容限值;
- 信號在兩個沒有固定相位關(guān)系的時鐘域進行跨時鐘域工作;
- 組合延遲使得觸發(fā)器的數(shù)據(jù)輸入在亞穩(wěn)態(tài)窗口發(fā)生。
一個最簡單粗暴的解決辦法就是確保時鐘周期足夠長來避免亞穩(wěn)態(tài),這個時鐘周期要大于準穩(wěn)態(tài)的解析時間,也要大于通往下一級觸發(fā)器路徑上的任何邏輯延遲,不過這樣做與性能要求相悖,實用性不大。因此實際工作中往往通過解決時序上的問題來降低亞穩(wěn)態(tài)發(fā)生的概率:
- 跨時鐘域傳輸可以采用同步器、握手協(xié)議等;
- 采用響應更快的觸發(fā)器(縮短亞穩(wěn)態(tài)窗口);
- 異步信號的采集可以采用異步FIFO對跨時鐘域數(shù)據(jù)進行緩沖設(shè)計;
- 降低工作頻率(就是增加時鐘周期,不是優(yōu)選方案)
-
TTL
+關(guān)注
關(guān)注
7文章
530瀏覽量
71419 -
fifo
+關(guān)注
關(guān)注
3文章
400瀏覽量
44599 -
數(shù)字電路
+關(guān)注
關(guān)注
193文章
1637瀏覽量
81546 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2032瀏覽量
61850 -
亞穩(wěn)態(tài)
+關(guān)注
關(guān)注
0文章
47瀏覽量
13469
發(fā)布評論請先 登錄
利用IDDR簡化亞穩(wěn)態(tài)方案
FPGA中亞穩(wěn)態(tài)——讓你無處可逃
xilinx資料:利用IDDR簡化亞穩(wěn)態(tài)
FPGA中亞穩(wěn)態(tài)——讓你無處可逃
FPGA觸發(fā)器的亞穩(wěn)態(tài)認識
亞穩(wěn)態(tài)問題解析
FPGA的亞穩(wěn)態(tài)現(xiàn)象是什么?
在FPGA復位電路中產(chǎn)生亞穩(wěn)態(tài)的原因
FPGA--中復位電路產(chǎn)生亞穩(wěn)態(tài)的原因
數(shù)字電路中何時會發(fā)生亞穩(wěn)態(tài)
亞穩(wěn)態(tài)產(chǎn)生原因、危害及消除方法
什么是亞穩(wěn)態(tài)?如何克服亞穩(wěn)態(tài)?
FPGA設(shè)計中的亞穩(wěn)態(tài)解析

評論