99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

芯片設(shè)計小經(jīng)驗—異步電路跨時鐘域小結(jié)

冬至子 ? 來源:數(shù)字IC自修室 ? 作者:L.L. ? 2023-05-18 11:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)于異步電路,是面試?yán)锉粏柕淖疃嗟牟糠?,網(wǎng)上也有很多很多的總結(jié)文章。這里有兩個原因。第一,這是一種比較成熟的通用設(shè)計手段,電路結(jié)構(gòu)也比較經(jīng)典。第二是因為這塊設(shè)計在項目中真的很重要。

那么為什么重要呢? 從功能角度來說,比起同步系統(tǒng)中各種功能的設(shè)計可以通過eda驗證保證,異步交互模塊處理跨時鐘信號傳輸這個功能是沒辦法通過rtl仿真用例測試其正確性的。而在物理實現(xiàn)的時候,因為異步電路時鐘沒有固定相位關(guān)系,無法像同步電路一樣通過時鐘關(guān)系去約束路徑走線,也需要被特別對待。

這些特殊性決定了異步電路需要設(shè)計人員對其結(jié)構(gòu)功能有一個更正確和完善的認(rèn)識,這樣才能在rtl階段及時識別需求,做好review工作,并通過cdc檢視設(shè)計的正確性,以及對后端物理實現(xiàn)人員提出合理的約束需求。當(dāng)然有條件的還是需要做fpga原型驗證和后仿,來增加設(shè)計的可靠性,因為cdc和代碼review這些都僅僅是從設(shè)計本身的角度進(jìn)行確認(rèn),只有fpga和eda后仿真可以提供一個真實運行結(jié)果的確認(rèn)。

這篇文章將分幾個角度概括性地歸納總結(jié)異步電路跨時鐘域一些比較重要的概念和處理方法,后續(xù)文章中將對不同的跨時鐘域同步器結(jié)構(gòu)再一一進(jìn)行展開介紹。因為這些概念和處理方法已經(jīng)被翻來覆去總結(jié)過無數(shù)次了,可能大家也都很熟悉了。

1

異步電路的界定

異步電路不能根據(jù)時鐘是否同源來界定,時鐘之間沒有確定的相位關(guān)系是唯一準(zhǔn)則。 比如同一個時鐘源如果經(jīng)過pll分出33MHZ和50MHZ 的兩個時鐘,他們的相位關(guān)系會時鐘變化的變化,那么他們驅(qū)動的電路也屬于異步電路。

2

跨時鐘域處理不當(dāng)?shù)奈:徒鉀Q方案

1. 亞穩(wěn)態(tài)

異步系統(tǒng)交互時會出現(xiàn)亞穩(wěn)態(tài),如果直接使用亞穩(wěn)態(tài)信號,或者因處理不當(dāng)導(dǎo)致其傳播,會使整個系統(tǒng)結(jié)果不可預(yù)期。合理的異步電路同步器設(shè)計可以有效降低亞穩(wěn)態(tài)出現(xiàn)的概率,但其是不可能被完全消除的。而亞穩(wěn)態(tài)出現(xiàn)的概率和器件工藝,時鐘頻率,信號頻率和同步器結(jié)構(gòu)都有關(guān)系。

解決方案:

  1. 使用合適的同步器,包括但不限于:1bit多級打拍同步(電平信號,脈沖信號),多bit格雷碼轉(zhuǎn)換打拍同步,多bit Dmux同步,握手協(xié)議同步,異步FIFO同步。
  2. 若是打拍同步,需要根據(jù)工藝以及頻率選擇合適的打拍級數(shù)

2. 毛刺

異步系統(tǒng)交互時如果上游模塊有信號毛刺,不當(dāng)?shù)奶幚頃蛊鋫鞑ゲ⒈幌掠萎惒侥K采樣,可能會導(dǎo)致下游功能錯誤。同步系統(tǒng)內(nèi)有setup檢查保證毛刺在被采樣前有足夠的時間的消除,而異步電路只能靠設(shè)計保證毛刺不被傳播和誤采樣。

解決方案:

  1. 上游待同步信號寄存器輸出過濾毛刺
  2. 待同步信號的輸出寄存器和同步器之間不能存在任何組合邏輯

3. 漏采、誤采

異步系統(tǒng)交互時如果處理不當(dāng),可能會造成下游對傳播信號漏采樣或者誤采樣。

解決方案:

  1. 明確系統(tǒng)間的頻率關(guān)系,采用合適的同步器
  2. 單bit待采集信號要進(jìn)行位寬確認(rèn)和拓展(快->慢),一般要保證信號寬度大于采集時鐘加上一個margin(依據(jù)經(jīng)驗而定,來源是采集時鐘域的setup,hold,skew,jitter等)
  3. 多bit信號不能直接打拍采樣,通過格雷碼或者握手,異步fifo等其他結(jié)構(gòu)的同步器。

4. 再匯集

有相互關(guān)系的上游信號經(jīng)過了異步處理之后到達(dá)另一個時鐘域的時間是不可預(yù)期的,那么他們再次匯聚的時候會出現(xiàn)與預(yù)期功能不一致的錯誤。這又被稱為再收斂(reconverge)錯誤。

解決方案:

  1. 多個1bit信號待同步時,必須在原時鐘域完成組合匯聚和寄存處理,不能分別同步到另一個時鐘域再匯聚
  2. 同源信號復(fù)制跨時鐘域時,需要先進(jìn)行跨時鐘域,再進(jìn)行復(fù)制。

