日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

聊聊那些導(dǎo)致時(shí)序約束不收斂的常見(jiàn)問(wèn)題

FPGA研究院 ? 來(lái)源:FPGA研究院 ? 2026-05-06 17:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

FPGA開發(fā)的同學(xué),十有八九都被時(shí)序約束折磨過(guò)。代碼寫得好好的,仿真也沒(méi)問(wèn)題,一跑綜合實(shí)現(xiàn)就報(bào)一堆setup/hold violation,改來(lái)改去就是收斂不了。按我的經(jīng)驗(yàn),這時(shí)候與其繼續(xù)盲目調(diào)參數(shù),不如靜下心來(lái)檢查一下自己的約束是不是從根子上就寫錯(cuò)了。

今天咱們就聊聊那些導(dǎo)致時(shí)序約束不收斂的常見(jiàn)問(wèn)題,手把手幫你排坑。

cbb7dd80-4423-11f1-90a1-92fbcf53809c.jpg

時(shí)鐘路徑分析示意

時(shí)鐘約束:你真的定義對(duì)了嗎

說(shuō)起來(lái),時(shí)鐘約束應(yīng)該是最基礎(chǔ)的東西,但偏偏出問(wèn)題最多的也是這里。很多人習(xí)慣性地只約束主時(shí)鐘,忽略了衍生時(shí)鐘。什么叫衍生時(shí)鐘?比如你用MMCM/PLL輸出的時(shí)鐘、用BUFG/BUFR處理的時(shí)鐘,這些都是由主時(shí)鐘派生出來(lái)的。Vivado不會(huì)自動(dòng)幫你識(shí)別它們,必須顯式聲明。

有個(gè)坑特別容易踩:定義了MMCM輸出時(shí)鐘,但忘了把它的輸入輸出關(guān)系通過(guò)generated_clock關(guān)聯(lián)起來(lái)。這樣時(shí)序引擎就不知道這兩個(gè)時(shí)鐘之間的相位關(guān)系,分析的時(shí)候自然會(huì)出錯(cuò)。

還有個(gè)更隱蔽的問(wèn)題——時(shí)鐘的抖動(dòng)(Jitter)和不確定性(Uncertainty)。默認(rèn)值往往偏樂(lè)觀,你要是直接用,沒(méi)準(zhǔn)在更嚴(yán)苛的條件下就崩了。建議大家在約束文件里顯式設(shè)置合理的抖動(dòng)值,別完全依賴工具的默認(rèn)值。

cc119d52-4423-11f1-90a1-92fbcf53809c.jpg

FPGA IO時(shí)序分析

IO約束:別忘了外部世界的存在

很多新手只關(guān)注內(nèi)部時(shí)序,對(duì)IO約束不上心。問(wèn)題是,你的芯片不是孤立存在的,它要和外面的器件通信。外部器件的時(shí)序特性你得考慮進(jìn)去。

set_input_delay和set_output_delay這兩個(gè)約束,參數(shù)選擇特別講究。你得知道上游器件的時(shí)鐘周期、輸出數(shù)據(jù)Valid窗口,下游器件的Setup/Hold要求。很多時(shí)候報(bào)timing violation,不是內(nèi)部邏輯太慢,而是IO約束設(shè)得太寬松或者太嚴(yán)格。

有個(gè)小技巧分享給大家:不確定外部器件參數(shù)的時(shí)候,可以先按50%時(shí)鐘周期來(lái)估算,然后根據(jù)實(shí)際測(cè)試結(jié)果微調(diào)。比一上來(lái)就隨便寫個(gè)數(shù)字強(qiáng)多了。

cc70c944-4423-11f1-90a1-92fbcf53809c.jpg

時(shí)鐘域交叉(CDC)路徑分析

跨時(shí)鐘域:最容易出問(wèn)題的邊界地帶

跨時(shí)鐘域問(wèn)題堪稱FPGA設(shè)計(jì)的"癌癥",處理不好輕則時(shí)序不收斂,重則功能異常。常見(jiàn)的問(wèn)題是對(duì)CDC路徑要么完全不約束,要么約束得一塌糊涂。

