精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

時(shí)鐘域交叉分析方法

電子設(shè)計(jì) ? 來(lái)源:工程師曾玲 ? 2019-09-14 16:50 ? 次閱讀

片上系統(tǒng)(SOC)設(shè)計(jì)的最大挑戰(zhàn)之一是不同的塊在獨(dú)立時(shí)鐘上運(yùn)行。通過(guò)處理器總線,存儲(chǔ)器端口,外圍總線和其他接口集成這些塊可能很麻煩,因?yàn)楫?dāng)異步接口未正確同步時(shí)可能導(dǎo)致不可預(yù)測(cè)的行為。

檢查正確的同步通常是一個(gè)耗時(shí)的手動(dòng)設(shè)計(jì)過(guò)程。通常,時(shí)鐘域交叉(CDC)的許多可能問(wèn)題被忽視,導(dǎo)致主要的下游設(shè)計(jì)問(wèn)題。

市場(chǎng)上出現(xiàn)了許多工具來(lái)識(shí)別CDC的問(wèn)題。不幸的是,這些工具經(jīng)常報(bào)告數(shù)百個(gè)明顯的問(wèn)題,其中許多通常是虛假的。這僅用于結(jié)構(gòu)性CDC分析。如果要更深入地檢查,必須在設(shè)計(jì)中添加斷言。此時(shí),錯(cuò)誤錯(cuò)誤的數(shù)量會(huì)增加,通過(guò)它們所需的時(shí)間也會(huì)增加,并找到真正的問(wèn)題點(diǎn)。

有一種方法可以減少這個(gè)過(guò)程的痛苦。它需要明確的同步規(guī)則和CDC分析方法,該方法可以與設(shè)計(jì)中不可避免的ECO(工程變更單)順利運(yùn)行。此外,您的CDC工具必須支持輕松拒絕漏報(bào)的方法,并支持不需要在每個(gè)設(shè)計(jì)ECO上重新生成的豁免技術(shù)。

同步規(guī)程

同步中的挑戰(zhàn)是有很多方法可以做到這一點(diǎn)。雖然每種方法都有優(yōu)勢(shì),但在設(shè)計(jì)中 - 以及在設(shè)計(jì)組織內(nèi) - 臨時(shí)使用不同技術(shù)會(huì)使審查過(guò)程復(fù)雜化。

今天沒有工具可以完全按下CDC驗(yàn)證??偸切枰欢ǔ潭鹊脑O(shè)計(jì)智慧來(lái)解釋結(jié)果并考慮系統(tǒng)級(jí)的含義。必須對(duì)各種同步技術(shù)做出這些判斷將不必要地使審查過(guò)程復(fù)雜化。

許多成功的公司已經(jīng)認(rèn)識(shí)到這一點(diǎn),并且只是強(qiáng)制要求必須通過(guò)預(yù)先設(shè)計(jì)的單元格或使用一小組預(yù)先批準(zhǔn)的技術(shù)來(lái)執(zhí)行同步。雖然這可能會(huì)略微限制創(chuàng)作自由,但同步質(zhì)量的信心可以彌補(bǔ)這種損失。

應(yīng)該預(yù)先批準(zhǔn)的技術(shù)取決于他們必須支持的應(yīng)用范圍。作為最嚴(yán)格的級(jí)別,可以強(qiáng)制要求所有同步通過(guò)預(yù)定義的同步單元進(jìn)行。

最常見的同步單元支持單比特,通用總線和快速到慢速的數(shù)據(jù)同步。更輕松的方法允許手工制作這個(gè)邏輯,但仍然需要從一組有限的樣式中繪制插入的邏輯。在后一種情況下,通常需要添加變體 - 同步器的同步復(fù)位或半周期移位以降低元穩(wěn)定性或數(shù)據(jù)丟失的可能性。圖1a和1b顯示了兩種常見的同步技術(shù)。

時(shí)鐘域交叉分析方法


圖1a - 單位亞穩(wěn)態(tài)同步

