0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

跨時(shí)鐘域電路設(shè)計(jì)—單比特信號(hào)傳輸

冬至子 ? 來(lái)源:數(shù)字IC小站 ? 作者:Eternity233 ? 2023-06-27 14:25 ? 次閱讀
  • 亞穩(wěn)態(tài)

時(shí)鐘域(CDC)的應(yīng)從對(duì)亞穩(wěn)定性和同步性的基本了解開(kāi)始。用普通的話來(lái)說(shuō),亞穩(wěn)定性是指不穩(wěn)定的中間狀態(tài),但是在此狀態(tài)下,任何微小的擾動(dòng)將導(dǎo)致最終狀態(tài)變?yōu)榉€(wěn)定狀態(tài),但是并不能保證最終的狀態(tài)就是設(shè)計(jì)所期待的狀態(tài),換句話就是可能發(fā)生傳輸錯(cuò)誤。當(dāng)應(yīng)用于數(shù)字電路中的觸發(fā)器時(shí),它表示觸發(fā)器的輸出可能尚未穩(wěn)定,不確定是否能到最終期望值的狀態(tài)。

觸發(fā)器進(jìn)入亞穩(wěn)態(tài)的一種方法是違反了其建立或保持時(shí)間。在異步時(shí)鐘域跨越(CDC)中,其中源時(shí)鐘和目標(biāo)時(shí)鐘沒(méi)有頻率關(guān)系,來(lái)自源域的信號(hào)在驅(qū)動(dòng)目的域的觸發(fā)器時(shí),無(wú)法保證目的域的觸發(fā)器能夠滿足建立時(shí)間和保持時(shí)間。當(dāng)目的域的觸發(fā)器的輸出變?yōu)閬喎€(wěn)態(tài)并且在必須再次對(duì)其輸出進(jìn)行采樣(由目標(biāo)域中的第二個(gè)觸發(fā)器完成)時(shí)尚未收斂,則將發(fā)生同步失敗。更糟糕的是,下一個(gè)觸發(fā)器也可能變?yōu)閬喎€(wěn)態(tài),從而導(dǎo)致亞穩(wěn)定性在設(shè)計(jì)中傳播!

  • 跨時(shí)鐘域同步器

同步器是跨時(shí)鐘域中設(shè)計(jì)的一種常用電路,其目的是把同步失敗的可能性降到最低。我們希望亞穩(wěn)態(tài)在一個(gè)同步周期(目標(biāo)時(shí)鐘域的時(shí)鐘周期)內(nèi)解決,以便我們可以在目標(biāo)時(shí)鐘域中使得觸發(fā)器的輸出是安全采樣值。在此我們把同步器的兩次采樣出現(xiàn)問(wèn)題之間的時(shí)間間隔,稱(chēng)為平均故障間隔時(shí)間(MTBF)。

在跨時(shí)鐘域(CDC)中出現(xiàn)亞穩(wěn)態(tài)的概率與以下因素成正比:

  1. 目標(biāo)時(shí)鐘域的時(shí)鐘頻率
  2. 跨時(shí)鐘邊界的數(shù)據(jù)傳輸速率

根據(jù)上述因素,我們常用的同步器電路如下:

  • 兩個(gè)觸發(fā)器同步器

圖片

最基本的同步器是兩個(gè)串聯(lián)的觸發(fā)器,均由目的時(shí)鐘域提供時(shí)鐘。這個(gè)電路稱(chēng)為兩個(gè)觸發(fā)器同步器。如果輸入數(shù)據(jù)的變化非常接近接收時(shí)鐘邊沿(在建立/保持時(shí)間內(nèi)),則同步器中的第一個(gè)觸發(fā)器可能會(huì)變?yōu)閬喎€(wěn)態(tài),但是在信號(hào)被采樣之前,仍然有一個(gè)完整的時(shí)鐘使信號(hào)變得穩(wěn)定--第二觸發(fā)器。然后,目標(biāo)時(shí)鐘域的邏輯使用的是第二個(gè)觸發(fā)器的輸出。