完全不約束的情況比較少見(jiàn),畢竟綜合工具會(huì)報(bào)警告。但約束不當(dāng)就很普遍了。最典型的錯(cuò)誤是用set_false_path一刀切,把所有跨時(shí)鐘域路徑都設(shè)成false path。問(wèn)題是,不是所有CDC路徑都能安全地用false path,有些關(guān)鍵路徑必須保證正確的時(shí)序關(guān)系。

正確做法是分門別類處理:慢時(shí)鐘到快時(shí)鐘的采樣路徑可以用set_false_path或set_max_delay;快時(shí)鐘到慢時(shí)鐘的握手路徑往往需要set_false_path加額外的時(shí)序裕量;而異步復(fù)位這類路徑,set_false_path才是正解。

有意思的是,很多人知道CDC同步器的重要性,但在約束層面卻忽略了對(duì)同步器本身打拍級(jí)數(shù)的考慮。同步器鏈本身的路徑也是有時(shí)序要求的,別漏掉了。

cccddecc-4423-11f1-90a1-92fbcf53809c.jpg

時(shí)序約束綜合分析

時(shí)序例外:用錯(cuò)了比不用更糟糕

set_max_delay、set_multicycle_path這些時(shí)序例外約束,用好了能救命,用錯(cuò)了就是埋雷。我見(jiàn)過(guò)最離譜的案例是,有人為了"提高"時(shí)序收斂,把整個(gè)設(shè)計(jì)的所有路徑都設(shè)了很寬松的max_delay。結(jié)果呢?工具在優(yōu)化的時(shí)候完全失去了方向,性能反而更差了。

時(shí)序例外約束有幾條黃金法則:第一,約束范圍盡量精準(zhǔn),用最具體的路徑表達(dá)式,別動(dòng)不動(dòng)就-through * -to *;第二,多周期路徑要確認(rèn)清楚是setup還是hold語(yǔ)境下的多周期;第三,用完記得清理,別讓過(guò)期的約束繼續(xù)生效。

還有個(gè)容易忽略的地方:set_case_analysis這個(gè)約束。它用來(lái)固定某些信號(hào)的值,但很多人設(shè)完之后忘了這個(gè)約束會(huì)影響整條路徑的時(shí)序分析,有時(shí)候時(shí)序不收斂的根源就在這里。

復(fù)位設(shè)計(jì):被忽視的隱形成本

復(fù)位信號(hào)看起來(lái)不起眼,但它對(duì)時(shí)序的影響可能是致命的。全局異步復(fù)位會(huì)讓工具在布局布線的時(shí)候很為難,因?yàn)閺?fù)位信號(hào)要連到設(shè)計(jì)里的每一個(gè)寄存器,負(fù)載極大。

我建議能不用復(fù)位就不用復(fù)位,Xilinx 7系列以后的器件,上電初始值都是確定的,很多場(chǎng)景完全可以用初始化代替復(fù)位。如果非要用復(fù)位,優(yōu)先選擇高扇出的同步復(fù)位,并且通過(guò)set_property ASYNC_REG標(biāo)記CDC路徑上的寄存器。

關(guān)于復(fù)位的時(shí)序約束,有個(gè)細(xì)節(jié)很多人不知道:set_false_path -from [get_async_pins]這種寫法已經(jīng)過(guò)時(shí)了,正確做法是通過(guò)綜合屬性來(lái)控制。

總結(jié):約束是個(gè)系統(tǒng)工程

按我的經(jīng)驗(yàn),時(shí)序約束不收斂,80%的問(wèn)題出在約束本身,20%才需要調(diào)綜合實(shí)現(xiàn)策略。與其一味地加pipeline、加buffer,不如先把自己的約束文件過(guò)一遍。

