跨時鐘域設計

1. 基本概念

  • 什么是亞穩(wěn)態(tài)
    亞穩(wěn)態(tài)是指觸發(fā)器無法在某個規(guī)定時間段內(nèi)達到一個可確認的狀態(tài)。當一個觸發(fā)器進入亞穩(wěn)態(tài)時,既無法預測該單元的輸出電平,也無法預測何時輸出才能穩(wěn)定在某個正確的電平上。在這個穩(wěn)定期間,觸發(fā)器輸出一些中間級電平,或者可能處于振蕩狀態(tài),并且這種無用的輸出電平可以沿信號通道上的各個觸發(fā)器級聯(lián)式傳播下去 .
    例如:從A時鐘域出來的信號A直接進入B時鐘域,從圖可以看出,如果A信號在B時鐘的上升沿發(fā)生變化,便會出現(xiàn)不定態(tài).
2.1.png

對任何一種觸發(fā)器,在時鐘觸發(fā)沿前后的一個小時間窗口內(nèi),輸入信號必須穩(wěn)定。這一時間窗口是多種因素的函數(shù),包括觸發(fā)器設計、實現(xiàn)技術、運行環(huán)境以及無緩沖輸出上的負載等。輸入信號陡峭的邊沿可以將此窗口減至最小。隨著時鐘頻率的升高,會出現(xiàn)更多有問題的時間窗口,而隨著數(shù)據(jù)頻率的提升,這種窗口的命中概率則會增加.
理解:就是跨時鐘的A信號在B時鐘沿前后的時間窗口保持穩(wěn)定,A信號邊沿越陡峭,變化的時間越快,時間窗口越小.

  • 什么是多比特信號中間態(tài)
    多比特信號聯(lián)合組成某個含義(如地址信號)的穿越,如果簡單的按照單比特信號穿越方法各bit打兩拍單獨穿越,則會造成各個bit穿越時間不一致,則會造成另一個時鐘域里面有一些被前一個時鐘沿采到了,有些被后面的采到了,造成中間態(tài)無意義的數(shù)據(jù).
3.1.png

理解:主要是寄存器對于每個信號的延遲時間不一樣,導致目的時鐘域采到的值錯誤,造成中間態(tài)的存在.

2.跨時鐘域處理方法

時鐘域的一般方法:單比特信號打兩拍,多比特信號采用FIFO,對于FIFO處理多比特信號較為復雜,不予說明.

  • 單比特信號跨時鐘域

考慮頻率關系,信號是電平還是脈沖

從慢時鐘域到快時鐘域:
應對策略;本身可以保證信號被采樣,當信號為脈沖信號時,需要在目的時鐘域進行脈沖恢復,保證信號(電平 or 脈沖)都可以被采到.
從快時鐘域到慢時鐘域:
應對策略:電平信號要保證電平寬度大于(不等于)慢時鐘域的寬度,如果是脈沖信號,需要轉換為電平信號,而且裝換后的電平信號寬度大于等于慢時鐘域周期,并且在目的時鐘域沿恢復為脈沖信號.
當頻率關系不確定的時候:
應對策略:將信號展寬處理,如果是脈沖信號,需要在目的時鐘域進行脈沖的恢復,因此涉及問題:展多寬.
舉個例子說明一下,如果信號要從A側傳遞到B側時鐘域去,那么展寬要考慮在A側/B側時鐘頻率最多的情況下,所展的寬度要大于B側的時鐘周期.
注意:當單bit組合邏輯跨時鐘域的時候,組合邏輯容易產(chǎn)生毛刺,由于目的時鐘域采樣時刻的不確定性,有可能采樣到此毛刺,導致后續(xù)功能錯誤,要避免組合邏輯跨時鐘域.

3.具體的設計思路