兩級(jí)觸發(fā)器可防止亞穩(wěn)態(tài)傳播的原理:假設(shè)第一級(jí)觸發(fā)器的輸入不滿足其建立/保持時(shí)間,它在第一個(gè)脈沖沿到來(lái)后輸出的數(shù)據(jù)就為亞穩(wěn)態(tài),那么在下一個(gè)脈沖沿到來(lái)之前,其輸出的亞穩(wěn)態(tài)數(shù)據(jù)在一段恢復(fù)時(shí)間后必須穩(wěn)定下來(lái),而且穩(wěn)定的數(shù)據(jù)必須滿足第二級(jí)觸發(fā)器的建立時(shí)間,如果都滿足了,在下一個(gè)脈沖沿到來(lái)時(shí),第二級(jí)觸發(fā)器將不會(huì)出現(xiàn)亞穩(wěn)態(tài),因?yàn)槠漭斎攵说臄?shù)據(jù)滿足其建立保持時(shí)間。同步器有效的條件:第一級(jí)觸發(fā)器進(jìn)入亞穩(wěn)態(tài)后的恢復(fù)時(shí)間 + 第二級(jí)觸發(fā)器的建立時(shí)間 <= 時(shí)鐘周期。如果不滿足上述表達(dá)式,那么到第二個(gè)觸發(fā)器開(kāi)始,信號(hào)仍然可能是亞穩(wěn)態(tài)的。在這種情況下,將發(fā)生同步錯(cuò)誤,并且設(shè)計(jì)可能會(huì)發(fā)生故障,但是這種情況是很罕見(jiàn)的。

兩個(gè)觸發(fā)器同步器足以滿足很大部分應(yīng)用的需求了。為了進(jìn)一步提高M(jìn)TBF,有時(shí)會(huì)使用具有更好的建立/保持時(shí)間特性的庫(kù)單元(其具有低閾值電壓)構(gòu)建兩個(gè)觸發(fā)器同步器。

圖片

在跨時(shí)鐘域(CDC)發(fā)送信號(hào)到同步器之前,通常先在源時(shí)鐘域中使用寄存器保存信號(hào)。這也是為什么上圖中介紹為什么在兩個(gè)時(shí)域的觸發(fā)器之間需要沒(méi)有組合邏輯的原因,只有這樣才可以首先消除了組合電路產(chǎn)生的毛刺。如下圖所示:

圖片

因?yàn)樵诮M合邏輯電路中常常因?yàn)楦鱾€(gè)輸入信號(hào)的不一致性以及各路徑延遲的不一樣,可能導(dǎo)致輸出結(jié)果存在毛刺。

而在跨時(shí)鐘域時(shí),又不確定目的時(shí)鐘域時(shí)鐘上升沿什么時(shí)候到來(lái),因此目的時(shí)鐘域時(shí)鐘的采樣就更加無(wú)法保證。

因此必須保證兩個(gè)時(shí)域的觸發(fā)器之間沒(méi)有組合邏輯。

  • 慢時(shí)鐘域到快時(shí)鐘域

最簡(jiǎn)單的情況是將信號(hào)從慢速時(shí)鐘域傳遞到快速時(shí)鐘域。只要快時(shí)鐘的頻率大于慢時(shí)鐘頻率的1.5-2倍,通常就不會(huì)有問(wèn)題??焖倌繕?biāo)時(shí)鐘將簡(jiǎn)單地對(duì)慢速信號(hào)進(jìn)行多次采樣。在這些情況下,一個(gè)簡(jiǎn)單的兩級(jí)串聯(lián)觸發(fā)器同步就足夠了。

