色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

你一定要懂的CDC錯誤

sanyue7758 ? 來源:IC的世界 ? 2023-07-24 17:00 ? 次閱讀

本文基于VC_SpyGlass_CDC_UserGuide整理了3種常見的cdc(Clock Domain Crossing)錯誤。需要注意的是:

?本文描述的跨時鐘錯誤在特定場景下,有些是允許的,甚至有些是正常設計。因此IC設計者想要確認跨時鐘錯誤需要分析應用場景。

?還有一些CDC錯誤是spyglass 工具無法發現的,因此不能全部依賴工具檢查。

?有些項目組為了避免新手對cdc理解不深刻造成bug,對跨時鐘設計做了更加嚴格的規范。例如,下文中的裸跨是不允許存在的。

1、CDC Unsynchronized(沒有跨時鐘)

沒有采用跨時鐘模塊,即咱們通常說的裸跨,不同時鐘域的數據直接互連,會存在亞穩態問題。同步電路會進行STA(靜態時序分析)保證setup-hold time滿足要求,因此寄存器能夠保證正確采樣。而不同時鐘域的信號之間沒有setup-hold time要求,無法保證正確采樣。

058b2e18-2a00-11ee-a368-dac502259ad0.png

圖5-1 所示為亞穩態的案例,F1是clk_A時鐘域的寄存器,F2是clk_B時鐘域的寄存器,clk_A和clk_B是異步時鐘,寄存器F1的輸出信號A發生跳變的時刻有可能與clk_B的上升沿發生重疊,此時對寄存器F2來說,在setup-hold time時間區間內,輸入A沒有保持穩定,因此寄存器F2輸出的B是不確定狀態,這就是亞穩態。

解決方案:根據實際場景添加對應的跨時鐘模塊,例如bit同步器,脈沖跨時鐘模塊,異步fifo,多比特跨時鐘等等。

鴿子解讀1

沒有跨時鐘,不一定就是錯誤;在一些場景中,為了節約資源不跨時鐘是允許的。

下圖所示案例:配置模塊csr模塊產生的配置信號cfg_*_mode是clk1時鐘域,直接用于clk2時鐘域的邏輯模塊。

芯片使用過程中,復位和配置順序如下:hrst_n先釋放--->完成csr模塊寄存器配置--->釋放srst_n。

在srst_n復位釋放后,靜態配置cfg_*_mode不再發生改變。這種情況中,功能邏輯模塊處于復位狀態時,cfg_*_mode發生跳變,這種情況下即使發生了亞穩態也沒有影響,因為功能邏輯模塊還沒允許。

059a3cf0-2a00-11ee-a368-dac502259ad0.png

鴿子解讀2:

在部分握手機制的模塊中,沒有跨時鐘,也能保證不會出現亞穩態。

CDC無法識別是否實現握手機制,如果跨時鐘模塊實現握手機制,即能夠保證圖5-1中的F2準備采樣時信號A已保持穩定,雖然會報錯,但是不會出現亞穩態。在多bit的配置信號跨時鐘模塊中就存在這樣的情況。

2、CDC Glitch (毛刺)

簡單來說,就是組合邏輯直接跨時鐘,組合邏輯會存在glitch,導致glitch被目的時鐘采樣到,導致出現不期望的信號

解決方案:增加源時鐘域寄存器打拍,寄存器輸出的信號才跨時鐘。

特殊場景:如果圖10中的D0或者I1是一個準靜態信號(幾乎不會跳變的),那么不會產生glitch,也是可以接受的。

05a2f98a-2a00-11ee-a368-dac502259ad0.png05ac66be-2a00-11ee-a368-dac502259ad0.png

Glitches的產生有如下三種場景:

1)同一個bit信號的組合邏輯跨時鐘

2)多個源時鐘域的信號的組合邏輯跨時鐘

3)同一個時鐘域的多個源信號的組合邏輯跨時鐘

3、CDC-Convergence(跨時鐘重新匯聚)

CDC-Convergence會產生不期望的信號組合,從而導致功能異常。

