0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)字設(shè)計(jì)中常見的CDC問題

sanyue7758 ? 來源: 處芯積律 ? 2023-08-14 11:48 ? 次閱讀

①CDC中的亞穩(wěn)態(tài)傳播問題

在數(shù)字系統(tǒng)級別的時(shí)鐘域交叉(CDC)中,亞穩(wěn)態(tài)傳播問題是一個(gè)重要的挑戰(zhàn)。在這個(gè)問題中,由于時(shí)序差異,信號在觸發(fā)器之間的傳輸可能會導(dǎo)致亞穩(wěn)態(tài)值的產(chǎn)生和傳播。讓我們來看一下模型,如圖1所示。

abd84c50-391a-11ee-9e74-dac502259ad0.png

圖1 CDC 時(shí)候的亞穩(wěn)態(tài)

當(dāng)時(shí)鐘信號Clk_B的第二個(gè)上升沿到來時(shí),輸入數(shù)據(jù)信號A正好處于變化過程中。這導(dǎo)致A信號未能滿足觸發(fā)器F2的建立-保持時(shí)間要求,從而在輸出節(jié)點(diǎn)B處產(chǎn)生了亞穩(wěn)態(tài)值。在B節(jié)點(diǎn)產(chǎn)生的這個(gè)亞穩(wěn)態(tài)中間值,會影響后續(xù)的三個(gè)分支X1、X2、X3,但對于其所代表的邏輯狀態(tài)可能存在不同的解讀。

其中一個(gè)分支可能將這個(gè)亞穩(wěn)態(tài)值解讀為邏輯值1,而另一個(gè)分支可能將其解讀為邏輯值0。這種后續(xù)電路對于前級亞穩(wěn)態(tài)的自由解讀可能會在系統(tǒng)電路運(yùn)行過程中隨機(jī)出現(xiàn)。這種現(xiàn)象對完整的系統(tǒng)時(shí)序可能會產(chǎn)生巨大的影響,因此在設(shè)計(jì)數(shù)字系統(tǒng)時(shí)需要特別注意這種亞穩(wěn)態(tài)傳播問題的影響。

②CDC 中異步輸入數(shù)據(jù)的保持時(shí)間問題

在時(shí)鐘域交叉(CDC)中,當(dāng)一個(gè)數(shù)據(jù)信號從快時(shí)鐘域進(jìn)入慢時(shí)鐘域時(shí),可能會產(chǎn)生與快時(shí)鐘周期等寬的脈沖信號,因?yàn)樵摂?shù)據(jù)信號的翻轉(zhuǎn)變化嚴(yán)格依賴于快時(shí)鐘域的信號采樣。然而,對于慢時(shí)鐘域的時(shí)鐘采樣邊沿來說,很容易忽略這種短暫脈沖狀的異步輸入數(shù)據(jù)。

abf8c160-391a-11ee-9e74-dac502259ad0.png

圖2 數(shù)據(jù)保持時(shí)間問題電路模型與時(shí)序波形