源時鐘域的信號要發(fā)送到目的時鐘域,信號要經(jīng)過目的時鐘域同步電路進行同步,才能進入目的時鐘域.
同步電路一般為2到多級D觸發(fā)器,避免亞穩(wěn)態(tài)的產(chǎn)生.這樣可以防止亞穩(wěn)態(tài)的傳播,但不能保證采數(shù)據(jù)的正確性.
同步的位數(shù)較少,2級及多級觸發(fā)器可以將亞穩(wěn)態(tài)幾率降到最低,但也會造成延時.
4.2.png

4. 電平的同步電路設計

電平信號的同步電路設計,在電平同步電路中,跨時鐘域的信號在新時鐘域要保持高或低電平兩個周期以上.這種電路的要求是,在成為有效信號前,信號需要先變成無效狀態(tài)(源時鐘域要清源信號),每一次信號有效時,接收邏輯都會把它看做一個單個事件,而不管信號的有效狀態(tài)保持了多久.

電平的同步電路根據(jù)輸出信號特點,又可以分為三種同步電路,即輸出電平的電平同步電路,輸出上升沿脈沖的電平同步電路,輸出下降沿脈沖的電平同步電路。

  • 輸出電平的電平同步電路
    工作原理:被同步的信號被同步電路用目的時鐘打兩拍(特別要求可以打三拍),達到同步與消除亞穩(wěn)態(tài)的功能.
    第二拍的寄存器輸出,即后續(xù)電路所要用到的信號.

電路結構及時序:

5.1.png
  • 輸出上升沿脈沖的電平同步電路(慢到快)
    工作原理:信號被同步電路用目的時鐘打三拍,達到同步與消除亞穩(wěn)態(tài)的功能,并有第二拍的寄存器輸出 與上 第三拍寄存器輸出的取反,來取第二拍寄存器輸出的上升沿脈沖,這個單脈沖信號就是后續(xù)電路所要用到的信號.

電路結構及時序:

6.1.png
  • 輸出下降沿脈沖的電平同步電路(慢到快)
    工作原理:信號被同步電路用目的時鐘打三拍,達到同步與消除亞穩(wěn)態(tài)的功能,并有第二拍的寄存器輸出的取反 與上 第三拍寄存器輸出,來取第二拍寄存器輸出的下降沿脈沖,這個單脈沖信號就是后續(xù)電路所要用到的信號.

電路結構及時序:

7.png

5.脈沖的同步電路設計

在處理脈沖的慢到快的同步電路中,包括慢到快的同步電路,快到慢的同步電路,以及通用的同步電路,主要介紹慢到快的同步電路.

  • 輸出脈沖的慢到快的同步電路.

a.注意:被同步的信號,必須是源時鐘域的寄存器輸出信號,即該信號時被寄存過得,如果輸入信號是組合邏輯輸出,必須先被源時鐘打一拍,然后把被打一拍的寄存器輸出拿去給目的時鐘同步,否則可能會產(chǎn)生毛刺,從而被目的時鐘采樣,產(chǎn)生電路功能的混亂不可控.
b.被同步的信號用目的時鐘打三拍,
達到同步與消除亞穩(wěn)態(tài)的功能,第三拍的寄存器輸出,即后續(xù)電路所要用到的信號.

電路結構及時序:

8.1.png
  • 輸出上升沿脈沖的慢到快同步電路
    工作原理:信號被同步電路用目的時鐘打三拍,達到同步與消除亞穩(wěn)態(tài)的功能,并有第二拍的寄存器輸出 與上 第三拍寄存器輸出的取反,來取第二拍寄存器輸出的上升沿脈沖,這個單脈沖信號就是后續(xù)電路所要用到的信號.

電路結構及時序:

9.1.png
  • 輸出下降沿脈沖的慢到快同步電路
    工作原理:信號被同步電路用目的時鐘打三拍,達到同步與消除亞穩(wěn)態(tài)的功能,并有第二拍的寄存器輸出的取反 與上 第三拍寄存器輸出,來取第二拍寄存器輸出的下降沿脈沖,這個單脈沖信號就是后續(xù)電路所要用到的信號.

電路結構及時序:

11.1.png

