一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

跨時鐘域的亞穩(wěn)態(tài)的應(yīng)對措施三種解決方案

Hack電子 ? 來源:CSDN ? 作者:Hack電子 ? 2022-10-19 14:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

個人疑惑

在學(xué)習(xí) “跨時鐘域的亞穩(wěn)態(tài)的應(yīng)對措施” 時,常會看到有三種解決方案:

單bit信號,用:打兩拍

多bit信號,用:異步FIFO

多bit信號,用:格雷碼

多bit信號,用:握手

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

以下是我的疑惑:

為什么用“打兩拍”來應(yīng)對跨時鐘域的亞穩(wěn)態(tài),“打一拍” 不行嗎?

為什么說,用“打兩拍”只是降低了亞穩(wěn)態(tài)的概率,但也有可能導(dǎo)致亞穩(wěn)態(tài)的傳遞呢?

若后接了個FF,隨著posedge clk的出現(xiàn),觸發(fā)器不應(yīng)該直接就采到0或1了嗎,為啥亞穩(wěn)態(tài)還有一定概率傳遞呢?

假設(shè)是DFF(D觸發(fā)器),其亞穩(wěn)態(tài)穩(wěn)定后的值,會恢復(fù)為正確的預(yù)期輸出值嗎?還是就算穩(wěn)定了也是無效輸出?

即使 “打兩拍”能阻止“亞穩(wěn)態(tài)的傳遞”,但亞穩(wěn)態(tài)導(dǎo)致后續(xù)FF sample到的值依然不一定是符合預(yù)期的值,那 “錯誤的值” 難道不依然會向后傳遞,從而造成錯誤的后果嗎?

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

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

主要是前面關(guān)于打兩拍的疑惑,網(wǎng)上沖浪找不到解答的帖子。

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

打兩拍的目的:第一拍是異步信號轉(zhuǎn)同步,第二拍是防止亞穩(wěn)態(tài)的傳遞。

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

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

可見reference:跨時鐘域同步,為什么兩級寄存器結(jié)構(gòu)能夠降低亞穩(wěn)態(tài)?

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

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

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

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

概念補(bǔ)充

什么是亞穩(wěn)態(tài) metastable state?

首先要闡述一下亞穩(wěn)態(tài)的概念。

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

一般波形圖像上,1是高電平,0是低電平;但微觀的亞穩(wěn)態(tài)波形如下:

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

如圖所示:亞穩(wěn)態(tài)的輸出波形會卡在中間,過一段時間后,可能穩(wěn)定成1,也可能穩(wěn)定成0,但都和原預(yù)期值沒啥關(guān)系了,是無效的!

單bit信號,應(yīng)用“打兩拍”的電路結(jié)構(gòu)圖

這張圖,給出了兩個點(diǎn):

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

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

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

下方的波形給了“打兩拍能大概率防止亞穩(wěn)態(tài)傳遞”的圖示:

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

解惑環(huán)節(jié)

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

為什么用“打兩拍”來應(yīng)對跨時鐘域的亞穩(wěn)態(tài),“打一拍” 不行嗎?

如打兩拍的電路結(jié)構(gòu)圖所示:打一拍的話,若第一拍sample到亞穩(wěn)態(tài),則后續(xù)組合邏輯電路的輸入直接就是亞穩(wěn)態(tài)波形,肯定會把亞穩(wěn)態(tài)傳遞下去,就完?duì)僮恿恕?/p>

為什么說,用“打兩拍”只是降低了亞穩(wěn)態(tài)的概率,但也有可能導(dǎo)致亞穩(wěn)態(tài)的傳遞呢?

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

亞穩(wěn)態(tài)穩(wěn)定需要多久,具體時間由工藝決定。

假設(shè)是DFF(D觸發(fā)器),其亞穩(wěn)態(tài)穩(wěn)定后的值,會恢復(fù)為正確的預(yù)期輸出值嗎?還是就算穩(wěn)定了也是無效輸出?

如前面的亞穩(wěn)態(tài)微觀波形所說:即使亞穩(wěn)態(tài)穩(wěn)定了,值也無效。

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

打兩拍的sample到錯誤數(shù)據(jù)怎么辦

sample亞穩(wěn)態(tài),結(jié)果可能多樣

sample亞穩(wěn)態(tài),得到的結(jié)果可能取決于亞穩(wěn)態(tài)最后穩(wěn)定于什么狀態(tài),如下圖表示出各種sample的可能:

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

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

則:

a)中,異步data持續(xù)2T;FF1 sample到亞穩(wěn)態(tài)時,F(xiàn)F2在下一cycle 對亞穩(wěn)態(tài)的sample是0;但最終sample到了正確的data值。

