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

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

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

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

如何追溯同一時(shí)鐘域內(nèi)partial false path的來(lái)源

算法與數(shù)據(jù)結(jié)構(gòu) ? 來(lái)源:XILINX開(kāi)發(fā)者社區(qū)微信公眾 ? 作者:XILINX開(kāi)發(fā)者社區(qū)微 ? 2021-08-23 11:31 ? 次閱讀

隨著設(shè)計(jì)復(fù)雜度和調(diào)用IP豐富度的增加,在調(diào)試時(shí)序約束的過(guò)程中,用戶常常會(huì)對(duì)除了自己設(shè)定的約束外所涉及的繁雜的時(shí)序約束感到困惑而無(wú)從下手。舉個(gè)例子,我的XDC里面并沒(méi)有指定set_false_path,為什么有些路徑在分析時(shí)忽略了?我怎么去定位這些約束是哪里設(shè)定的?

事實(shí)上,Vivado集成設(shè)計(jì)環(huán)境提供了很多輔助工具來(lái)協(xié)助用戶完成時(shí)序約束的分析。

本文結(jié)合一個(gè)具體案例,闡述了如何追溯同一時(shí)鐘域內(nèi)partial false path的來(lái)源,希望為開(kāi)發(fā)者的設(shè)計(jì)調(diào)試提供一些技巧和竅門(mén)。

首先來(lái)看問(wèn)題。

在此設(shè)計(jì)中,當(dāng)用report clock interaction查看時(shí)鐘關(guān)系時(shí),注意到不少單時(shí)鐘域被標(biāo)注成了partial false path。對(duì)于一個(gè)約束文件眾多,約束較為復(fù)雜的設(shè)計(jì),如何進(jìn)一步推斷partial false path有哪些路徑,是被哪些約束覆蓋了呢?

以其中的一個(gè)時(shí)鐘域GTYE4_CHANNEL_RXOUTCLK_7為例:

Step1:關(guān)閉merging timing exceptions

運(yùn)行Tcl命令讓時(shí)序工具不要合并時(shí)序異常約束。

config_timing_analysis -merge_exceptions false

要注意的是,這種模式會(huì)導(dǎo)致更長(zhǎng)的運(yùn)行時(shí)間和更大的內(nèi)存占用,因此不推薦默認(rèn)情況下將時(shí)序工具保持在此模式下。

調(diào)試完成后,要恢復(fù)到默認(rèn)模式,請(qǐng)將-merge_exceptions 的值設(shè)置為 True。

你可以用report_config_timing來(lái)報(bào)告exception merge的情況。

f34e4816-0210-11ec-9bcf-12bb97331649.png

Step2:產(chǎn)生詳細(xì)的時(shí)序路徑報(bào)告

如果你只是要快速瀏覽路徑的起始元件,可運(yùn)行以下Tcl命令:

join [get_timing_paths -max_paths 100 -user_ignored -from [get_clocks GTYE4_CHANNEL_RXOUTCLK_7] -to [get_clocks GTYE4_CHANNEL_RXOUTCLK_7]]

返回會(huì)分行顯示partial false path的startpoint和endpoint。

{gen_die_comm_top[1].leda_die_comm_top_int/gen_cmac[3].u_hard_caui4_top_wrapper_inst/u_cmac_usplus_0/inst/i_cmac_usplus_0_cmac_cdc_sync_gt_txresetdone_int3/s_out_d4_reg/C --》 gen_die_comm_top[1].leda_die_comm_top_int/gen_cmac[3].u_hard_caui4_top_wrapper_inst/u_cmac_usplus_0/inst/i_cmac_usplus_0_top/obsibdaaf4ker2wujpra0sjb/RX_SERDES_RESET[0]}

{gen_die_comm_top[1].leda_die_comm_top_int/gen_cmac[3].u_hard_caui4_top_wrapper_inst/u_cmac_usplus_0/inst/i_cmac_usplus_0_cmac_cdc_sync_gt_txresetdone_int3/s_out_d4_reg/C --》 gen_die_comm_top[1].leda_die_comm_top_int/gen_cmac[3].u_hard_caui4_top_wrapper_inst/u_cmac_usplus_0/inst/i_cmac_usplus_0_top/obsibdaaf4ker2wujpra0sjb/RX_SERDES_RESET[3]}

{gen_die_comm_top[1].leda_die_comm_top_int/gen_cmac[3].u_hard_caui4_top_wrapper_inst/u_cmac_usplus_0/inst/i_cmac_usplus_0_cmac_cdc_sync_gt_txresetdone_int3/s_out_d4_reg/C --》 gen_die_comm_top[1].leda_die_comm_top_int/gen_cmac[3].u_hard_caui4_top_wrapper_inst/u_cmac_usplus_0/inst/i_cmac_usplus_0_top/obsibdaaf4ker2wujpra0sjb/RX_SERDES_RESET[2]}

