FPGA基礎知識13(二級D觸發器應用於同步器,減少亞穩態)
阿新 • • 發佈:2019-02-18
需求說明:IC設計基礎
內容 :第一部分 關於兩級D觸發器減小亞穩態的原因
第二部分 關於亞穩態的討論
來自 :時間的詩
第一部分 關於同步器為什麼需要二級D觸發器的疑問
上週,在做VGA介面顯示實驗時,框圖中的同步器引起了我的注意。從理論上說,一級同步器已經能夠實現同步,為什麼還要使用兩級同步器呢?
首先,我想說理論與實際是有差距的,理論上在數位電路上的觸發器都是穩態的,要麼為0,要麼為1,因此理論上說一級同步就夠了,可實際上,除了高電平和低電平,同步器在建立時間或保持時間得不到滿足的情況下,會進入亞穩態。亞穩態通過不同的延時傳到組合邏輯中,可能為低電平,可能為高電平。
在此,補充說明建立時間和保持時間,建立時間(Tsu:set up time)是指在時鐘沿到來之前資料從不穩定到穩定所需的時間,如果建立的時間不滿足要求那麼資料將不能在這個時鐘上升沿被穩定的打入觸發器;保持時間(Th:hold time)是指資料穩定後保持的時間,如果保持時間不滿足要求那麼資料同樣也不能被穩定的打入觸發器。
一級同步器如圖1所示,如果時鐘域產生的訊號data_a的變化與clk時鐘域時鐘的邊沿取樣太接近,未滿足取樣建立時間。同步器故障導致輸出出現亞穩態,且在下一個時鐘邊沿到來之前,不會變成穩態。此輸出傳遞到後面的組合邏輯中,導致系統混亂。
兩級同步器如圖2所示,當第一級觸發器取樣非同步輸入之後,允許輸出出現的亞穩態可以長達一個週期,在這個週期內,亞穩態特性減弱
一般情況下,兩級同步器總體的故障概率是一級同步器故障概率的平方。在大部分的同步化設計中,兩級同步器足以消除所有可能的亞穩態了。
附錄: