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

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

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

3天內不再提示

如何追溯同一時鐘域內partial false path的來源

算法與數據結構 ? 來源:XILINX開發者社區微信公眾 ? 作者:XILINX開發者社區微 ? 2021-08-23 11:31 ? 次閱讀

隨著設計復雜度和調用IP豐富度的增加,在調試時序約束的過程中,用戶常常會對除了自己設定的約束外所涉及的繁雜的時序約束感到困惑而無從下手。舉個例子,我的XDC里面并沒有指定set_false_path,為什么有些路徑在分析時忽略了?我怎么去定位這些約束是哪里設定的?

事實上,Vivado集成設計環境提供了很多輔助工具來協助用戶完成時序約束的分析。

本文結合一個具體案例,闡述了如何追溯同一時鐘域內partial false path的來源,希望為開發者的設計調試提供一些技巧和竅門。

首先來看問題。

在此設計中,當用report clock interaction查看時鐘關系時,注意到不少單時鐘域被標注成了partial false path。對于一個約束文件眾多,約束較為復雜的設計,如何進一步推斷partial false path有哪些路徑,是被哪些約束覆蓋了呢?

以其中的一個時鐘域GTYE4_CHANNEL_RXOUTCLK_7為例:

Step1:關閉merging timing exceptions

運行Tcl命令讓時序工具不要合并時序異常約束。

config_timing_analysis -merge_exceptions false

要注意的是,這種模式會導致更長的運行時間和更大的內存占用,因此不推薦默認情況下將時序工具保持在此模式下。

調試完成后,要恢復到默認模式,請將-merge_exceptions 的值設置為 True。

你可以用report_config_timing來報告exception merge的情況。

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

Step2:產生詳細的時序路徑報告

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

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

返回會分行顯示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]}

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

并且在設置對話框的Advanced標簽卡中勾選Report user ignored paths選項。

對應的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

當然,你可以根據需要增大max_paths的數目,以便更完整地包含所有路徑。

運行結果如下圖,可以看到,除了常規的時序路徑信息,Exception一列還額外羅列了約束ID。

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

Step3:查找約束ID

這個ID反映的是Constraint position,我們可以打開Timing Constraints窗口,非常直觀方便地定位這個ID所對應的約束語句。