如果多個信號從源時鐘域通過不同的跨時鐘路徑進入目的時鐘域,然后這些信號在目的時鐘域中又聚合到一起,那么就有可能因為信號的重新聚合導致電路功能上的異常。例如下圖7-29和7-28中,x和y的組合(x,y)在同步前只有(1,1)和(0,0)的組合,在同步后出現了(1,0)的組合,還有可能出現(0,1)組合。

如下圖7-29和7-28所示,X、X1、Y和Y1 屬于clk_a時鐘域,delay A和delay B表示不同的延時(走線延時),X3,X4,Y3,Y4屬于clk_b時鐘域。clk_a和clk_b屬于異步時鐘。X4和Y4作為輸入進行組合邏輯獲得O。

假設因為某些原因,x和y的組合(x,y)只會出現2'b00 或者2‘b11的情況。在正確設計過程中,我們期望x4和y4的組合(x4,y4)也只會出現2'b00 或者2‘b11的情況。但是由于不同的跨時鐘路徑會導致(x4,y4)出現錯誤組合。見圖7-28,由于delay A和delay B的延時不同,導致X2和Y2到達同步器D端口的時間有差異,因此采樣后的值X3和Y3可能會出現一個clk_b周期的差異,此時(x3,y3)出現了2‘b10的組合,此組合會傳遞到(x4,y4)。因此輸出的Q可能是不符合預取的值。此為Convergence導致的錯誤

05b9cd4a-2a00-11ee-a368-dac502259ad0.png05c20686-2a00-11ee-a368-dac502259ad0.png

圖8顯示了3種匯聚的情況:

case1:同一個源時鐘域的信號同步后立即匯聚在組合邏輯

case2:源時鐘域信號同步后在目的時鐘域打了若干拍后再匯聚。如果當目的時鐘域打拍數量過大,例如20級,超過了spyglass 工具默認配置值,此種情況spyglass工具就無法檢查出問題了。

case3: 不同源時鐘域的信號同步后立即匯聚在組合邏輯

05cd4820-2a00-11ee-a368-dac502259ad0.png





審核編輯:劉清

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

    關注

    31

    文章

    5336

    瀏覽量

    120230
  • 靜態時序分析

    關注

    0

    文章

    28

    瀏覽量

    9586
  • 時鐘域
    +關注

    關注

    0

    文章

    52

    瀏覽量

    9535
  • CDC技術
    +關注

    關注

    0

    文章

    9

    瀏覽量

    6859

原文標題:Spyglass:你一定要懂的CDC錯誤

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