時(shí)鐘域交叉分析方法


圖1b - 多位同步

在選擇CDC工具時(shí),務(wù)必確保該工具支持設(shè)計(jì)中所需的所有技術(shù)。更復(fù)雜的工具允許設(shè)計(jì)人員基于各種同步樣式定義方法,包括最常用的技術(shù),用戶命名的同步單元和用戶定義的結(jié)構(gòu),這些結(jié)構(gòu)將與域交叉結(jié)構(gòu)進(jìn)行模式匹配。

虛假域名交叉

許多時(shí)鐘域交叉通常是由復(fù)位或配置信號(hào)引起的(見圖2)。雖然技術(shù)上可以在這些準(zhǔn)靜態(tài)信號(hào)上發(fā)生同步問(wèn)題,但它將是一次性事件,并且由于此后信號(hào)是有效靜態(tài)的,因此可以在設(shè)備的大部分正常運(yùn)行時(shí)間內(nèi)有效地忽略它們。

消除這些錯(cuò)誤路徑的最佳方法是使用與合成或靜態(tài)時(shí)序分析相同的技術(shù) - 聲明錯(cuò)誤路徑。例如,您的CDC工具可能表明rst_n占交叉的50%以上,而配置[0]和配置[1]則占25%。如果您不想查看這些情況,可以通過(guò)錯(cuò)誤路徑約束輕松地抑制它們:

cdc_false_path-from rst_n
cdc_false_path-from config [*]

錯(cuò)誤交叉的另一個(gè)來(lái)源是功能錯(cuò)誤的路徑。作者不知道今天會(huì)自動(dòng)消除功能錯(cuò)誤路徑的任何CDC工具,可能因?yàn)樵摲治隹赡芊浅0嘿F并且可以說(shuō)除了設(shè)計(jì)者通過(guò)一些簡(jiǎn)單約束指定的值之外幾乎沒有增加價(jià)值。

例如,考慮使用CPU主機(jī)和多個(gè)I/O接口從機(jī)(如PCI或USB)驅(qū)動(dòng)的總線??偩€仲裁器的設(shè)計(jì)使得從機(jī)可以與CPU通信,反之亦然,但從機(jī)無(wú)法直接與從機(jī)通信。但是,CDC分析可能會(huì)顯示usb_ck和pci_ck等域之間的域交叉。同樣,使用錯(cuò)誤路徑約束可以很容易地拒絕這些:

cdc_false_path-從use_ck到pci_ck
cdc_false_path-從pci_ck到usb_ck

在某些情況下,通過(guò)指定直通點(diǎn)可以進(jìn)一步優(yōu)化錯(cuò)誤路徑:

cdc_false_path-from(state)-through(thru-point)-to(end)

這是必要的改進(jìn),當(dāng)確定從/到對(duì)在功能上是有效的,但只能通過(guò)某些路徑。

時(shí)鐘域交叉分析方法


圖2 - 假時(shí)鐘域交叉的例子

FIFO同步

虛假域交叉的另一個(gè)有趣的來(lái)源可以是FIFO同步器中的推斷內(nèi)存。通常的做法是在將每個(gè)指針同步到相對(duì)的域之前對(duì)讀和寫指針進(jìn)行灰度編碼,以便比較和生成滿標(biāo)志和空標(biāo)志。在讀數(shù)據(jù)信號(hào)周圍可能發(fā)生微妙且很少提到的錯(cuò)誤交叉問(wèn)題。想想如何在RTL中描述這一點(diǎn):