{gen_die_comm_top[1].leda_die_comm_top_int/gen_cmac[3].u_hard_caui4_top_wrapper_inst/u_cmac_usplus_0/inst/i_cmac_usplus_0_cmac_cdc_sync_gt_txresetdone_int3/s_out_d4_reg/C --》 gen_die_comm_top[1].leda_die_comm_top_int/gen_cmac[3].u_hard_caui4_top_wrapper_inst/u_cmac_usplus_0/inst/i_cmac_usplus_0_top/obsibdaaf4ker2wujpra0sjb/RX_SERDES_RESET[1]}

為了得到我們所需的更詳細(xì)信息,可在Clock Interaction Report表格中,選中GTYE4_CHANNEL_RXOUTCLK_7這個(gè)時(shí)鐘域,右鍵菜單選擇Report Timing,

并且在設(shè)置對(duì)話框的Advanced標(biāo)簽卡中勾選Report user ignored paths選項(xiàng)。

對(duì)應(yīng)的Tcl命令為:

report_timing -from [get_clocks GTYE4_CHANNEL_RXOUTCLK_7] -to [get_clocks GTYE4_CHANNEL_RXOUTCLK_7] -delay_type min_max -max_paths 10 -sort_by group -input_pins -routable_nets -user_ignored -name timing_3

當(dāng)然,你可以根據(jù)需要增大max_paths的數(shù)目,以便更完整地包含所有路徑。

運(yùn)行結(jié)果如下圖,可以看到,除了常規(guī)的時(shí)序路徑信息,Exception一列還額外羅列了約束ID。

f3ac0384-0210-11ec-9bcf-12bb97331649.png

Step3:查找約束ID

這個(gè)ID反映的是Constraint position,我們可以打開(kāi)Timing Constraints窗口,非常直觀方便地定位這個(gè)ID所對(duì)應(yīng)的約束語(yǔ)句。

Timing Constraints窗口僅對(duì)Synthesized Design或Implemented Design適用。你可以通過(guò)以下三種方式之一找到其入口(截圖匹配Vivado 2020.2版本):

Open Synthesized/Implemented Design,選擇菜單Windows 》 Timing Constraints

Open Synthesized Design,選擇Flow Navigator里Synthesized Design部分的Edit Timing Constraints

Open Implemented Design,選擇Flow Navigator里Implemented Design部分的Edit Timing Constraints

打開(kāi)后,在All Constraints子窗口下拉找到Position一列為643的約束語(yǔ)句,如圖所示:

f46db506-0210-11ec-9bcf-12bb97331649.png

選中此行約束,可以看到右上可視化表格的同條約束也自動(dòng)被選中,向右拉到Source File一列可以看到約束所在的XDC文件,或者在All Constraints窗口上翻到此約束所在的層次,同樣會(huì)列出XDC文件的具體信息。

如果你偏好Tcl模式,也可以用write_xdc導(dǎo)出帶有ID的所有時(shí)序約束。

write_xdc -type timing -write_id timing.xdc

不過(guò)-write_id選項(xiàng)僅在2020.2及之后版本才支持。

至此,我們已經(jīng)定位了partial false path的路徑細(xì)節(jié)及約束來(lái)源。

如前所述,調(diào)試完約束后,請(qǐng)將-merge_exceptions設(shè)回默認(rèn)值true,以免對(duì)運(yùn)行時(shí)間及內(nèi)存產(chǎn)生負(fù)面影響。

文中的方式可以應(yīng)用到所有諸如此類(lèi)“哪些約束覆蓋了此路徑“的疑問(wèn)解答上,希望對(duì)各位開(kāi)發(fā)者的時(shí)序調(diào)試有所幫助。

編輯:jq

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

    關(guān)注

    0

    文章

    9

    瀏覽量

    11946
  • TCL
    TCL
    +關(guān)注

    關(guān)注

    10

    文章

    1715

    瀏覽量

    88471
  • 集成設(shè)計(jì)
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    7499
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    808

    瀏覽量

    66329

原文標(biāo)題:開(kāi)發(fā)者分享 | 約束調(diào)試案例分析-如何判斷路徑的 timing exception 約束來(lái)自哪里?