收藏 人收藏

    評論

    相關推薦

    好東西,一定要分享!

    片簡單的嵌入式文章,希望有用,,好東西一定要分享。。
    發表于 10-18 22:08

    請問RTC為什么一定要從1970年開始計算?

    為什么RTC一定要從1970年開始計算??
    發表于 07-10 01:00

    請問為什么一定要調用次任務切換?

    左老師:為什么在視頻中說如果xTaskResumeAll()沒有做任務切換,那么也一定要調用portYIELD_WITHIN_API()做次任務切換?為什么一定要
    發表于 07-15 08:03

    學習編程一定要英語很好嗎?

    編程需要大量的英語代碼,學習編程的話,不一定要英語非常得好,但是一定要有英語基礎,因為現在編程里面大量都是英語代碼,但是很多編程都是固定的套路,我們只需要知道個英語代碼是什么意思,然后接下來用這種
    發表于 07-01 07:55

    這些LED知識一定要知道

    LED在生活中隨處可見,作為嵌入式工程師,這些LED知識一定要知道!——LED的圖形標號——LED的基本性質——1.最大工作電流——2.導通電壓——LED檢測方法——1.極性判斷——2.好壞檢測
    發表于 12-21 07:12

    做嵌入式是不是一定要學習C語言

    問:做嵌入式是不是一定要學習 C 語言?答:一定要以 C 語言為基礎,嵌入式是個面很廣的學科,分類也比較多,但是我認為,嵌入式基礎是一定需要 C 語言基礎的,我們以前剛開始學習單片機
    發表于 02-25 06:11

    FIFO讀后一定要清嗎?

    FIFO讀后一定要清么
    發表于 09-22 06:31

    為什么高級助聽器一定要使用鋅空氣電池?

    為什么高級助聽器一定要使用鋅空氣電池? 鋅空氣電池以空氣中氧氣為正極材料,所以就不必再在電池內放入,電池內就有空間裝更
    發表于 12-16 09:59 ?1017次閱讀

    未來是物聯網的時代,一定要

    什么是物聯網呢?物聯網的定義是通過射頻識別、紅外感應器、全球定位系統、激光掃描器等信息傳感設備,按約定的協議,把任何物品與互聯網相連接,進行信息交換和通信,以實現對物品的智能化識別、定位、跟蹤、監控和管理的種網絡。
    發表于 12-30 16:43 ?860次閱讀

    手機充電一定要充滿嗎

    充電一定要在手機沒電之前充電,也不能充滿電,要充到一定電量就拔掉充電器,這樣才能更好的保護手機的電池,不要等手機電量全部用沒之后在充電,這個叫做深度放電,這樣對手機的損害是非常大的,所以說小編請大家千萬不要這么做。
    的頭像 發表于 03-01 14:00 ?4w次閱讀

    真的CPU大小端模式嗎?

    真的CPU大小端模式嗎?
    的頭像 發表于 02-27 16:46 ?2734次閱讀

    使用變頻器時一定要接制動電阻嗎

    在要求電機快速制動的情況下變頻器要使用制動電阻,所以制動電阻一定要接,如果沒有是不安全的。
    的頭像 發表于 11-13 09:49 ?1.8w次閱讀

    電路設計降壓,一定要用變壓器嗎?

    降壓,一定要用變壓器嗎?其實不是這樣的,除了變壓器,電容也是可以降壓,今天就帶領大家了解下電容降壓!
    發表于 02-10 10:08 ?4次下載
    電路設計降壓,<b class='flag-5'>一定要</b>用變壓器嗎?

    精通STM32的含金量嗎?

    精通ARM的含金量嗎?精通STM32的含金量嗎?不管懂不懂都要,趕緊學。
    的頭像 發表于 04-19 09:13 ?1787次閱讀

    pcb設計的基本原則分享 PCB設計16個原則一定要知道

    PCB設計的這16個原則一定要知道
    的頭像 發表于 03-12 11:19 ?2853次閱讀
    主站蜘蛛池模板: 女人被躁到高潮嗷嗷叫69| 亚洲 欧美 国产在线视频| 夜夜草导航| 国产东北男同志videos网站| 蜜臀AV久久国产午夜福利软件| 午夜理论片YY4399影院| GAY空少被体育生开菊| 久久精品99热超碰| 胸大的姑娘中文字幕视频| 厕所xxxxx| 媚药调教被撑到合不拢h| 亚洲欧洲日本无在线码播放 | 青青青久草| 伊人青青久| 国产一级做a爰片久久毛片男| 日本美女论坛| 99久久免费看国产精品| 久久强奷乱码老熟女| 亚洲精品高清中文字幕完整版| 二级毛片免费观看全程| 免费观看成人www精品视频在线| 亚洲一区在线播放| 国产亚洲精品久久久久久入口 | 精品99久久久久成人网站| 水蜜桃亚洲一二三四在线| SAO货腿张开JI巴CAO死我| 美美哒免费影视8| 阴茎插入阴道| 久久99精品国产99久久6男男| 校花爽好大快深点h| 国产成人欧美日韩在线电影| 人妻系列合集| a视频免费看| 暖暖视频免费观看社区| 91九色麻豆| 美女被男人撕衣舔胸| 最新男同鸭子ktv| 快播免费电影| 中文字幕久久久| 久久人妻少妇嫩草AV蜜桃35I| 夜色55夜色66亚洲精品网站|