總是@(posedge read_clk)
如果(read_en == 1'b1)read_data <=> =>

always @(posedge write_clk)
如果(write_en == 1'b1)mem [write_addr] <=> =>

這是一個(gè)非常合理的FIFO核心描述除了CDC分析將檢測(cè)寫入和讀取時(shí)鐘之間的域交叉和“read_data”之外。

事實(shí)上,這個(gè)域名交叉是虛假的,這是一個(gè)有趣的原因。雖然理論上可以從與寫入相同的地址進(jìn)行讀?。ㄍ瑫r(shí)),但大多數(shù)同步器設(shè)計(jì)會(huì)在讀取和寫入之間強(qiáng)制執(zhí)行一些延遲,從而確保在同一地址中不會(huì)發(fā)生寫入和讀取。相同的周期(任何一個(gè)時(shí)鐘)。這種延遲確保讀取數(shù)據(jù)至少在幾個(gè)周期內(nèi)有效地準(zhǔn)靜態(tài),因此不能成為域交叉。

一個(gè)好的CDC工具可以自動(dòng)檢測(cè)和拒絕這些情況。

握手同步

一種非常常見且穩(wěn)健的同步多個(gè)數(shù)據(jù)信號(hào)的方法是握手技術(shù),如圖3所示。這很受歡迎,因?yàn)槲帐旨夹g(shù)可以輕松管理時(shí)鐘頻率的變化,同時(shí)最大限度地減少交叉口的延遲。但是,握手邏輯比標(biāo)準(zhǔn)同步結(jié)構(gòu)復(fù)雜得多,大多數(shù)工具都不會(huì)自動(dòng)識(shí)別。在這些情況下,傳統(tǒng)的隱式CDC分析將報(bào)告所有交叉數(shù)據(jù)信號(hào)的非同步域交叉。

時(shí)鐘域交叉分析方法


圖3 - 握手同步是時(shí)鐘域交叉中常用的技術(shù)

各種正式工具都有屬性(斷言)檢查握手結(jié)構(gòu)的特性 - 例如,在目標(biāo)寄存器完成數(shù)據(jù)捕獲之前,不得取消置位REQ。但是所有這些技術(shù)都要求設(shè)計(jì)人員手動(dòng)識(shí)別握手并為每個(gè)這樣的結(jié)構(gòu)插入這些斷言。

雖然檢查這些屬性有好處,但這仍然給設(shè)計(jì)人員帶來(lái)了確保所有握手確實(shí)已被分析的主要負(fù)擔(dān)。同樣,這些結(jié)構(gòu)將導(dǎo)致錯(cuò)誤的CC報(bào)告,只能通過(guò)手動(dòng)檢查來(lái)消除。

一些最新的CDC工具可以自動(dòng)檢測(cè)一大類握手結(jié)構(gòu),大大減少了CDC報(bào)告中的漏報(bào)。這也允許工具對(duì)握手結(jié)構(gòu)進(jìn)行功能分析和隱式檢查,完全不需要設(shè)計(jì)人員定義和插入這些檢查。

第三方IP

今天幾乎所有的設(shè)計(jì)都包含一些外部知識(shí)產(chǎn)權(quán)(IP),無(wú)論是內(nèi)部開發(fā)還是商業(yè)收購(gòu)。對(duì)于如圖4所示的IP,除了進(jìn)入的檢查檢查之外,重復(fù)檢查內(nèi)部域交叉和同步技術(shù)幾乎沒有價(jià)值。在大多數(shù)情況下,您無(wú)法更改IP的內(nèi)部,因此任何報(bào)告的問(wèn)題都只是額外的噪音。更重要的是分析圍繞該IP和其他設(shè)計(jì)的CDC,其中IP域和設(shè)計(jì)域之間的交互可能導(dǎo)致新問(wèn)題。

某些CDC工具提供約束來(lái)屏蔽指定IP內(nèi)部的所有域交叉報(bào)告,同時(shí)仍報(bào)告其他邏輯與這些IP之間的交叉。這使得檢查更容易,更有效。

時(shí)鐘域交叉分析方法
圖4 - 與IP塊相關(guān)的時(shí)鐘域交叉點(diǎn)

評(píng)論和ECO分析