文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA設(shè)計(jì)中有多個(gè)時(shí)鐘時(shí)如何處理?

    FPGA設(shè)計(jì)中有多個(gè)時(shí)鐘時(shí)如何處理?跨時(shí)鐘的基本設(shè)計(jì)方法是:(1)對(duì)于單個(gè)信號(hào),使用雙D觸發(fā)器在不同時(shí)鐘
    發(fā)表于 02-24 15:47

    【時(shí)序約束】和阿東起學(xué)習(xí)時(shí)序約束之異步時(shí)鐘約束 set_false_path

    總得來(lái)說(shuō),FALSE PATH就是我們?cè)谶M(jìn)行時(shí)序分析時(shí),不希望工具進(jìn)行分析的那些路徑。般不需要工具時(shí)序分析的路徑指的是異步的路徑,異步路徑就是指的不同時(shí)鐘
    發(fā)表于 06-26 23:54

    【時(shí)序約束】和阿東起學(xué)習(xí)時(shí)序約束之異步時(shí)鐘約束 set_false_path

    總得來(lái)說(shuō),FALSE PATH就是我們?cè)谶M(jìn)行時(shí)序分析時(shí),不希望工具進(jìn)行分析的那些路徑。般不需要工具時(shí)序分析的路徑指的是異步的路徑,異步路徑就是指的不同時(shí)鐘
    發(fā)表于 06-27 00:00

    【時(shí)序約束】關(guān)于設(shè)置FALSE PATH

    總得來(lái)說(shuō),FALSE PATH就是我們?cè)谶M(jìn)行時(shí)序分析時(shí),不希望工具進(jìn)行分析的那些路徑。般不需要工具時(shí)序分析的路徑指的是異步的路徑,異步路徑就是指的不同時(shí)鐘
    發(fā)表于 06-27 06:34

    時(shí)鐘時(shí)鐘約束介紹

    解釋了什么時(shí)候要用到FALSE PATH: 1.從邏輯上考慮,與電路正常工作不相關(guān)的那些路徑,比如測(cè)試邏輯,靜態(tài)或準(zhǔn)靜態(tài)邏輯。 2. 從時(shí)序上考慮,我們?cè)诰C合時(shí)不需要分析的那些路徑,比如跨越異步時(shí)鐘
    發(fā)表于 07-03 11:59

    為什么Vivado沒(méi)有在CCIO的同一時(shí)鐘區(qū)域選擇MMCM?

    問(wèn)候!我正在使用Virtex7 / XC7V2000T / ***1925。我有兩個(gè)clcoks,pipe3_clk和ulpi_clk,連接到同一時(shí)鐘區(qū)域的兩個(gè)CCIO,X1Y7。但Vivado在
    發(fā)表于 07-16 14:18

    同步從個(gè)時(shí)鐘到另個(gè)時(shí)鐘的多位信號(hào)怎么實(shí)現(xiàn)?

    你好,我在Viv 2016.4上使用AC701板。我需要同步從個(gè)時(shí)鐘到另個(gè)時(shí)鐘的多位信號(hào)
    發(fā)表于 08-17 07:48

    基于FALSE PATH的設(shè)置

    總得來(lái)說(shuō),FALSE PATH就是我們?cè)谶M(jìn)行時(shí)序分析時(shí),不希望工具進(jìn)行分析的那些路徑。般不需要工具時(shí)序分析的路徑指的是異步的路徑,異步路徑就是指的不同時(shí)鐘
    發(fā)表于 09-19 10:46 ?0次下載
    基于<b class='flag-5'>FALSE</b> <b class='flag-5'>PATH</b>的設(shè)置

    硬件設(shè)計(jì)中教你如何正確的約束時(shí)鐘

    的"Partial False Path (unsafe)"方框,那你應(yīng)該是沒(méi)有正確地對(duì)異步時(shí)鐘約束。如果你的設(shè)計(jì)中有大量的跨時(shí)鐘
    的頭像 發(fā)表于 07-15 15:35 ?6448次閱讀

    如何判斷路徑的timing exception約束

    ,為什么有些路徑在分析時(shí)忽略了?我怎么去定位這些約束是哪里設(shè)定的?本文結(jié)合個(gè)具體案例,闡述了如何追溯同一時(shí)鐘內(nèi)
    的頭像 發(fā)表于 08-02 08:03 ?1382次閱讀
    如何判斷路徑的timing exception約束

    CDC跨時(shí)鐘的基礎(chǔ)概念

    時(shí)鐘clock domain:以寄存器捕獲的時(shí)鐘來(lái)劃分時(shí)鐘。 單時(shí)鐘
    的頭像 發(fā)表于 08-29 15:11 ?2467次閱讀

    CDC跨時(shí)鐘的基礎(chǔ)概念介紹

    時(shí)鐘clock domain:以寄存器捕獲的時(shí)鐘來(lái)劃分時(shí)鐘。單時(shí)鐘
    的頭像 發(fā)表于 12-26 15:21 ?1685次閱讀

    時(shí)鐘CDC之全面解析

    些較為簡(jiǎn)單的數(shù)字電路中,只有個(gè)時(shí)鐘,即所有的觸發(fā)器都使用同一個(gè)時(shí)鐘,那么我們說(shuō)這個(gè)電路中只有
    的頭像 發(fā)表于 03-15 13:58 ?3582次閱讀

    STA學(xué)習(xí)記錄-時(shí)鐘定義

    STA的準(zhǔn)備工作包括:設(shè)定時(shí)鐘、指定IO時(shí)序特性、指定false path和multicycle path
    的頭像 發(fā)表于 05-26 17:20 ?1003次閱讀
    STA學(xué)習(xí)記錄-<b class='flag-5'>時(shí)鐘</b>定義

    如何做條合格的path同一path在物理設(shè)計(jì)不同階段的變化

    Delay值是多少才算合格呢?這篇開(kāi)始講解路徑(Path)的概念,以及衡量Path Delay是否合格的標(biāo)準(zhǔn)----建立時(shí)間(setup time)和保持時(shí)間(hold time)。
    的頭像 發(fā)表于 06-27 14:12 ?1042次閱讀
    如何做<b class='flag-5'>一</b>條合格的<b class='flag-5'>path</b>?<b class='flag-5'>同一</b>條<b class='flag-5'>path</b>在物理設(shè)計(jì)不同階段的變化