目的時(shí)鐘域如果不采取任何操作,那么就會(huì)多次采樣同一個(gè)值,這會(huì)導(dǎo)致一個(gè)問(wèn)題--電路誤以為這是多個(gè)操作。因此為了避免這種錯(cuò)誤的發(fā)生,通常添加一些簡(jiǎn)單的邏輯使得同步后的采樣值出現(xiàn)周期和原時(shí)鐘域的一樣。具體操作,在soc設(shè)計(jì)方法與實(shí)現(xiàn)書(shū)上有講。

如果快時(shí)鐘的頻率小于慢時(shí)鐘頻率的1.5倍,也就是稍微快點(diǎn),這個(gè)歡迎各位討論,我覺(jué)得使用。

  • 快時(shí)鐘域到慢時(shí)鐘域

困難的情況是將快速信號(hào)傳遞到慢速時(shí)鐘域。明顯的問(wèn)題是,如果快速信號(hào)上的脈沖短于慢速時(shí)鐘的周期,則該脈沖可能會(huì)在被慢速時(shí)鐘采樣之前消失。下面的波形顯示了這種情況。

圖片

還有一個(gè)考慮較少的問(wèn)題是,即使脈沖只是比慢時(shí)鐘的周期稍寬,信號(hào)也會(huì)在目標(biāo)觸發(fā)器的建立/保持時(shí)間內(nèi)(在慢時(shí)鐘上)變化,這會(huì)違反時(shí)序并導(dǎo)致亞穩(wěn)性。

在處理上述問(wèn)題時(shí),首先應(yīng)該確認(rèn)是否需要源信號(hào)中的每個(gè)值,如果可以不需要,那么采樣在上文異步fifo中設(shè)計(jì)的格雷碼就可以異步FIFO設(shè)計(jì)。當(dāng)然如果需要在目的域中使用每個(gè)值,那么就得想辦法設(shè)計(jì)新方法。

  • 還是使用兩級(jí)觸發(fā)器

一個(gè)簡(jiǎn)單的兩個(gè)觸發(fā)器同步器是跨時(shí)鐘域交叉?zhèn)鬏斝盘?hào)的最快方法。只要在快速時(shí)鐘域中生成的信號(hào)比慢速時(shí)鐘的周期時(shí)間寬,在許多應(yīng)用中就足夠了。例如,如果只需要同步緩慢變化的狀態(tài)信號(hào),則可能會(huì)起作用。一個(gè)安全的經(jīng)驗(yàn)法則是信號(hào)必須大于目標(biāo)時(shí)鐘周期寬度的1.5倍。這保證了信號(hào)將被目標(biāo)時(shí)鐘的至少一個(gè)(但可能更多)時(shí)鐘沿采樣??梢允褂肧ystemVerilog斷言(SVA)輕松檢查需求。

當(dāng)源和目標(biāo)的相對(duì)時(shí)鐘頻率固定時(shí),很容易實(shí)現(xiàn)1.5x的周期寬度。但是在現(xiàn)實(shí)世界中,情況并非如此。目標(biāo)時(shí)鐘可以采用多種不同的頻率,它們可以與源時(shí)鐘更快/更低/相同。在那種情況下,設(shè)計(jì)時(shí)鐘域交叉信號(hào)來(lái)滿足最慢目標(biāo)時(shí)鐘的1.5倍周期寬度并不容易。

  • 采用具有反饋信號(hào)的同步器

圖片

上圖中,源域通過(guò)兩個(gè)觸發(fā)器同步器將信號(hào)發(fā)送到目的時(shí)鐘域,然后通過(guò)另一個(gè)兩個(gè)觸發(fā)器同步器將同步信號(hào)傳遞回源時(shí)鐘域,作為反饋確認(rèn)。下圖顯示了同步器的波形。

圖片

