在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

跨時鐘域的亞穩態的應對措施三種解決方案

Hack電子 ? 來源:CSDN ? 作者:Hack電子 ? 2022-10-19 14:13 ? 次閱讀

個人疑惑

在學習 “跨時鐘域的亞穩態的應對措施” 時,常會看到有三種解決方案:

單bit信號,用:打兩拍

多bit信號,用:異步FIFO

多bit信號,用:格雷碼

多bit信號,用:握手

記是記住了,但我有好幾個疑惑一直沒理解,網上沖浪卻搜不到答案、還是非常困惑…

以下是我的疑惑:

為什么用“打兩拍”來應對跨時鐘域的亞穩態,“打一拍” 不行嗎?

為什么說,用“打兩拍”只是降低了亞穩態的概率,但也有可能導致亞穩態的傳遞呢?

若后接了個FF,隨著posedge clk的出現,觸發器不應該直接就采到0或1了嗎,為啥亞穩態還有一定概率傳遞呢?

假設是DFF(D觸發器),其亞穩態穩定后的值,會恢復為正確的預期輸出值嗎?還是就算穩定了也是無效輸出?

即使 “打兩拍”能阻止“亞穩態的傳遞”,但亞穩態導致后續FF sample到的值依然不一定是符合預期的值,那 “錯誤的值” 難道不依然會向后傳遞,從而造成錯誤的后果嗎?

多bit的跨時鐘域情況用 異步FIFO處理,好理解;格雷碼有啥用嘞?

格雷碼可以讓相鄰二進制數變化只改變1位,但在多bit的data傳輸過程中,data value不都是隨機變化么,格雷碼有啥用嘞?

主要是前面關于打兩拍的疑惑,網上沖浪找不到解答的帖子。

網上只有兩個核心的回答,但對我這樣的數電小白,完全是沒有回答到我個人解惑的點子上,但解惑后再看,會有新的收獲:

打兩拍的目的:第一拍是異步信號轉同步,第二拍是防止亞穩態的傳遞。

我聽了還是很迷。( ̄▽ ̄)"

打一拍和打兩拍和打三拍的區別:用觸發器進入亞穩態的平均故障時間間隔MTBF進行計算,證明打拍數增加,產生亞穩態的可能性遞減:打一拍直接用,很可能出現亞穩態輸出;打兩拍再直接用,出現亞穩態的概率是109年出現一次(具體計算參數見reference);打三拍再直接俄用,出現的概率更低,但是除非超高頻率不然沒必要。

可見reference:跨時鐘域同步,為什么兩級寄存器結構能夠降低亞穩態?

那我個人疑惑呢,最后在外網 stack exchange 上解答了——這個老哥居然和我的疑問一毛一樣!實在是欣慰,久旱逢甘霖…( ̄▽ ̄)"

Stack Exchange上的回答:How does 2-ff synchronizer ensure proper synchonization?

(不知為什么用firefox不顯示問題圖片,用chrome才顯示圖片…)

于是,我打算用自己的話,記錄一下它的問題與回答,也回答我個人的疑惑~

概念補充

什么是亞穩態 metastable state?

首先要闡述一下亞穩態的概念。

元器件在現實運行時,觸發器輸出的邏輯0/1需要時間跳變,而不是瞬發的。因此,若未滿足此cell的建立時間、保持時間,其輸出值則為中間態,那在logic上可能算成0也可能算成1很難講(波形顯示上可能是毛刺、振蕩、固定值等),這就是亞穩態。

一般波形圖像上,1是高電平,0是低電平;但微觀的亞穩態波形如下:

7e39e98c-4f6b-11ed-a3b6-dac502259ad0.png

如圖所示:亞穩態的輸出波形會卡在中間,過一段時間后,可能穩定成1,也可能穩定成0,但都和原預期值沒啥關系了,是無效的!

單bit信號,應用“打兩拍”的電路結構圖