幾個(gè)自查清單送給大家:時(shí)鐘定義是否完整?IO約束參數(shù)是否有依據(jù)?CDC路徑是否分類處理?時(shí)序例外是否精準(zhǔn)且不過(guò)期?復(fù)位策略是否合理?

時(shí)序約束這東西,入門容易精通難。但只要理解了工具的分析邏輯,約束寫對(duì)做好收斂,其實(shí)也沒(méi)那么玄乎。希望今天的分享對(duì)大家有幫助,有問(wèn)題歡迎留言交流。

聲明:本文內(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1664

    文章

    22513

    瀏覽量

    639641
  • 仿真
    +關(guān)注

    關(guān)注

    55

    文章

    4540

    瀏覽量

    138707
  • 時(shí)序約束
    +關(guān)注

    關(guān)注

    1

    文章

    121

    瀏覽量

    14008

原文標(biāo)題:時(shí)序約束怎么設(shè)都不收斂,到底哪里錯(cuò)了

文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    UltraFast設(shè)計(jì)方法時(shí)序收斂快捷參考指南

    資源利用率、邏輯層次和時(shí)序約束。 2時(shí)序基線設(shè)定:在每個(gè)實(shí)現(xiàn)步驟后檢查并解決時(shí)序違例,從而幫助布線后收斂
    的頭像 發(fā)表于 11-05 15:10 ?6229次閱讀
    UltraFast設(shè)計(jì)方法<b class='flag-5'>時(shí)序</b><b class='flag-5'>收斂</b>快捷參考指南

    FPGA的IO口時(shí)序約束分析

      在高速系統(tǒng)中FPGA時(shí)序約束不止包括內(nèi)部時(shí)鐘約束,還應(yīng)包括完整的IO時(shí)序約束時(shí)序例外
    發(fā)表于 09-27 09:56 ?2549次閱讀

    記錄一次時(shí)序收斂的過(guò)程

    在之前的文章里面介紹了Canny算法的原理和基于Python的參考模型,之后呢在FPGA上完成了Canny算法的實(shí)現(xiàn),可是遇到了時(shí)序不收斂的問(wèn)題,記錄一下。
    的頭像 發(fā)表于 11-18 16:38 ?2002次閱讀
    記錄一次<b class='flag-5'>時(shí)序</b><b class='flag-5'>收斂</b>的過(guò)程

    FPGA時(shí)序收斂學(xué)習(xí)報(bào)告

    的方法一般有四個(gè)步驟:時(shí)序分析→時(shí)序約束時(shí)序報(bào)告→時(shí)序收斂。 為什么要進(jìn)行
    發(fā)表于 09-23 10:26

    FPGA時(shí)序約束的幾種方法

    對(duì)自己的設(shè)計(jì)的實(shí)現(xiàn)方式越了解,對(duì)自己的設(shè)計(jì)的時(shí)序要求越了解,對(duì)目標(biāo)器件的資源分布和結(jié)構(gòu)越了解,對(duì)EDA工具執(zhí)行約束的效果越了解,那么對(duì)設(shè)計(jì)的時(shí)序約束目標(biāo)就會(huì)越清晰,相應(yīng)地,設(shè)計(jì)的
    發(fā)表于 06-02 15:54

    FPGA時(shí)序約束的幾種方法

    (InputDelay、OutputDelay)、上下拉電阻、驅(qū)動(dòng)電流強(qiáng)度等。加入I/O約束后的時(shí)序約束,才是完整的時(shí)序約束。FPGA作為P
    發(fā)表于 12-27 09:15

    時(shí)序約束資料包

    、Vivado基本操作流程2、時(shí)序基本概念3、時(shí)序基本約束和流程4、Baselining時(shí)序約束5、CDC
    發(fā)表于 08-01 16:45

    multisim仿真錯(cuò)誤不收斂

    multisim出現(xiàn)仿真錯(cuò)誤,不收斂,使用收斂小助手后報(bào)告成功解決,但是關(guān)掉之后重新仿真還是不行。電路是席勒振蕩器,電路新手哦,希望不吝賜教。/(ㄒoㄒ)/~~
    發(fā)表于 07-03 11:17

    模型不收斂是怎么回事?

    模型不收斂是怎么回事?
    發(fā)表于 09-07 10:13

    時(shí)序約束時(shí)序分析 ppt教程

    時(shí)序約束時(shí)序分析 ppt教程 本章概要:時(shí)序約束時(shí)序分析基礎(chǔ)常用
    發(fā)表于 05-17 16:08 ?0次下載

    FPGA中的時(shí)序約束設(shè)計(jì)

    一個(gè)好的FPGA設(shè)計(jì)一定是包含兩個(gè)層面:良好的代碼風(fēng)格和合理的約束。時(shí)序約束作為FPGA設(shè)計(jì)中不可或缺的一部分,已發(fā)揮著越來(lái)越重要的作用。毋庸置疑,時(shí)序
    發(fā)表于 11-17 07:54 ?3102次閱讀
    FPGA中的<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>設(shè)計(jì)

    深入了解時(shí)序約束以及如何利用時(shí)序約束實(shí)現(xiàn)FPGA 設(shè)計(jì)的最優(yōu)結(jié)果

    作為賽靈思用戶論壇的定期訪客(見(jiàn) ),我注意到新用戶往往對(duì)時(shí)序收斂以及如何使用時(shí)序約束來(lái)達(dá)到時(shí)序收斂
    發(fā)表于 11-24 19:37 ?6140次閱讀
    深入了解<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>以及如何利用<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>實(shí)現(xiàn)FPGA 設(shè)計(jì)的最優(yōu)結(jié)果

    FPGA時(shí)序約束的6種方法詳細(xì)講解

    對(duì)自己的設(shè)計(jì)的實(shí)現(xiàn)方式越了解,對(duì)自己的設(shè)計(jì)的時(shí)序要求越了解,對(duì)目標(biāo)器件的資源分布和結(jié)構(gòu)越了解,對(duì)EDA工具執(zhí)行約束的效果越了解,那么對(duì)設(shè)計(jì)的時(shí)序約束目標(biāo)就會(huì)越清晰,相應(yīng)地,設(shè)計(jì)的
    發(fā)表于 01-11 17:44 ?8次下載
    FPGA<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>的6種方法詳細(xì)講解

    Abaqus橡膠仿真不收斂問(wèn)題的排查方法

    在進(jìn)行有限元仿真計(jì)算時(shí),常常會(huì)遇到計(jì)算不收斂的問(wèn)題,而且導(dǎo)致求解不收斂的原因也是多種多樣的,處理起來(lái)也是相當(dāng)?shù)穆闊?/div>
    的頭像 發(fā)表于 03-25 10:12 ?7029次閱讀

    嘮一嘮解決FPGA約束時(shí)序不收斂的問(wèn)題

    FPGA時(shí)序不收斂,會(huì)出現(xiàn)很多隨機(jī)性問(wèn)題,上板測(cè)試大概率各種跑飛,而且不好調(diào)試定位原因,所以在上板測(cè)試前,先優(yōu)化時(shí)序,再上板。
    發(fā)表于 06-26 15:41 ?3995次閱讀
    嘮一嘮解決FPGA<b class='flag-5'>約束</b>中<b class='flag-5'>時(shí)序</b><b class='flag-5'>不收斂</b>的問(wèn)題
    南川市| 垦利县| 长岭县| 特克斯县| 兴城市| 青海省| 遂川县| 略阳县| 浑源县| 屯留县| 永年县| 津南区| 墨竹工卡县| 侯马市| 望都县| 贵州省| 木兰县| 鄯善县| 商洛市| 神农架林区| 莲花县| 板桥市| 义乌市| 晋州市| 双城市| 永定县| 通海县| 葫芦岛市| 寿宁县| 当阳市| 昆明市| 阳高县| 绥滨县| 桂阳县| 潞西市| 甘泉县| 蒲江县| 衡阳县| 景东| 郯城县| 新营市|