Timing Constraints窗口僅對Synthesized Design或Implemented Design適用。你可以通過以下三種方式之一找到其入口(截圖匹配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

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

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

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

如果你偏好Tcl模式,也可以用write_xdc導出帶有ID的所有時序約束。

write_xdc -type timing -write_id timing.xdc

不過-write_id選項僅在2020.2及之后版本才支持。

至此,我們已經定位了partial false path的路徑細節及約束來源。

如前所述,調試完約束后,請將-merge_exceptions設回默認值true,以免對運行時間及內存產生負面影響。

文中的方式可以應用到所有諸如此類“哪些約束覆蓋了此路徑“的疑問解答上,希望對各位開發者的時序調試有所幫助。

編輯:jq

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

    關注

    0

    文章

    9

    瀏覽量

    11992
  • TCL
    TCL
    +關注

    關注

    10

    文章

    1738

    瀏覽量

    88781
  • 集成設計
    +關注

    關注

    0

    文章

    4

    瀏覽量

    7535
  • Vivado
    +關注

    關注

    19

    文章

    815

    瀏覽量

    66792

原文標題:開發者分享 | 約束調試案例分析-如何判斷路徑的 timing exception 約束來自哪里?

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA設計中有多個時鐘時如何處理?

    FPGA設計中有多個時鐘時如何處理?跨時鐘的基本設計方法是:(1)對于單個信號,使用雙D觸發器在不同時鐘
    發表于 02-24 15:47

    【時序約束】和阿東起學習時序約束之異步時鐘約束 set_false_path

    總得來說,FALSE PATH就是我們在進行時序分析時,不希望工具進行分析的那些路徑。般不需要工具時序分析的路徑指的是異步的路徑,異步路徑就是指的不同時鐘
    發表于 06-26 23:54

    【時序約束】和阿東起學習時序約束之異步時鐘約束 set_false_path

    總得來說,FALSE PATH就是我們在進行時序分析時,不希望工具進行分析的那些路徑。般不需要工具時序分析的路徑指的是異步的路徑,異步路徑就是指的不同時鐘
    發表于 06-27 00:00

    【時序約束】關于設置FALSE PATH

    總得來說,FALSE PATH就是我們在進行時序分析時,不希望工具進行分析的那些路徑。般不需要工具時序分析的路徑指的是異步的路徑,異步路徑就是指的不同時鐘
    發表于 06-27 06:34

    時鐘時鐘約束介紹

    解釋了什么時候要用到FALSE PATH: 1.從邏輯上考慮,與電路正常工作不相關的那些路徑,比如測試邏輯,靜態或準靜態邏輯。 2. 從時序上考慮,我們在綜合時不需要分析的那些路徑,比如跨越異步時鐘
    發表于 07-03 11:59

    為什么Vivado沒有在CCIO的同一時鐘區域選擇MMCM?

    問候!我正在使用Virtex7 / XC7V2000T / ***1925。我有兩個clcoks,pipe3_clk和ulpi_clk,連接到同一時鐘區域的兩個CCIO,X1Y7。但Vivado在
    發表于 07-16 14:18

    同步從時鐘到另時鐘的多位信號怎么實現?

    你好,我在Viv 2016.4上使用AC701板。我需要同步從時鐘到另時鐘的多位信號
    發表于 08-17 07:48

    基于FALSE PATH的設置

    總得來說,FALSE PATH就是我們在進行時序分析時,不希望工具進行分析的那些路徑。般不需要工具時序分析的路徑指的是異步的路徑,異步路徑就是指的不同時鐘
    發表于 09-19 10:46 ?0次下載
    基于<b class='flag-5'>FALSE</b> <b class='flag-5'>PATH</b>的設置

    硬件設計中教你如何正確的約束時鐘

    的"Partial False Path (unsafe)"方框,那你應該是沒有正確地對異步時鐘約束。如果你的設計中有大量的跨時鐘
    的頭像 發表于 07-15 15:35 ?6581次閱讀

    如何判斷路徑的timing exception約束

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

    CDC跨時鐘的基礎概念

    時鐘clock domain:以寄存器捕獲的時鐘來劃分時鐘。 單時鐘
    的頭像 發表于 08-29 15:11 ?2541次閱讀

    CDC跨時鐘的基礎概念介紹

    時鐘clock domain:以寄存器捕獲的時鐘來劃分時鐘。單時鐘
    的頭像 發表于 12-26 15:21 ?1821次閱讀

    時鐘CDC之全面解析

    些較為簡單的數字電路中,只有時鐘,即所有的觸發器都使用同一時鐘,那么我們說這個電路中只有
    的頭像 發表于 03-15 13:58 ?3906次閱讀

    STA學習記錄-時鐘定義

    STA的準備工作包括:設定時鐘、指定IO時序特性、指定false path和multicycle path
    的頭像 發表于 05-26 17:20 ?1094次閱讀
    STA學習記錄-<b class='flag-5'>時鐘</b>定義

    如何做條合格的path同一path在物理設計不同階段的變化

    Delay值是多少才算合格呢?這篇開始講解路徑(Path)的概念,以及衡量Path Delay是否合格的標準----建立時間(setup time)和保持時間(hold time)。
    的頭像 發表于 06-27 14:12 ?1297次閱讀
    如何做<b class='flag-5'>一</b>條合格的<b class='flag-5'>path</b>?<b class='flag-5'>同一</b>條<b class='flag-5'>path</b>在物理設計不同階段的變化
    主站蜘蛛池模板: 日本不卡三卡四卡 | 成人在线免费视频观看 | 快播dvd吧| 色综合五月激情综合色一区 | 黄色天堂网 | 99久久免费国产精精品 | 色欲精品久久人妻AV中文字幕 | 激情男女高潮射精AV免费 | 午夜伦理在线观看 | 成片免费观看视频在线网 | brazzers欧美孕交 | 最近中文字幕完整版免费 | 亚洲国产在线精品国自产拍五月 | 久久99国产精品二区不卡 | 久久中文字幕乱码免费 | 免费被靠视频动漫 | 国产精品爽爽久久久久久竹菊 | 亚洲人美女肛交真人全程 | 日日噜噜夜夜狠狠视频 | 国产精品爽爽久久久久久蜜桃 | 性色欲情网站IWWW | 88蜜桃人妻无码精品系列 | 国产精品人妻午夜福利 | 亚洲黄色在线视频 | 调教玩弄奶头乳夹开乳震动器 | 国产高清-国产av | 国产午夜精品久久理论片小说 | 武侠古典久久亚洲精品 | 久久精品热播在线看 | 国产激情精品久久久久久碰 | 99久久久国产精品免费蜜臀 | 亚洲欧美国产综合在线一区 | 国产亚洲精品久久久久久白晶晶 | Zoofilivideo人馿交 | proburn中文破解版下载 | 色欲国产麻豆一精品一AV一免费 | 热久久视久久精品18 | 日本伦子欲 | 国产精品美女久久久网站动漫 | 亚洲午夜福利未满十八勿进 | 日本久久久久亚洲中字幕 |