[分享] [IC設計] Metastability? | 農藥百科
![[分享] [IC設計] Metastability?](https://i.imgur.com/WMTbIbA.jpg)
有兩個Dflip-flop.分別由兩個不同的clk所驅動(並不一定誰的頻率快誰慢).當adat隨著aclk產生一個cycle的訊號時.bclk需要在一個cycle內將訊號鎖進DFF.
![[分享] [IC設計] Metastability?](https://i.imgur.com/WMTbIbA.jpg)
https://reurl.cc/4RZbbV[1]
有兩個 D flip-flop
分別由兩個不同的 clk 所驅動(並不一定誰的頻率快誰慢)
當 adat 隨著 aclk 產生一個 cycle 的訊號時
bclk 需要在一個 cycle 內將訊號鎖進 DFF
但由於兩個 clk frequency 不同
當 adat 在最後拉為0的瞬間時
bclk 發生 positive trigger 將要把值鎖進 DFF
由於 adat 的訊號驟降讓 bDFF 沒有足夠的準備時間來完成鎖值
此時就會發生 metastable (亞穩態)
什麼叫做沒有足夠的準備時間 ?Flip-flop 這個元件其實是由許多 Cmos 所組成
Cmos 要儲存值就需要足夠的"充電"時間
我們通常會把這段所需的時間叫做 setup time
當 bdat1 處於 meta stable 時
後面如果分接到三個 not gate
根本不能保證每個 not gate 的輸出會是高電位還是低電位
因為輸入源處於 metastable
所以輸入的電流不穩定
有的 gate 認為接收到的是高電位,有的卻認為接收到低電位
當 bdat1 接到多個組合電路(combination circuit)時,電路的功能就可能會出錯,造成系統故障
所以這種 clock domain crossing (跨時...