b)中,異步data持續(xù)2T;FF1 sample到亞穩(wěn)態(tài)時,F(xiàn)F2在下一cycle 對亞穩(wěn)態(tài)的sample是1;但最終sample到了正確的data值。

c)中,異步data馬上結(jié)束,等價于只持續(xù)1T(相當(dāng)于沒sample到就錯過了);FF1 sample到亞穩(wěn)態(tài)時,F(xiàn)F2在下一cycle 對亞穩(wěn)態(tài)的sample是1;運(yùn)氣好,最終sample到了正確的data值。

d)中,異步data馬上結(jié)束,等價于只持續(xù)1T;FF1 sample到亞穩(wěn)態(tài)時,F(xiàn)F2在下一cycle 對亞穩(wěn)態(tài)的sample是0;相當(dāng)于最終錯過了data值,沒sample到…

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

答案:

因?yàn)?“打兩拍” 的目的,是為了在單bit傳輸時,盡可能的防止亞穩(wěn)態(tài)的傳遞,至于這個sample的正確性,本來就不是重點(diǎn)。這種“sample的正確性如何保證”得根據(jù)信號的具體類型、目的、應(yīng)用場景,來進(jìn)行具體的討論。

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

Control Buses:因?yàn)橛卸郻it數(shù)據(jù)需要進(jìn)行同步,關(guān)系比較復(fù)雜。那就不能用 “打兩拍” 的方法,得用 “握手機(jī)制“。

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

總結(jié)

當(dāng)你在乎跨時鐘域 “用打兩拍解決亞穩(wěn)態(tài),導(dǎo)致后續(xù)sample可能未sample到正確結(jié)果” 的case,那就不該用 “打兩拍” 的方案,可以考慮異步FIFO和握手機(jī)制!而格雷碼,和異步FIFO是聯(lián)合使用的。

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

審核編輯 :李倩

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

    關(guān)注

    13

    文章

    502

    瀏覽量

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

    關(guān)注

    0

    文章

    47

    瀏覽量

    13528