這種情況可能導(dǎo)致在CDC傳輸過程中丟失數(shù)據(jù),主要原因是異步輸入數(shù)據(jù)的保持時(shí)間不符合目標(biāo)觸發(fā)器的要求。如圖2所示,異步輸入數(shù)據(jù)A隨著源時(shí)鐘域信號clk_A的一個(gè)周期變化。由于數(shù)據(jù)A的保持時(shí)間較短,小于目標(biāo)時(shí)鐘域的一個(gè)時(shí)鐘周期,并且兩個(gè)時(shí)鐘域的時(shí)鐘信號之間沒有固定的相位關(guān)系,結(jié)果是在clk_B的兩個(gè)上升采樣邊沿之間,類似脈沖信號的數(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.ttokpm.com/v/tag/167/" target="_blank">電路設(shè)計(jì)和時(shí)序調(diào)整措施,以避免這種數(shù)據(jù)丟失情況的發(fā)生。

③CDC 中的數(shù)據(jù)關(guān)聯(lián)和競爭

在圖3中展示了一個(gè)常見的兩級觸發(fā)器型同步設(shè)計(jì),其主要功能是實(shí)現(xiàn)同步和孤立亞穩(wěn)態(tài)。然而,由于觸發(fā)器亞穩(wěn)態(tài)的恢復(fù)時(shí)間很難準(zhǔn)確預(yù)測,這種同步設(shè)計(jì)具有一個(gè)重要的特性,即"周期不確定性" 。

ac108cdc-391a-11ee-9e74-dac502259ad0.png

圖3 多觸發(fā)器同步電路模型與時(shí)序波形

從圖3的時(shí)序波形可以看出,盡管觸發(fā)器D1將亞穩(wěn)態(tài)孤立并禁止,但對于目標(biāo)觸發(fā)器D2而言,在Clk2的第二個(gè)上升沿時(shí)刻,無法確定其是否會成功翻轉(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問題可能不會對后續(xù)電路的正常功能產(chǎn)生影響。然而,如果涉及多比特?cái)?shù)據(jù),采用這種同步方式就可能導(dǎo)致數(shù)據(jù)通道傳輸?shù)幕靵y。

ac360ab6-391a-11ee-9e74-dac502259ad0.png

圖4 多 bit 信號的匯聚問題

基于以上分析,當(dāng)多比特類型的數(shù)據(jù)信號采用分別同步的方式進(jìn)行處理時(shí),一旦這個(gè)信號在跳變后發(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)該如何對存在CDC的信號進(jìn)行同步處理呢?

對于時(shí)序要求較為嚴(yán)格的數(shù)字SOC電路,在處理時(shí)鐘域交叉(CDC)同步時(shí),簡單地使用串聯(lián)觸發(fā)器的形式已經(jīng)無法滿足設(shè)計(jì)要求。必須采取更為復(fù)雜的同步設(shè)計(jì)機(jī)制。在實(shí)際工程項(xiàng)目中,有幾種常見的方法:

異步的 FIFO

握手協(xié)議

單一使能信號

結(jié)語:

在數(shù)字系統(tǒng)級別的時(shí)鐘域交叉(CDC)中,各種復(fù)雜的問題可能會影響設(shè)計(jì)的穩(wěn)定性和性能。亞穩(wěn)態(tài)傳播、異步輸入數(shù)據(jù)的保持時(shí)間和數(shù)據(jù)關(guān)聯(lián)競爭等都是必須認(rèn)真對待的挑戰(zhàn)。為了確保設(shè)計(jì)的正確性和可靠性,我們需要采取一系列嚴(yán)謹(jǐn)?shù)耐皆O(shè)計(jì)策略。

針對時(shí)序要求嚴(yán)格的數(shù)字SOC電路,簡單的串聯(lián)觸發(fā)器同步已不再足夠。我們需要借助更為復(fù)雜的同步設(shè)計(jì)機(jī)制來處理CDC問題。在實(shí)際項(xiàng)目中,常見的方法包括異步的FIFO,握手協(xié)議和單一使能信號。每種方法都有其適用的場景和特點(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)行。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    10

    文章

    1673

    瀏覽量

    130955
  • CDC
    CDC
    +關(guān)注

    關(guān)注

    0

    文章

    56

    瀏覽量

    17718
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    1990

    瀏覽量

    60870
  • 數(shù)字設(shè)計(jì)

    關(guān)注

    0

    文章

    46

    瀏覽量

    22269
  • 亞穩(wěn)態(tài)
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    13201

原文標(biāo)題:數(shù)字設(shè)計(jì)中常見的CDC問題