即使已經(jīng)消除了所有這些雜散源,也可能需要檢查大量可能不同步的域交叉。這些可能來(lái)自在復(fù)位或配置信號(hào)意義上不是準(zhǔn)靜態(tài)的信號(hào),但已知在使用之前“足夠長(zhǎng)時(shí)間”是穩(wěn)定的。

一旦審查并批準(zhǔn)此類案件,除非您選擇,否則無(wú)需再次查看。處理這些案件的一種實(shí)用方法是放棄,在RTL代碼內(nèi)部或外部應(yīng)用,以標(biāo)記案件已經(jīng)過(guò)審查和批準(zhǔn)。

易于使用和靈活的點(diǎn) - 和如圖5所示,單擊豁免方法優(yōu)于“正式放棄”一種或多種違反任何類型的行為。應(yīng)該智能地應(yīng)用這些豁免,適應(yīng)RTL代碼的更改,因此很少需要更新它們。如果需要,這些豁免和他們壓制的CDC仍然可以進(jìn)行設(shè)計(jì)審查或最終通過(guò),以重新驗(yàn)證所有域名交叉點(diǎn)。

時(shí)鐘域交叉分析方法


圖5 - 豁免違規(guī)的點(diǎn)擊式方法

功能分析

CDC的功能分析是自然延伸到結(jié)構(gòu)分析。每個(gè)識(shí)別的同步結(jié)構(gòu)帶有一個(gè)或多個(gè)功能要求。例如,考慮一個(gè)常見的多路復(fù)用循環(huán)同步器,如圖6所示。

時(shí)鐘域交叉分析方法
圖6 常用的多路復(fù)用再循環(huán)同步器

多路復(fù)用器驅(qū)動(dòng)目標(biāo)域中的寄存器,并且僅在選擇時(shí)允許數(shù)據(jù)從源域傳遞,否則多路復(fù)用器將寄存器輸出值再循環(huán)。選擇“sel”必須與指定域同步。

到目前為止,這是一項(xiàng)結(jié)構(gòu)性檢查。在這種情況下所需的功能檢查是當(dāng)選擇“sel”變高時(shí)源數(shù)據(jù)信號(hào)“data”是穩(wěn)定的。由于選擇和數(shù)據(jù)信號(hào)是自動(dòng)識(shí)別的,因此應(yīng)該是自動(dòng)檢查。