5. 異步復(fù)位

如果處理不當(dāng)或者沒有做好相應(yīng)時序檢查,復(fù)位功能會有問題。

解決方案:

  1. 采用穩(wěn)定的復(fù)位邏輯單元(普遍使用經(jīng)典的異步復(fù)位同步釋放結(jié)構(gòu))
  2. 做好recovery-removal檢查
  3. 保證對接模塊的異步復(fù)位不相互影響

3

異步電路跨時鐘域的設(shè)計檢查

  1. 明確設(shè)計規(guī)格,做好代碼review
  2. 做好Clock-Domain-Crossing(CDC)檢查
  3. 有條件的做好FPGA,EMU和后仿檢查確認(rèn)

以上便是異步電路跨時鐘域設(shè)計的一些總結(jié),希望拋轉(zhuǎn)引玉,得到更多有價值的經(jīng)驗談。

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

    關(guān)注

    1645

    文章

    22019

    瀏覽量

    617006
  • EDA工具
    +關(guān)注

    關(guān)注

    4

    文章

    273

    瀏覽量

    32760
  • 異步電路
    +關(guān)注

    關(guān)注

    2

    文章

    48

    瀏覽量

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

    關(guān)注

    1

    文章

    106

    瀏覽量

    15136
  • FIFO存儲
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    時鐘控制信號傳輸設(shè)計方案

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

    如何處理好FPGA設(shè)計中時鐘問題?

    第二級寄存器的延拍,所以意義是不大的。02方法二:異步雙口 RAM處理多 bit 數(shù)據(jù)的時鐘,一般采用異步雙口?RAM。假設(shè)我們現(xiàn)在有一
    發(fā)表于 09-22 10:24

    探尋FPGA中三種時鐘處理方法

    第二級寄存器的延拍,所以意義是不大的。02方法二:異步雙口 RAM處理多 bit 數(shù)據(jù)的時鐘,一般采用異步雙口 RAM。假設(shè)我們現(xiàn)在有一
    發(fā)表于 10-20 09:27

    三種時鐘處理的方法

    ,所以意義是不大的?! 》椒ǘ?b class='flag-5'>異步雙口RAM  處理多bit數(shù)據(jù)的時鐘,一般采用異步雙口RAM。假設(shè)我們現(xiàn)在有一個信號采集平臺,ADC
    發(fā)表于 01-08 16:55

    三種FPGA界最常用的時鐘處理法式

    的數(shù)據(jù)(多bit)。在這種類似的場景中,我們便可以使用異步雙口RAM來做時鐘處理。先利用ADC芯片提供的60MHz
    發(fā)表于 02-21 07:00

    FPGA初學(xué)者的必修課:FPGA時鐘處理3大方法

    的數(shù)據(jù)(多bit)。在這種類似的場景中,我們便可以使用異步雙口RAM來做時鐘處理。先利用ADC芯片提供的60MHz
    發(fā)表于 03-04 09:22

    FPGA時鐘處理簡介

    (10)FPGA時鐘處理1.1 目錄1)目錄2)FPGA簡介3)Verilog HDL簡介4)FPGA時鐘
    發(fā)表于 02-23 07:47

    調(diào)試FPGA時鐘信號的經(jīng)驗總結(jié)

    1、時鐘信號的約束寫法  問題一:沒有對設(shè)計進(jìn)行全面的約束導(dǎo)致綜合結(jié)果異常,比如沒有設(shè)置異步時鐘分組,綜合器對
    發(fā)表于 11-15 14:47

    cdc路徑方案幫您解決時鐘難題

    這一章介紹一下CDC也就是時鐘可能存在的一些問題以及基本的時鐘處理方法。
    的頭像 發(fā)表于 11-30 06:29 ?7579次閱讀
    cdc路徑方案幫您解決<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>難題

    如何解決異步FIFO時鐘亞穩(wěn)態(tài)問題?

    時鐘的問題:前一篇已經(jīng)提到要通過比較讀寫指針來判斷產(chǎn)生讀空和寫滿信號,但是讀指針是屬于讀時鐘的,寫指針是屬于寫
    的頭像 發(fā)表于 09-05 14:29 ?6330次閱讀

    關(guān)于FPGA中時鐘的問題分析

    時鐘問題(CDC,Clock Domain Crossing )是多時鐘設(shè)計中的常見現(xiàn)象。在FPGA領(lǐng)域,互動的異步
    發(fā)表于 08-19 14:52 ?3649次閱讀

    Verilog電路設(shè)計之單bit時鐘同步和異步FIFO

    FIFO用于為匹配讀寫速度而設(shè)置的數(shù)據(jù)緩沖buffer,當(dāng)讀寫時鐘異步時,就是異步FIFO。多bit的數(shù)據(jù)信號,并不是直接從寫時鐘同步到讀
    發(fā)表于 01-01 16:48 ?1551次閱讀

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

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

    FPGA時鐘處理方法(二)

    上一篇文章已經(jīng)講過了單bit時鐘的處理方法,這次解說一下多bit的時鐘方法。
    的頭像 發(fā)表于 05-25 15:07 ?1302次閱讀
    FPGA<b class='flag-5'>跨</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>處理方法(二)

    異步電路時鐘處理

    異步電路不能根據(jù)時鐘是否同源來界定,時鐘之間沒有確定的相位關(guān)系是唯一準(zhǔn)則。
    的頭像 發(fā)表于 06-27 10:32 ?1328次閱讀