這張圖,給出了兩個點:

“打兩拍”后可以直接接組合邏輯電路。

7eb26dd0-4f6b-11ed-a3b6-dac502259ad0.png

我之前以為后面必接時序電路,相當于后面的電路也是觸發器,于是產生了:“把打兩拍改成打一拍,算上后面的時序電路,不也是相當于打兩拍嗎” 這樣的愚蠢困惑…( ̄▽ ̄)"

下方的波形給了“打兩拍能大概率防止亞穩態傳遞”的圖示:

由于異步data變的太突然,第一拍sample后出現亞穩態,第三拍sample后把亞穩態堵住了,得到正常電平(但值不一定和原預期相同)。

解惑環節

綜上,可以解答我之前的3個疑惑了:

為什么用“打兩拍”來應對跨時鐘域的亞穩態,“打一拍” 不行嗎?

如打兩拍的電路結構圖所示:打一拍的話,若第一拍sample到亞穩態,則后續組合邏輯電路的輸入直接就是亞穩態波形,肯定會把亞穩態傳遞下去,就完犢子了。

為什么說,用“打兩拍”只是降低了亞穩態的概率,但也有可能導致亞穩態的傳遞呢?

如前面的兩張亞穩態的波形所示,亞穩態如果在1T內穩定成高電平或低電平了(概率80%),那第2拍就sample到正常的0或1;若亞穩態1T最后還是中間態,那第2拍還是可能出現亞穩態的,但概率低。

亞穩態穩定需要多久,具體時間由工藝決定。

假設是DFF(D觸發器),其亞穩態穩定后的值,會恢復為正確的預期輸出值嗎?還是就算穩定了也是無效輸出?

如前面的亞穩態微觀波形所說:即使亞穩態穩定了,值也無效。

剩下倆疑惑,大頭講。見下文。

打兩拍的sample到錯誤數據怎么辦

sample亞穩態,結果可能多樣

sample亞穩態,得到的結果可能取決于亞穩態最后穩定于什么狀態,如下圖表示出各種sample的可能:

7ee2d4fc-4f6b-11ed-a3b6-dac502259ad0.png

如圖所示,adat是實際的異步data、bq1_dat是兩級觸發器中的第一個寄存器sample的數據、bq2_dat是第二個寄存器sanple到的數據,bclk是同步時鐘。

則:

a)中,異步data持續2T;FF1 sample到亞穩態時,FF2在下一cycle 對亞穩態的sample是0;但最終sample到了正確的data值。

b)中,異步data持續2T;FF1 sample到亞穩態時,FF2在下一cycle 對亞穩態的sample是1;但最終sample到了正確的data值。

c)中,異步data馬上結束,等價于只持續1T(相當于沒sample到就錯過了);FF1 sample到亞穩態時,FF2在下一cycle 對亞穩態的sample是1;運氣好,最終sample到了正確的data值。

d)中,異步data馬上結束,等價于只持續1T;FF1 sample到亞穩態時,FF2在下一cycle 對亞穩態的sample是0;相當于最終錯過了data值,沒sample到…

那咋辦,豈不是說明“打兩拍”的方法不行???

答案:

因為 “打兩拍” 的目的,是為了在單bit傳輸時,盡可能的防止亞穩態的傳遞,至于這個sample的正確性,本來就不是重點。這種“sample的正確性如何保證”得根據信號的具體類型、目的、應用場景,來進行具體的討論。

Trigger Signals:一個脈沖信號,用來開機、啟動什么的。它沒什么數據信息量,早一個clk、晚一個clk都ok,反正能起作用就行。那上面這個問題就無所謂了。唯一要保證的是,原始異步脈沖信號至少保持2T!(保證打兩拍后,能sample到有效信號)

Control Buses:因為有多bit數據需要進行同步,關系比較復雜。那就不能用 “打兩拍” 的方法,得用 “握手機制“。

