跨時鐘域電路設計——亞穩態及雙鎖存器

一、同步電路

定義:電路中所有受時鐘控制的單元,全部由一個統一的時鐘控制。

優點:在同步設計中,EDA工具可以保證電路系統的時序收斂,避免電路設計中的競爭冒險。

缺點:時鐘樹綜合需要加入大量延遲單元,使電路面積和功耗大大增加。

 

二、異步電路

定義:電路數據傳輸可以在任一時刻發生,沒有一個統一的時鐘控制。

優點:模塊化特點突出,對信號延遲不敏感,沒有時鐘偏斜問題,低功耗的特性

缺點:設計複雜,缺少相應EDA工具支持

 

同步電路和異步電路的區別在於電路觸發是否與驅動時鐘同步,從行爲上講,就是所有電路是否在同一時鐘沿下同步地處理數據。(《XilinxFPGA設計權威指南》P86~P91 )

即所說的同一個時鐘域或不同時鐘域,主要是針對時鐘源點來區分的。比如有好幾個時鐘,都是從一個PLL出來的,那這些時鐘的相位和倍數都是可控的,我們認爲它們之間是同步時鐘。

目前大多大規模ASIC和SOC中,都採用全局異步,局部同步的方法。

 

三、方案概述

 

 

四、亞穩態

定義:觸發器無法在規定時間內達到一個可確認的狀態。

  

無法預測輸出的電平,也無法預測何時輸出才能穩定。

亞穩態無法從根本上消除,但可以採取一定的措施使其造成的影響降低。

 

五、雙鎖存器

實際上爲兩個觸發器。在一個信號進入另一個時鐘域之前,用兩個鎖存器連續鎖存兩次。

優點:結構簡單,易實現,面積消耗小。

缺點:增加兩級觸發器延時。從快時鐘域到慢時鐘域,易採樣丟失。

適用場景:慢時鐘域轉到快時鐘域。data_delta>clk_slow+2*clk_fast+path_delay,確保所有數據變化均能採集到。

結論:兩級觸發器已經將MTBF變得足夠大,再多觸發器影響電路效率。增加寄存器同步的方法爲降低亞穩態出現的概率。

verilog代碼如下:

 

六、跨時鐘域電路設計參考書目

1.SOC設計方法與實現(第三版)郭煒等.

2.FPGA深度解析 樊繼明,陸錦宏. 

 

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