這些與電平同步電路由慢到快電路結構都差不多,但需要注意電平與脈沖的區(qū)別.


6.時鐘關系不定的通用同步電路設計

在該同步電路設計中,根據(jù)輸出信號要求有三種同步電路。即輸出上升沿脈沖的通用同步電路,輸出下降沿脈沖的通用同步電路,輸出電平信號的通用同步電路,該電路主要用于時鐘快到慢的同步電路,時鐘由慢到快也可以采用,但上面介紹的幾種同步電路結構更為適合.

注意:該類的同步電路輸入都不必是寄存過的信號,因擴展時會寄存,擴展是為了防止采樣不到.

該通用電路的工作原理:

  • 被同步的信號先被源時鐘打一拍擴展為電平,因為如果源時鐘是快時鐘的話,那被同步的信號因為太窄,所以目的時鐘可能采樣不到這個信號.這個擴展信號寄存器的置位與清0信號的優(yōu)先級別:清0信號高于置位信號.
  • clr有效前如果來了多個set,不會對電路功能產(chǎn)生影響,因為后續(xù)的set被采樣,但被淹沒在擴展信號里,擴展信號拉高后,需等到clr到來后才會被拉低.
  • 假設set優(yōu)先于clr,clr與set同時到來,set起作用,會把擴展信號維持在高電平,clr無法拉低高電平,這個clr不起作用,后面的set也無法拉低高電平,從而沒有上升沿脈沖被目的時鐘采樣到,電路功能出錯.
  • 假設clr優(yōu)先于set,clr與set同時到來,clr先驅動把信號拉低,后續(xù)來的set,可以再把信號拉高,從而上升沿脈沖可以被目的時鐘采樣到,電路可以同步后續(xù)的信號.
  • 被擴展的信號用目的時鐘打三拍,達到同步與消除亞穩(wěn)態(tài)的功能,并有第二拍的寄存器輸出與上第三拍寄存器輸出的反,來取第二拍寄存器輸出的上升沿單脈沖,這個單脈沖就是后續(xù)電路所要用到的信號.
  • 被擴展的信號被同步后,再下一次被同步前需先被拉低清零,而清零信號必須是源時鐘域的信號,而被擴展的信號被同步的事件發(fā)生在目的時鐘域,所以,這里選擇把第二拍的寄存器輸出反饋回源時鐘域,這里涉及到異步時鐘域處理,和前面類似打兩拍,不同在于打的時鐘是源時鐘,輸出電平expr_clr,這個電平信號就是被擴展的信號的清0信號.

電路結構及時序:

11.2.png
12.1.png

至于取上升沿和下降沿通用同步電路,就是第二拍寄存器輸出和第三拍寄存器輸出之間互相與的關系,電路結構和時序圖不在給出.


7.多比特信號跨時鐘域

1一般采用握手和FIFO的形式進行跨時鐘域.

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 歡迎關注公眾號--數(shù)字IC小站。更新更多知識。 最近寫資料的空閑時間,想著看看clifford E. Cummin...
    數(shù)字IC小站閱讀 1,241評論 0 0
  • 轉載[CSDN]FPGA跨時鐘域設計的一點總結
    和光同塵SCW閱讀 325評論 0 1
  • 學習鏈接:https://www.cnblogs.com/IClearner/p/6579754.html跨時鐘域...
    簡柏舟閱讀 2,318評論 0 1
  • 1. 亞穩(wěn)態(tài) 亞穩(wěn)態(tài)是指觸發(fā)器無法在某個規(guī)定的時間段內(nèi)到達一個可以確認的狀態(tài)。 發(fā)生情況 在跨時鐘域傳輸或者異步信...
    黑心的一濤閱讀 2,546評論 0 2
  • 你曾屬于江湖高遠 常躍出水天一線 你曾夢想榮歸故里 卻漂在異地他鄉(xiāng) 把又臭又硬的自尊 放進鍋里煮爛 你悶聲吞下去不...
    張廢材閱讀 224評論 0 0

友情鏈接更多精彩內(nèi)容