①CDC中的亞穩(wěn)態(tài)傳播問題
在數(shù)字系統(tǒng)級(jí)別的時(shí)鐘域交叉(CDC)中,亞穩(wěn)態(tài)傳播問題是一個(gè)重要的挑戰(zhàn)。在這個(gè)問題中,由于時(shí)序差異,信號(hào)在觸發(fā)器之間的傳輸可能會(huì)導(dǎo)致亞穩(wěn)態(tài)值的產(chǎn)生和傳播。讓我們來看一下模型,如圖1所示。
圖1 CDC 時(shí)候的亞穩(wěn)態(tài)
當(dāng)時(shí)鐘信號(hào)Clk_B的第二個(gè)上升沿到來時(shí),輸入數(shù)據(jù)信號(hào)A正好處于變化過程中。這導(dǎo)致A信號(hào)未能滿足觸發(fā)器F2的建立-保持時(shí)間要求,從而在輸出節(jié)點(diǎn)B處產(chǎn)生了亞穩(wěn)態(tài)值。在B節(jié)點(diǎn)產(chǎn)生的這個(gè)亞穩(wěn)態(tài)中間值,會(huì)影響后續(xù)的三個(gè)分支X1、X2、X3,但對(duì)于其所代表的邏輯狀態(tài)可能存在不同的解讀。
其中一個(gè)分支可能將這個(gè)亞穩(wěn)態(tài)值解讀為邏輯值1,而另一個(gè)分支可能將其解讀為邏輯值0。這種后續(xù)電路對(duì)于前級(jí)亞穩(wěn)態(tài)的自由解讀可能會(huì)在系統(tǒng)電路運(yùn)行過程中隨機(jī)出現(xiàn)。這種現(xiàn)象對(duì)完整的系統(tǒng)時(shí)序可能會(huì)產(chǎn)生巨大的影響,因此在設(shè)計(jì)數(shù)字系統(tǒng)時(shí)需要特別注意這種亞穩(wěn)態(tài)傳播問題的影響。
②CDC 中異步輸入數(shù)據(jù)的保持時(shí)間問題
在時(shí)鐘域交叉(CDC)中,當(dāng)一個(gè)數(shù)據(jù)信號(hào)從快時(shí)鐘域進(jìn)入慢時(shí)鐘域時(shí),可能會(huì)產(chǎn)生與快時(shí)鐘周期等寬的脈沖信號(hào),因?yàn)樵摂?shù)據(jù)信號(hào)的翻轉(zhuǎn)變化嚴(yán)格依賴于快時(shí)鐘域的信號(hào)采樣。然而,對(duì)于慢時(shí)鐘域的時(shí)鐘采樣邊沿來說,很容易忽略這種短暫脈沖狀的異步輸入數(shù)據(jù)。
圖2 數(shù)據(jù)保持時(shí)間問題電路模型與時(shí)序波形
這種情況可能導(dǎo)致在CDC傳輸過程中丟失數(shù)據(jù),主要原因是異步輸入數(shù)據(jù)的保持時(shí)間不符合目標(biāo)觸發(fā)器的要求。如圖2所示,異步輸入數(shù)據(jù)A隨著源時(shí)鐘域信號(hào)clk_A的一個(gè)周期變化。由于數(shù)據(jù)A的保持時(shí)間較短,小于目標(biāo)時(shí)鐘域的一個(gè)時(shí)鐘周期,并且兩個(gè)時(shí)鐘域的時(shí)鐘信號(hào)之間沒有固定的相位關(guān)系,結(jié)果是在clk_B的兩個(gè)上升采樣邊沿之間,類似脈沖信號(hào)的數(shù)據(jù)A被目標(biāo)時(shí)鐘域的同步觸發(fā)器所忽略,從而導(dǎo)致數(shù)據(jù)丟失的現(xiàn)象。
為確保異步數(shù)據(jù)在不同時(shí)鐘域之間的可靠傳輸,需要仔細(xì)考慮數(shù)據(jù)保持時(shí)間的問題,并采取適當(dāng)?shù)?a href="http://www.zgszdi.cn/v/tag/167/" target="_blank">電路設(shè)計(jì)和時(shí)序調(diào)整措施,以避免這種數(shù)據(jù)丟失情況的發(fā)生。
③CDC 中的數(shù)據(jù)關(guān)聯(lián)和競爭
在圖3中展示了一個(gè)常見的兩級(jí)觸發(fā)器型同步設(shè)計(jì),其主要功能是實(shí)現(xiàn)同步和孤立亞穩(wěn)態(tài)。然而,由于觸發(fā)器亞穩(wěn)態(tài)的恢復(fù)時(shí)間很難準(zhǔn)確預(yù)測,這種同步設(shè)計(jì)具有一個(gè)重要的特性,即"周期不確定性" 。
圖3 多觸發(fā)器同步電路模型與時(shí)序波形
從圖3的時(shí)序波形可以看出,盡管觸發(fā)器D1將亞穩(wěn)態(tài)孤立并禁止,但對(duì)于目標(biāo)觸發(fā)器D2而言,在Clk2的第二個(gè)上升沿時(shí)刻,無法確定其是否會(huì)成功翻轉(zhuǎn)到穩(wěn)定狀態(tài)。它有可能在第二個(gè)Clk2上升沿時(shí)刻翻轉(zhuǎn)為邏輯值1,也有可能不翻轉(zhuǎn),繼續(xù)保持邏輯值0。直到Clk2的第三個(gè)上升沿時(shí)刻到來,目標(biāo)觸發(fā)器D2才能穩(wěn)定輸出期望的邏輯值1。這種情況被稱為同步電路的"周期不確定性"。如果這個(gè)異步輸入數(shù)據(jù)是單比特類型,這種CDC問題可能不會(huì)對(duì)后續(xù)電路的正常功能產(chǎn)生影響。然而,如果涉及多比特?cái)?shù)據(jù),采用這種同步方式就可能導(dǎo)致數(shù)據(jù)通道傳輸?shù)幕靵y。
圖4 多 bit 信號(hào)的匯聚問題
基于以上分析,當(dāng)多比特類型的數(shù)據(jù)信號(hào)采用分別同步的方式進(jìn)行處理時(shí),一旦這個(gè)信號(hào)在跳變后發(fā)生,由于每條傳輸路徑上的延遲不同以及同步設(shè)計(jì)的周期不確定性,很可能導(dǎo)致最終輸出數(shù)據(jù)的不一致。這種情況可能引發(fā)目標(biāo)模塊邏輯中一組無法預(yù)測的數(shù)據(jù)值,從而破壞整體功能的穩(wěn)定性。
通過綜合考慮這些因素,在設(shè)計(jì)時(shí)必須慎重選擇適當(dāng)?shù)耐讲呗裕源_保數(shù)據(jù)的可靠傳輸和處理,避免因?yàn)橥絾栴}而引發(fā)的數(shù)據(jù)競爭和不一致性。
那么問題來了,我們應(yīng)該如何對(duì)存在CDC的信號(hào)進(jìn)行同步處理呢?
對(duì)于時(shí)序要求較為嚴(yán)格的數(shù)字SOC電路,在處理時(shí)鐘域交叉(CDC)同步時(shí),簡單地使用串聯(lián)觸發(fā)器的形式已經(jīng)無法滿足設(shè)計(jì)要求。必須采取更為復(fù)雜的同步設(shè)計(jì)機(jī)制。在實(shí)際工程項(xiàng)目中,有幾種常見的方法:
異步的 FIFO
握手協(xié)議
單一使能信號(hào)
結(jié)語:
在數(shù)字系統(tǒng)級(jí)別的時(shí)鐘域交叉(CDC)中,各種復(fù)雜的問題可能會(huì)影響設(shè)計(jì)的穩(wěn)定性和性能。亞穩(wěn)態(tài)傳播、異步輸入數(shù)據(jù)的保持時(shí)間和數(shù)據(jù)關(guān)聯(lián)競爭等都是必須認(rèn)真對(duì)待的挑戰(zhàn)。為了確保設(shè)計(jì)的正確性和可靠性,我們需要采取一系列嚴(yán)謹(jǐn)?shù)耐皆O(shè)計(jì)策略。
針對(duì)時(shí)序要求嚴(yán)格的數(shù)字SOC電路,簡單的串聯(lián)觸發(fā)器同步已不再足夠。我們需要借助更為復(fù)雜的同步設(shè)計(jì)機(jī)制來處理CDC問題。在實(shí)際項(xiàng)目中,常見的方法包括異步的FIFO,握手協(xié)議和單一使能信號(hào)。每種方法都有其適用的場景和特點(diǎn),需要根據(jù)具體情況進(jìn)行選擇。
通過正確應(yīng)用這些同步設(shè)計(jì)機(jī)制,我們可以有效地解決CDC問題,提高系統(tǒng)的可靠性和性能。同時(shí),在設(shè)計(jì)過程中還需要注意不同方法的優(yōu)缺點(diǎn),綜合考慮設(shè)計(jì)的復(fù)雜性、時(shí)序要求和資源消耗等因素。通過科學(xué)合理的設(shè)計(jì),我們能夠克服CDC帶來的挑戰(zhàn),實(shí)現(xiàn)數(shù)字系統(tǒng)的穩(wěn)定運(yùn)行。
審核編輯:湯梓紅
-
時(shí)鐘
+關(guān)注
關(guān)注
11文章
1747瀏覽量
131803 -
CDC
+關(guān)注
關(guān)注
0文章
57瀏覽量
17856 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2003瀏覽量
61348 -
數(shù)字設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
47瀏覽量
22324 -
亞穩(wěn)態(tài)
+關(guān)注
關(guān)注
0文章
46瀏覽量
13327
原文標(biāo)題:數(shù)字設(shè)計(jì)中常見的CDC問題
文章出處:【微信號(hào):處芯積律,微信公眾號(hào):處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
如何評(píng)估MEMS陀螺儀信號(hào)中常見噪聲源?
嵌入式測控系統(tǒng)中常見的數(shù)字濾波算法有哪些?
HDMI I/O設(shè)計(jì)和測試中常見的問題?怎么解決?
控制總線中常見的控制信號(hào)包括哪些
網(wǎng)絡(luò)設(shè)備中常見術(shù)語含義及故障分析
XDC約束技巧之CDC篇
PCB設(shè)計(jì)工作中常見的錯(cuò)誤有哪些?
![PCB設(shè)計(jì)工作<b class='flag-5'>中常見</b>的錯(cuò)誤有哪些?](https://file.elecfans.com/web2/M00/A2/AB/poYBAGRTBMeAUkxJAAK6gcO28nw661.png)
評(píng)論