原文標(biāo)題:跨時鐘域的亞穩(wěn)態(tài)處理、為什么要打兩拍不是打一拍、為什么打兩拍能有效?

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    開關(guān)電源三種控制模式:PWM/PFM/PSM

    摘要 本文詳細(xì)介紹了開關(guān)電源的三種主要調(diào)制方式:PWM(脈沖寬度調(diào)制)、PFM(脈沖頻率調(diào)制)和PSM(脈沖周期調(diào)制)。PWM通過調(diào)整脈沖寬度保持恒定頻率,適用于重負(fù)載,但輕負(fù)載效率低。PFM則在
    發(fā)表于 06-09 16:11

    介紹三種常見的MySQL高可用方案

    在生產(chǎn)環(huán)境中,為了確保數(shù)據(jù)庫系統(tǒng)的連續(xù)可用性、降低故障恢復(fù)時間以及實(shí)現(xiàn)業(yè)務(wù)的無縫切換,高可用(High Availability, HA)方案至關(guān)重要。本文將詳細(xì)介紹三種常見的 MySQL 高可用
    的頭像 發(fā)表于 05-28 17:16 ?370次閱讀

    異步時鐘處理方法大全

    該方法只用于慢到快時鐘的1bit信號傳遞。在Xilinx器件中,可以使用(* ASYNC_REG = "TRUE" *)標(biāo)記,將兩個寄存器盡量靠近綜合,降低 亞穩(wěn)態(tài)因?qū)Ь€延遲太大而傳播到第二個寄存器的可能性。
    的頭像 發(fā)表于 05-14 15:33 ?614次閱讀
    <b class='flag-5'>跨</b>異步<b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法大全

    redis三種集群方案詳解

    在Redis中提供的集群方案總共有三種(一般一個redis節(jié)點(diǎn)不超過10G內(nèi)存)。
    的頭像 發(fā)表于 03-31 10:46 ?713次閱讀
    redis<b class='flag-5'>三種</b>集群<b class='flag-5'>方案</b>詳解

    LGS5145三種常見問題和解決方案的經(jīng)驗(yàn)分享

    一、熱插拔損壞 當(dāng)LGS5145VIN引腳出現(xiàn)高壓或輸入熱插拔現(xiàn)象時容易出現(xiàn)芯片燒毀現(xiàn)象。該現(xiàn)象一般為輸入端引腳過壓遭受EOS損傷導(dǎo)致。以下為熱插拔產(chǎn)生電壓尖峰幾種解決方案: 陶瓷電容器具有體積小
    發(fā)表于 03-10 09:31

    LGS5145三種常見問題和解決方案的經(jīng)驗(yàn)分享

    一、熱插拔損壞 當(dāng)LGS5145VIN引腳出現(xiàn)高壓或輸入熱插拔現(xiàn)象時容易出現(xiàn)芯片燒毀現(xiàn)象。該現(xiàn)象一般為輸入端引腳過壓遭受EOS損傷導(dǎo)致。以下為熱插拔產(chǎn)生電壓尖峰幾種解決方案:陶瓷電容器具有體積小
    發(fā)表于 02-25 10:33

    CMOS邏輯IC使用時如何應(yīng)對電路中的危害、亞穩(wěn)態(tài)、鎖存以及ESD—東芝半導(dǎo)體帶你深入電子設(shè)計

    提要 本期課堂,我們將繼續(xù)深入CMOS邏輯IC的使用注意事項(xiàng),介紹如何應(yīng)對電路中的危害、亞穩(wěn)態(tài)、鎖存以及ESD防護(hù)等問題。 Q 危害的問題 如果是由OR(或)、AND(與)和其它門組成的多輸入組合
    的頭像 發(fā)表于 02-07 17:43 ?1320次閱讀
    CMOS邏輯IC使用時如何<b class='flag-5'>應(yīng)對</b>電路中的危害、<b class='flag-5'>亞穩(wěn)態(tài)</b>、鎖存以及ESD—東芝半導(dǎo)體帶你深入電子設(shè)計

    JESD204B接口協(xié)議采用SUBCLASS1方案,在系統(tǒng)設(shè)計上遇到諸多問題求解決

    的,并且在不同的電壓,如何能保證到達(dá)各器件內(nèi)部之后,仍能滿足建立保持時間要求呢?特別是DEVICE CLK采用2.5G的高頻情況下。如果以外部時鐘控制芯片去調(diào)整的話,即使在常溫下能保證DEVICE
    發(fā)表于 01-10 07:25

    示波器的三種觸發(fā)模式

    示波器的觸發(fā)方式不僅影響波形捕捉的時機(jī),還決定了顯示的波形是否穩(wěn)定。 常見的觸發(fā)模式有三種: 單次觸發(fā) (Single)、 正常觸發(fā) (Normal)和 自動觸發(fā) (Auto)。下面將對這三種觸發(fā)
    的頭像 發(fā)表于 01-07 11:04 ?7543次閱讀
    示波器的<b class='flag-5'>三種</b>觸發(fā)模式

    一文解析時鐘傳輸

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

    mosfet的三種工作狀態(tài)及工作條件是什么

    的工作狀態(tài)及工作條件對于理解和設(shè)計相關(guān)電路至關(guān)重要。以下是MOSFET的三種主要工作狀態(tài)及其工作條件的介紹。 一、MOSFET的三種工作狀態(tài) MOSFET根據(jù)其柵源電壓(VGS)和漏源電壓(VDS
    的頭像 發(fā)表于 10-06 16:51 ?6142次閱讀

    單片機(jī)的三種總線結(jié)構(gòu)

    單片機(jī)的三種總線結(jié)構(gòu)包括地址總線(Address Bus, AB)、數(shù)據(jù)總線(Data Bus, DB)和控制總線(Control Bus, CB)。這三種總線在單片機(jī)內(nèi)部及與外部設(shè)備之間的數(shù)據(jù)傳輸
    的頭像 發(fā)表于 09-10 11:32 ?7149次閱讀

    干貨!恒流電路常用的三種設(shè)計方案

    作為硬件研發(fā)工程師相信對恒流電路不會陌生,本文介紹下三種恒流電路的原理圖。 極管恒流電路 極管恒流電路 極管的恒流電路,主要是利用Q2
    發(fā)表于 09-09 10:40

    極限失控的大模型使電力系統(tǒng)面臨的攻擊風(fēng)險及應(yīng)對措施

    分析大規(guī)模生成式預(yù)訓(xùn)練模型(以下簡稱為大模型)發(fā)生極限失控、使電力系統(tǒng)面臨的攻擊風(fēng)險及相關(guān)的應(yīng)對措施,以期引起業(yè)內(nèi)對這一風(fēng)險的重視、討論與行動?;诖竽P偷默F(xiàn)狀、發(fā)展趨勢以及它與人
    發(fā)表于 07-22 12:09 ?0次下載

    數(shù)字示波器的測量方法有哪三種

    數(shù)字示波器是一廣泛應(yīng)用于電子測量領(lǐng)域的儀器,它能夠?qū)崟r顯示電壓波形,幫助工程師和技術(shù)人員對電子信號進(jìn)行分析和測量。數(shù)字示波器的測量方法有很多種,不同的測量方法適用于不同的應(yīng)用場景。以下是三種常見
    的頭像 發(fā)表于 07-17 18:02 ?3171次閱讀