異步信號同步電路的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字電路領(lǐng)域,尤其是一種信號在不同時鐘域之間傳輸?shù)漠惒叫盘柾诫娐贰?br>【背景技術(shù)】
[0002]多時鐘域的處理是系統(tǒng)級芯片(SOC)設計中的一個重要環(huán)節(jié)。如果對其中出現(xiàn)的特殊問題估計不足,將對設計造成災難性后果。數(shù)據(jù)跨時鐘域傳輸時如何保持系統(tǒng)的穩(wěn)定,順利完成數(shù)據(jù)的傳輸是每個設計者都需要關(guān)注的問題。
[0003]因為不同時鐘域,每一個觸發(fā)器都有其規(guī)定的建立(setup)和保持(hold)時間參數(shù),在這個時間參數(shù)內(nèi),輸入信號在時鐘的上升沿附近是不允許發(fā)生變化的。如果在信號的建立時間中對其進行采樣,得到的結(jié)果將是不可預知的,即亞穩(wěn)態(tài)。在多時鐘域中,在進行電路設計時,必須充分考慮時序?qū)δ艿挠绊?,表面上看起來沒有問題的電路可能會因為忽視了時序的重要性而實際上并不能真正達到設計的功能,造成多時鐘域之間的同步失敗。同步問題中最有可能出現(xiàn)的就是亞穩(wěn)態(tài)的產(chǎn)生和傳播。在異步設計中,完全避免亞穩(wěn)態(tài)是不可能的。因此,設計的基本思路應該是:首先盡可能減少出現(xiàn)亞穩(wěn)態(tài)的可能性,其次是盡可能減少出現(xiàn)亞穩(wěn)態(tài)并給系統(tǒng)帶來危害的可能性。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題是提供一種異步信號同步電路,不僅能完成異步信號的同步,而且能防止信號在同步過程中出現(xiàn)亞穩(wěn)態(tài)。
[0005]為了解決上述技術(shù)問題,本發(fā)明的異步信號同步電路,包括:
[0006]一輸入邏輯單元,其包括一第一 D觸發(fā)器,一第一與門,一或門,一非門;
[0007]所述第一 D觸發(fā)器的輸入端D端與所述第一與門的輸出端相連接;所述第一 D觸發(fā)器的時鐘端輸入輸入時鐘域的時鐘CLKA ;第一 D觸發(fā)器的輸出端Q端與所述或門的一輸入端相連接;該或門的另一輸入端輸入要處理的跨時鐘域的輸入異步脈沖信號;所述或門的輸出端與所述第一與門的一輸入端相連接;該第一與門的另一輸入端與所述非門的輸出端相連接;
[0008]一輸出邏輯單元,其包括:一第二 D觸發(fā)器,一第三D觸發(fā)器,一第二與門;
[0009]所述第二 D觸發(fā)器的輸入端D端與所述第一 D觸發(fā)器的輸出端Q端相連接;所述第二 D觸發(fā)器的輸出端Q端與所述第三D觸發(fā)器的輸入端D端和所述輸入邏輯單元中的非門的輸入端相連接;所述第三D觸發(fā)器的輸出端Q端與所述第二與門的一輸入端相連接;該第二與門的另一輸入端與所述輸入邏輯單元中的非門的輸出端相連接;所述第二與門的輸出端輸出經(jīng)過同步處理的輸出信號;所述第二 D觸發(fā)器和第三D觸發(fā)器的時鐘端輸入輸出時鐘域的時鐘CLKB。
[0010]采用本發(fā)明的異步信號同步電路在數(shù)字跨時鐘域設計時,能夠異步信號同步化,并且能有效的消除異步信號同步過程中產(chǎn)生的亞穩(wěn)態(tài)問題。
[0011]本發(fā)明采用最少的邏輯單元來完成異步信號同步化的過程,僅用到三個D觸發(fā)器、一個非門、兩個與門和一個或門;大大簡化了異步信號同步化的過程。
[0012]本發(fā)明支持不同頻率時鐘下的信號傳輸,包括從快時鐘域到慢時鐘域、慢時鐘域到快時鐘域以及相同時鐘頻率之間的傳輸;也包括了不同時鐘相位信號之間的傳輸。
[0013]本發(fā)明對輸入信號之間的時間間隔要求最小,在輸入時鐘域的時鐘頻率小于輸出時鐘域的時鐘頻率時,對輸入異步脈沖信號間隔無限制,在輸入時鐘域的時鐘頻率大于輸出時鐘域的時鐘頻率時,輸入異步脈沖信號時間間隔可以做到最小。
【附圖說明】
[0014]下面結(jié)合附圖與【具體實施方式】對本發(fā)明作進一步詳細的說明:
[0015]圖1是所述異步信號同步電路結(jié)構(gòu)圖;
[0016]圖2是異步信號在輸入時鐘為高頻,輸出時鐘為低頻時的波形圖;
[0017]圖3是異步信號在輸入時鐘為低頻,輸出時鐘為高頻時的波形圖。
【具體實施方式】
[0018]所述異步信號同步電路是一種在不同時鐘域之間傳輸?shù)耐诫娐?,不僅能完成異步信號的同步過程,而且還能防止信號在同步過程中出現(xiàn)的亞穩(wěn)態(tài)問題。
[0019]參見圖1所示,所述異步信號同步電路,包括一輸入邏輯單元和一輸出邏輯單元。
[0020]所述輸入邏輯單元,包括一個第一 D觸發(fā)器Dl,一個兩輸入端的第一與門ANDl,一個兩輸入端或門0R,一個非門INV。
[0021]所述第一 D觸發(fā)器Dl的輸入端D端與所述第一與門ANDl的輸出端連接;所述第一 D觸發(fā)器Dl的時鐘端CLK輸入輸入時鐘域的時鐘CLKA ;所述第一 D觸發(fā)器Dl的輸出端Q與所述或門OR的一輸入端相連接,其連接的節(jié)點記為DlQ ;所述或門OR的另一輸入端輸入要處理的跨時鐘域的輸入異步脈沖信號async_in ;所述或門OR的輸出端與第一與門ANDl的一輸入端相連接;第一與門ANDl的另一個輸入端與非門INV的輸出端相連接。
[0022]所述輸出邏輯單元,包括一個第二 D觸發(fā)器D2,一個第三D觸發(fā)器D3,一個兩輸入端的第二與門AND2。
[0023]第二 D觸發(fā)器D2的輸入端D端與第一 D觸發(fā)器Dl的輸出端相連接;第二 D觸發(fā)器D2的輸出端與第三觸發(fā)器D3的輸入端D端和所述輸入邏輯單元中的非門INV的輸入端相連接,其連接的節(jié)點記為D2Q。第三D觸發(fā)器D3的輸出端Q與第二與門AND2的一個輸入端相連接,其連接的節(jié)點記為D3Q ;第二與門AND2的另一個輸入端與所述輸入邏輯單元中的非門INV的輸出端相連接。所述第二與門AND2的輸出端輸出的是經(jīng)過同步處理的輸出信號synC_out。第二 D觸發(fā)器D2和第三D觸發(fā)器D3的時鐘端CLK輸入輸出時鐘域的時鐘CLKB0
[0024]所述輸入邏輯單元用于鎖存輸入異步脈沖信號,鎖存第一 D觸發(fā)器的輸出信號,將第一 D觸發(fā)器的輸出信號反饋到輸入端,使第一 D觸發(fā)器的輸出一直有效,直到被所述輸出邏輯單元中的第二 D觸發(fā)器采樣到;接收反饋信號并在反饋信號的控制下清除原來鎖存的輸入脈沖信號,準備下一次輸入脈沖信號的接收。
[0025]所述輸出邏輯單元用于將所述輸入邏輯單元鎖存的輸入異步脈沖信號經(jīng)過兩級D觸發(fā)器打拍,產(chǎn)生輸出時鐘域時鐘寬度的輸出脈沖信號;最終完成信號的跨時鐘域傳輸,消除亞穩(wěn)態(tài)。
[0026]結(jié)合圖2所示,當輸入時鐘域的時鐘頻率大于輸出時鐘域的