此類中的其他檢查包括快速到慢速域跨越保持時(shí)間,灰色編碼檢查,握手檢查等等。這些檢查不會(huì)減少,也可能增加報(bào)告的問(wèn)題數(shù)量,但在準(zhǔn)確的結(jié)構(gòu)識(shí)別基礎(chǔ)上這樣做,大大降低了誤報(bào)的可能性。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19178

    瀏覽量

    229202
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4124

    瀏覽量

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

    關(guān)注

    0

    文章

    57

    瀏覽量

    17774
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    vivado約束案例:跨時(shí)鐘路徑分析報(bào)告

    時(shí)鐘路徑分析報(bào)告分析從一個(gè)時(shí)鐘(源時(shí)鐘)跨越到
    的頭像 發(fā)表于 11-27 11:11 ?5834次閱讀
    vivado約束案例:跨<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>路徑<b class='flag-5'>分析</b>報(bào)告

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

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

    三種跨時(shí)鐘處理的方法

    時(shí)鐘處理的方法,這三種方法可以說(shuō)是FPGA界最常用也最實(shí)用的方法,這三種方法包含了單bit和多
    發(fā)表于 01-08 16:55

    時(shí)鐘的設(shè)計(jì)和綜合技巧系列

    出現(xiàn)問(wèn)題,來(lái)自快時(shí)鐘的控制信號(hào)必須寬于較慢時(shí)鐘的周期。否則如下圖所示,快時(shí)鐘的控制信號(hào)無(wú)法被采樣到慢
    發(fā)表于 04-11 17:06

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

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

    FPGA界最常用也最實(shí)用的3種跨時(shí)鐘處理的方法

    介紹3種跨時(shí)鐘處理的方法,這3種方法可以說(shuō)是FPGA界最常用也最實(shí)用的方法,這三種方法包含了單
    發(fā)表于 11-15 20:08 ?1.4w次閱讀

    關(guān)于FPGA中跨時(shí)鐘的問(wèn)題分析

    時(shí)鐘問(wèn)題(CDC,Clock Domain Crossing )是多時(shí)鐘設(shè)計(jì)中的常見現(xiàn)象。在FPGA領(lǐng)域,互動(dòng)的異步時(shí)鐘的數(shù)量急劇增加
    發(fā)表于 08-19 14:52 ?3326次閱讀

    時(shí)鐘的同步時(shí)序設(shè)計(jì)和幾種處理異步時(shí)鐘接口的方法

    外部輸入的信號(hào)與本地時(shí)鐘是異步的。在SoC設(shè)計(jì)中,可能同時(shí)存在幾個(gè)時(shí)鐘,信號(hào)的輸出驅(qū)動(dòng)和輸入采樣在不同的時(shí)鐘節(jié)拍下進(jìn)行,可能會(huì)出現(xiàn)一些不穩(wěn)定的現(xiàn)象。本文
    的頭像 發(fā)表于 07-24 09:52 ?4344次閱讀
    多<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>的同步時(shí)序設(shè)計(jì)和幾種處理異步<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>接口的<b class='flag-5'>方法</b>

    揭秘FPGA跨時(shí)鐘處理的三大方法

    時(shí)鐘處理的方法,這三種方法可以說(shuō)是 FPGA 界最常用也最實(shí)用的方法,這三種方法包含了單 b
    的頭像 發(fā)表于 12-05 16:41 ?1619次閱讀

    關(guān)于跨時(shí)鐘的詳細(xì)解答

    每一個(gè)做數(shù)字邏輯的都繞不開跨時(shí)鐘處理,談一談SpinalHDL里用于跨時(shí)鐘處理的一些手段方法。
    的頭像 發(fā)表于 04-27 10:52 ?4237次閱讀
    關(guān)于跨<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>的詳細(xì)解答

    介紹3種方法時(shí)鐘處理方法

    介紹3種跨時(shí)鐘處理的方法,這3種方法可以說(shuō)是FPGA界最常用也最實(shí)用的方法,這三種方法包含了單
    的頭像 發(fā)表于 09-18 11:33 ?2.2w次閱讀
    介紹3種<b class='flag-5'>方法</b>跨<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>處理<b class='flag-5'>方法</b>

    SpinalHDL里用于跨時(shí)鐘處理的一些手段方法

    每一個(gè)做數(shù)字邏輯的都繞不開跨時(shí)鐘處理,談一談SpinalHDL里用于跨時(shí)鐘處理的一些手段方法。
    的頭像 發(fā)表于 07-11 10:51 ?1818次閱讀

    時(shí)鐘處理方法(二)

    時(shí)鐘采集從快時(shí)鐘傳輸來(lái)的信號(hào)時(shí),需要根據(jù)信號(hào)的特點(diǎn)來(lái)進(jìn)行同步處理。對(duì)于單 bit 信號(hào),一般可根據(jù)電平信號(hào)和脈沖信號(hào)來(lái)區(qū)分。
    的頭像 發(fā)表于 03-28 13:52 ?860次閱讀
    跨<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>處理<b class='flag-5'>方法</b>(二)

    FPGA跨時(shí)鐘處理方法(一)

    時(shí)鐘是FPGA設(shè)計(jì)中最容易出錯(cuò)的設(shè)計(jì)模塊,而且一旦跨時(shí)鐘出現(xiàn)問(wèn)題,定位排查會(huì)非常困難,因?yàn)榭?b class='flag-5'>時(shí)鐘
    的頭像 發(fā)表于 05-25 15:06 ?1938次閱讀
    FPGA跨<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>域</b>處理<b class='flag-5'>方法</b>(一)

    FPGA跨時(shí)鐘處理方法(二)

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