Data Buses:這種情況,非常在乎上面提到的正確性問題。所以就 更不應該用 ”打兩拍“方法,得用 異步FIFO的好吧… 在異步FIFO中的指針使用格雷碼,可以降低指針在跳變時出現的亞穩態風險、冒險現象。也就說,格雷碼和異步FIFO是結合使用的… ( ̄▽ ̄)"

總結

當你在乎跨時鐘域 “用打兩拍解決亞穩態,導致后續sample可能未sample到正確結果” 的case,那就不該用 “打兩拍” 的方案,可以考慮異步FIFO和握手機制!而格雷碼,和異步FIFO是聯合使用的。

“打兩拍”的方法,若應用于“從快速時鐘域同步到慢速時鐘域”,數據得多保持幾T,不然會漏采數據。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 邏輯電路
    +關注

    關注

    13

    文章

    494

    瀏覽量

    42632
  • 亞穩態
    +關注

    關注

    0

    文章

    46

    瀏覽量

    13290

原文標題:跨時鐘域的亞穩態處理、為什么要打兩拍不是打一拍、為什么打兩拍能有效?

文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    一文解析時鐘傳輸

    采樣到的信號質量!最常用的同步方法是雙級觸發器緩存法,俗稱延遲打拍法。信號從一個時鐘進入另一個時鐘之前,將該信號用兩級觸發器連續緩存兩次,可有效降低因為時序不滿足而導致的
    的頭像 發表于 11-16 11:55 ?555次閱讀
    一文解析<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>傳輸

    單片機的三種總線結構

    單片機的三種總線結構包括地址總線(Address Bus, AB)、數據總線(Data Bus, DB)和控制總線(Control Bus, CB)。這三種總線在單片機內部及與外部設備之間的數據傳輸
    的頭像 發表于 09-10 11:32 ?2989次閱讀

    極限失控的大模型使電力系統面臨的攻擊風險及應對措施

    分析大規模生成式預訓練模型(以下簡稱為大模型)發生極限失控、使電力系統面臨的攻擊風險及相關的應對措施,以期引起業內對這一風險的重視、討論與行動。基于大模型的現狀、發展趨勢以及它與人
    發表于 07-22 12:09 ?0次下載

    數字示波器的測量方法有哪三種

    數字示波器是一廣泛應用于電子測量領域的儀器,它能夠實時顯示電壓波形,幫助工程師和技術人員對電子信號進行分析和測量。數字示波器的測量方法有很多種,不同的測量方法適用于不同的應用場景。以下是三種常見
    的頭像 發表于 07-17 18:02 ?1708次閱讀

    數字電路中的亞穩態是什么

    在數字電路的設計與實現中,亞穩態是一個不可忽視的現象。它可能由多種因素引發,對電路的穩定性和可靠性產生嚴重影響。本文將深入探討數字電路中亞穩態的概念、產生原因、影響以及應對策略,以期為讀者提供全面而深入的理解。
    的頭像 發表于 05-21 15:29 ?1275次閱讀

    555集成芯片的三種工作模式及區別

    555集成芯片是一個功能強大的模擬電路和數字電路結合的中規模集成電路,它主要有三種工作模式:單穩態模式、雙穩態模式和無穩態模式。這三種模式在
    的頭像 發表于 03-26 14:46 ?1682次閱讀

    EMI(電磁干擾):原理、影響與應對措施

    EMI(電磁干擾):原理、影響與應對措施?|深圳比創達電子EMC
    的頭像 發表于 03-26 11:22 ?2385次閱讀
    EMI(電磁干擾):原理、影響與<b class='flag-5'>應對</b><b class='flag-5'>措施</b>?

    介紹一個IC設計錯誤案例:可讀debug寄存器錯誤時鐘

    本文將介紹一個時鐘錯誤的案例如圖所示,phy_status作為一個多bit的phy_clk時鐘的信號,需要輸入csr模塊作為一個可讀狀態寄存器
    的頭像 發表于 03-11 15:56 ?540次閱讀
    介紹一個IC設計錯誤案例:可讀debug寄存器錯誤<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b>

    為什么格雷碼可以輔助解決多bit時鐘的問題??求解

    單bit通過兩級同步打拍可以有效的解決亞穩態問題。
    的頭像 發表于 03-08 09:02 ?1353次閱讀
    為什么格雷碼可以輔助解決多bit<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的問題??求解

    穩態是什么意思?單穩態是什么意思?雙穩態是什么意思?

    穩態是什么意思?單穩態是什么意思?雙穩態是什么意思?怎么區分這三種? 無穩態是指系統沒有達到穩定狀態,即系統的狀態隨時間變化而不斷變化,沒
    的頭像 發表于 02-18 16:26 ?1866次閱讀

    運放的三種應用

    運放在電路中主要存在三種應用,放大器,濾波器,振蕩器。再這三種應用電路中,運放的兩大特點虛短虛斷仍然成立嗎? 在阻尼振蕩器中,工作過程是否按照我描述的這樣,在反相輸入端加一個近似鋸齒波的電流源,正半
    發表于 01-26 16:18

    兩級觸發器同步,就能消除亞穩態嗎?

    兩級觸發器同步,就能消除亞穩態嗎? 兩級觸發器同步可以幫助消除亞穩態。本文將詳細解釋兩級觸發器同步原理、亞穩態的定義和產生原因、以及兩級觸發器同步如何消除亞穩態的機制。 1. 兩級觸發
    的頭像 發表于 01-16 16:29 ?1226次閱讀

    復位信號存在亞穩態,有危險嗎?

    停留在一個臨界狀態。這種亞穩態可能會引發一系列問題,包括設備故障和數據丟失等。因此,我們需要深入探討這個問題,并了解它的危險性。 第一部分:復位信號的作用和原理 復位信號是一用于讓電子設備回到初始狀態的信號。
    的頭像 發表于 01-16 16:25 ?496次閱讀

    時鐘解決方案

    在很久之前便陸續談過亞穩態,FIFO,復位的設計。本次亦安做一個簡單的總結,從宏觀上給大家展示時鐘解決方案
    的頭像 發表于 01-08 09:42 ?914次閱讀
    <b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>的<b class='flag-5'>解決方案</b>

    如何處理時鐘這些基礎問題

    對于數字設計人員來講,只要信號從一個時鐘跨越到另一個時鐘,那么就可能發生亞穩態。我們稱為“
    發表于 01-08 09:39 ?656次閱讀
    如何處理<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>這些基礎問題
    主站蜘蛛池模板: 天天干天天看| 永久看日本大片免费| 久久久久久久国产精品影院| 色视频亚洲| 精品免费福利视频| 伊人网在线视频观看| 亚洲日本高清| 午夜剧场刺激性爽免费视频| 深夜视频在线免费| 九九天天影视| 丁香网五月天| 九九免费久久这里有精品23| 91网站免费在线观看| 一级a级国产不卡毛片| 久久久久国产一级毛片高清板| 怡红院国产| 日韩欧美一区二区三区视频| 免费美剧在线观看| 国产啊v在线观看| 韩国激情啪啪| 91桃色国产线观看免费| 五月天综合在线| 国产伦精品一区二区三区在线观看| 啪啪免费小视频| 三级欧美在线| 日本精品卡一卡2卡3卡四卡三卡| 亚洲精品成人在线| 在线观看www日本免费网站| 五月情婷婷| 扛着高跟鞋丝袜腿呻吟视频| www日本高清| 9999毛片免费看| 欧美性色生活片天天看99| 亚洲啪啪| 黄在线网站| 中国黄色一级毛片| 4338×亚洲全国最大色成网站| 狠狠色噜狠狠狠狠| 四虎网址| 国产特级毛片aaaaaa毛片| 手机看片1024久久|