該解決方案非常安全,但是由于在允許再次更改信號(hào)之前需要在兩個(gè)方向上進(jìn)行同步,因此確實(shí)存在增加延遲的代價(jià)。

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

    關(guān)注

    1

    文章

    151

    瀏覽量

    19089
  • MTBF
    +關(guān)注

    關(guān)注

    1

    文章

    30

    瀏覽量

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

    關(guān)注

    0

    文章

    57

    瀏覽量

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

    關(guān)注

    14

    文章

    2032

    瀏覽量

    61895
  • 同步器
    +關(guān)注

    關(guān)注

    1

    文章

    106

    瀏覽量

    15063
收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    時(shí)鐘設(shè)計(jì)之控制信號(hào)傳輸工作原理

    時(shí)鐘通俗地講,就是模塊之間有數(shù)據(jù)交互,但是模塊用的不是同一個(gè)時(shí)鐘進(jìn)行驅(qū)動(dòng)。
    的頭像 發(fā)表于 10-08 17:00 ?2837次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>設(shè)計(jì)之控制<b class='flag-5'>信號(hào)</b><b class='flag-5'>傳輸</b>工作原理

    時(shí)鐘控制信號(hào)傳輸設(shè)計(jì)方案

    clk2的時(shí)鐘。當(dāng)clk1比clk2的頻率高時(shí),則稱(chēng)模塊1(相對(duì)于模塊2)為快時(shí)鐘,而模塊2位為慢時(shí)鐘
    發(fā)表于 10-16 15:47 ?1260次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>控制<b class='flag-5'>信號(hào)</b><b class='flag-5'>傳輸</b>設(shè)計(jì)方案

    關(guān)于時(shí)鐘信號(hào)的處理方法

    我在知乎看到了多bit信號(hào)時(shí)鐘的問(wèn)題,于是整理了一下自己對(duì)于時(shí)鐘
    的頭像 發(fā)表于 10-09 10:44 ?6950次閱讀

    看看Stream信號(hào)里是如何做時(shí)鐘握手的

    target,hit這種單比特信號(hào)時(shí)鐘交互來(lái)進(jìn)行信息的交互。基于這對(duì)信使,雙方各自定義了各自的行動(dòng)規(guī)則作為
    發(fā)表于 07-07 17:25

    時(shí)鐘信號(hào)的幾種同步方法研究

    時(shí)鐘信號(hào)的同步方法應(yīng)根據(jù)源時(shí)鐘與目標(biāo)時(shí)鐘的相位關(guān)系、該
    發(fā)表于 05-09 15:21 ?63次下載
    <b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b><b class='flag-5'>信號(hào)</b>的幾種同步方法研究

    電路的角度出發(fā),提出了一種新的SOC時(shí)鐘同步電路設(shè)計(jì)的方法

    針對(duì)當(dāng)前SOC內(nèi)部時(shí)鐘越來(lái)越復(fù)雜、接口越來(lái)越多以及亞穩(wěn)態(tài)、漏信號(hào)等常見(jiàn)的各種問(wèn)題,分析了以往的優(yōu)化方法的優(yōu)缺點(diǎn),然后從電路的角度出發(fā),提出了一種新的SOC
    的頭像 發(fā)表于 02-09 14:30 ?6863次閱讀
    從<b class='flag-5'>電路</b>的角度出發(fā),提出了一種新的SOC<b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>同步<b class='flag-5'>電路設(shè)計(jì)</b>的方法

    單位寬信號(hào)如何時(shí)鐘

    單位寬(Single bit)信號(hào)即該信號(hào)的位寬為1,通??刂?b class='flag-5'>信號(hào)居多。對(duì)于此類(lèi)信號(hào),如需時(shí)鐘
    的頭像 發(fā)表于 04-13 09:11 ?1553次閱讀

    單bit信號(hào)時(shí)鐘傳輸可以使用兩級(jí)同步但后果呢?

    看的東西多了,發(fā)現(xiàn)有些并未領(lǐng)會(huì)到位。單bit信號(hào)時(shí)鐘傳輸,可以使用兩級(jí)同步,但后果呢?
    的頭像 發(fā)表于 05-10 10:08 ?1092次閱讀
    單bit<b class='flag-5'>信號(hào)</b>的<b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b><b class='flag-5'>傳輸</b>可以使用兩級(jí)同步但后果呢?

    時(shí)鐘電路設(shè)計(jì):多位寬數(shù)據(jù)通過(guò)FIFO時(shí)鐘

    FIFO是實(shí)現(xiàn)多位寬數(shù)據(jù)的異步時(shí)鐘操作的常用方法,相比于握手方式,F(xiàn)IFO一方面允許發(fā)送端在每個(gè)時(shí)鐘周期都發(fā)送數(shù)據(jù),另一方面還可以對(duì)數(shù)據(jù)進(jìn)行緩存。需要注意的是對(duì)FIFO控制
    的頭像 發(fā)表于 05-11 14:01 ?3741次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b><b class='flag-5'>電路設(shè)計(jì)</b>:多位寬數(shù)據(jù)通過(guò)FIFO<b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>

    時(shí)鐘電路設(shè)計(jì)總結(jié)

    時(shí)鐘操作包括同步時(shí)鐘操作和異步
    的頭像 發(fā)表于 05-18 09:18 ?964次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b><b class='flag-5'>電路設(shè)計(jì)</b>總結(jié)

    從處理單bit時(shí)鐘信號(hào)同步問(wèn)題來(lái)入手

    在數(shù)字電路中,時(shí)鐘處理是個(gè)很龐大的問(wèn)題,因此將會(huì)作為一個(gè)專(zhuān)題來(lái)陸續(xù)分享。今天先來(lái)從處理單bit時(shí)鐘
    發(fā)表于 06-27 11:25 ?2119次閱讀
    從處理單bit<b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b><b class='flag-5'>信號(hào)</b>同步問(wèn)題來(lái)入手

    所有的單比特信號(hào)時(shí)鐘都可以用敲兩級(jí)DFF的辦法處理嗎?

    用敲兩級(jí)DFF的辦法(兩級(jí)DFF同步器)可以實(shí)現(xiàn)單比特信號(hào)時(shí)鐘處理。但你或許會(huì)有疑問(wèn),是所有的單比特
    的頭像 發(fā)表于 06-28 11:39 ?1400次閱讀
    所有的<b class='flag-5'>單比特</b><b class='flag-5'>信號(hào)</b><b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>都可以用敲兩級(jí)DFF的辦法處理嗎?

    時(shí)鐘電路設(shè)計(jì):?jiǎn)挝粚?b class='flag-5'>信號(hào)如何時(shí)鐘

    單位寬(Single bit)信號(hào)即該信號(hào)的位寬為1,通??刂?b class='flag-5'>信號(hào)居多。對(duì)于此類(lèi)信號(hào),如需時(shí)鐘
    的頭像 發(fā)表于 08-16 09:53 ?1630次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b><b class='flag-5'>電路設(shè)計(jì)</b>:?jiǎn)挝粚?b class='flag-5'>信號(hào)</b>如何<b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>

    fpga時(shí)鐘通信時(shí),慢時(shí)鐘如何讀取快時(shí)鐘發(fā)送過(guò)來(lái)的數(shù)據(jù)?

    時(shí),由于時(shí)鐘頻率不同,所以可能會(huì)產(chǎn)生元件的不穩(wěn)定情況,導(dǎo)致傳輸數(shù)據(jù)的錯(cuò)誤。此時(shí)我們需要采取一些特殊的措施,來(lái)保證時(shí)鐘
    的頭像 發(fā)表于 10-18 15:23 ?1372次閱讀

    一文解析時(shí)鐘傳輸

    一、單比特CDC傳輸1.1 慢到快 快時(shí)鐘相比慢時(shí)鐘采樣速度更快,也就是說(shuō)從慢
    的頭像 發(fā)表于 11-16 11:55 ?1162次閱讀
    一文解析<b class='flag-5'>跨</b><b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b><b class='flag-5'>傳輸</b>

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品