文章出處:【微信號:處芯積律,微信公眾號:處芯積律】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    FPGACPLD中常見模塊設(shè)計(jì)精華集錦

    FPGACPLD中常見模塊設(shè)計(jì)精華集錦
    發(fā)表于 08-17 22:22

    如何評估MEMS陀螺儀信號中常見噪聲源?

    MEMS陀螺儀信號中的常見噪聲源評估MEMS陀螺儀信號中常見噪聲源的簡單流程
    發(fā)表于 03-08 06:17

    LED驅(qū)動電源測量中常見技術(shù)有哪些

    LED驅(qū)動電源測量中常見技術(shù)有哪些
    發(fā)表于 03-11 08:11

    電源中常見的故障現(xiàn)象如何維修

    電源中常見的故障現(xiàn)象如何維修
    發(fā)表于 03-11 07:24

    嵌入式測控系統(tǒng)中常見數(shù)字濾波算法有哪些?

    嵌入式測控系統(tǒng)中常見數(shù)字濾波算法有哪些?常見數(shù)字濾波算法對比分析哪個(gè)好?
    發(fā)表于 04-12 06:39

    在無線移動數(shù)據(jù)接收中常見的問題

    討論一個(gè)在無線移動數(shù)據(jù)接收中常見的問題。
    發(fā)表于 04-14 06:48

    電子設(shè)備設(shè)計(jì)研發(fā)中常見的問題有哪些?

    電子設(shè)備設(shè)計(jì)研發(fā)中常見的問題有哪些?
    發(fā)表于 05-08 09:22

    HDMI I/O設(shè)計(jì)和測試中常見的問題?怎么解決?

    本文討論了HDMI I/O設(shè)計(jì)和測試中常見到的和需要注意的問題以及解決的方法。
    發(fā)表于 06-02 06:28

    控制總線中常見的控制信號包括哪些

    屬于系統(tǒng)總線的有哪幾種?什么是總線復(fù)用?總線復(fù)用有何功能?總線特性包括哪幾種?控制總線中常見的控制信號包括哪些?
    發(fā)表于 08-11 07:28

    平衡小車在移植過程中常見的問題有哪些?

    平衡小車在移植過程中常見的問題有哪些?
    發(fā)表于 11-10 06:19

    網(wǎng)絡(luò)設(shè)備中常見術(shù)語含義及故障分析

    網(wǎng)絡(luò)設(shè)備中常見術(shù)語含義及故障分析,詳細(xì)解釋了在網(wǎng)絡(luò)設(shè)備使用中常見的術(shù)語
    發(fā)表于 12-27 11:38 ?1.4w次閱讀

    XDC約束技巧之CDC

    )的缺省認(rèn)識不同,那么碰到 FPGA 設(shè)計(jì)中常見CDC 路徑,到底應(yīng)該怎么約束,在設(shè)計(jì)上又要注意些什么才能保證時(shí)序報(bào)告的準(zhǔn)確性?
    的頭像 發(fā)表于 04-03 11:41 ?1826次閱讀

    PCB設(shè)計(jì)工作中常見的錯(cuò)誤有哪些?

    一站式PCBA智造廠家今天為大家講講怎pcb設(shè)計(jì)過程中常見錯(cuò)誤有哪些?PCB設(shè)計(jì)過程中常見錯(cuò)誤歸納。接下來為大家介紹下PCB設(shè)計(jì)過程中常見錯(cuò)誤。
    的頭像 發(fā)表于 05-23 09:02 ?1353次閱讀
    PCB設(shè)計(jì)工作<b class='flag-5'>中常見</b>的錯(cuò)誤有哪些?

    直線導(dǎo)軌使用中常見的問題有哪些

    直線導(dǎo)軌使用中常見的問題有哪些?
    的頭像 發(fā)表于 08-03 17:43 ?974次閱讀
    直線導(dǎo)軌使用<b class='flag-5'>中常見</b>的問題有哪些

    理解STM32控制中常見的PID算法

    理解STM32控制中常見的PID算法
    的頭像 發(fā)表于 10-17 17:28 ?2104次閱讀
    理解STM32控制<b class='flag-5'>中常見</b>的PID算法