對於不同的時鐘域要傳遞資料的話,需要採用一定的手段,來防止資料傳遞時產生亞穩態等問題
1、慢時鐘域向快時鐘域傳遞資料
對於持續時間較短的脈衝一般情況下無法捕捉到,只有脈衝寬度較時鐘週期大才可**捉到,該電路實際上我一般用來作為控制訊號的邊沿檢測,此處為下降沿檢測,把反相器放到q3的輸出即可用來檢測上公升沿。
但是需要注意的是該方法只適用於單個資料的同步,如果是多位資料的話可能會出現問題:
多路資料傳輸的時候由於不同資料的路徑不一樣,因此到達暫存器輸入端的時間不同,如果乙個資料的到達時間滿足建立時間而例外乙個不滿足暫存器的建立時間,則會導致資料與資料間相差乙個或多個時鐘。
2、快時鐘域向慢時鐘域傳遞資料
對於單個的資料:鎖存反饋法
可見在同步電路的作用下,較窄的脈衝也可以被電路捕捉到。
在不同時鐘域間傳遞資料一般不採用以上方法,因為多位資料傳遞時會使同步器的取樣率錯誤率大大增加,一般採用的是非同步fifo.
跨時鐘域時可以採用的方法:
1 如果時鐘間存在著固定的頻率倍數,這種情況下它們的相位一般具有固定關係,可以採用下 述方法處理:
1)使用高頻時鐘作為工作時鐘,使用低頻時鐘作為使能訊號,當功耗不作為首要因素時建議使用這種方式。
2)在仔細分析時序的基礎上描述兩個時鐘轉換處的電路。
2 如果電路中存在兩個不同頻率的時鐘,並且頻率無關,可以採用如下策略:
1)利用高頻時鐘取樣兩個時鐘,在電路中使用高頻時鐘作為電路的工作時鐘,經採後的低頻時鐘作為使能。
2)在時鐘同步單元中採用兩次同步法
3)使用握手訊號
4)使用雙時鐘fifo 進行資料緩衝
在構件由兩個不同系統時鐘控制工作的模組之間的同步模組時,應該遵守下面原則:兩個採用不同時鐘工作的暫存器之間不應該再出現邏輯電路,而應該僅僅是一種連線關係,這種方法有利於控制建立保持時間的滿足。
多時鐘域設計 資料訊號傳輸
一般情況下資料訊號的都是多位的,以資料匯流排的形式傳輸。同步器只能降低亞穩態傳輸的概率,不能確保正確的同步訊號,使用同步器傳輸多位的資料訊號會增大發生亞穩態的概率。因此如果簡單的使用多組同步器進行資料訊號跨時鐘域傳輸,可能導致資料訊號中多位資料在傳輸過程中發生錯誤。使用基於mux的同步器 使用握手訊...
跨時鐘域的同步問題
這個博主講解的還是很有意思的呢,配合這個,簡短的講解 亞穩態在同步系統中,如果觸發器的setup time hold time不滿足,就可能產生亞穩態,此時觸發器輸出端q在有效時鐘沿之後比較長的一段時間處於不確定的狀態,在這段時間裡q端毛刺 振盪 固定的某一電壓值,而不是等於資料輸入端d的值。這段之...
亞穩態與多時鐘切換
亞穩態的產生與傳輸 亞穩態的恢復時間與平均無故障時間 減小亞穩態的建議 多時鐘切換電路 1 亞穩態的產生與傳輸 我們知道,交叉耦合反相器 sr鎖存器 d鎖存器和 d觸發器等儲存元件有兩個穩定的狀態,即0和 1,也就是能儲存0和 1這兩個狀態。那麼亞穩態是什麼呢?從字面上看,亞穩態就是亞於穩態,既 0...