在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何判斷路徑的timing exception約束

吳湛 ? 來源:哎呀2015 ? 作者:哎呀2015 ? 2022-08-02 08:03 ? 次閱讀

隨著設計復雜度和調用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的情況。

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]] \n

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

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的約束語句,如圖所示:

選中此行約束,可以看到右上可視化表格的同條約束也自動被選中,向右拉到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,以免對運行時間及內存產生負面影響。

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

審核編輯:郭婷

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

    關注

    5

    文章

    1789

    瀏覽量

    151421
  • 內存
    +關注

    關注

    8

    文章

    3111

    瀏覽量

    75017
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    PCB Layout 約束管理,助力優化設計

    本文重點PCBlayout約束管理在設計中的重要性Layout約束有助避免一些設計問題設計中可以使用的不同約束在PCB設計規則和約束管理方面,許多設計師試圖采用“一刀切”的方法,認為同
    的頭像 發表于 05-16 13:02 ?272次閱讀
    PCB Layout <b class='flag-5'>約束</b>管理,助力優化設計

    FPGA時序約束之設置時鐘組

    Vivado中時序分析工具默認會分析設計中所有時鐘相關的時序路徑,除非時序約束中設置了時鐘組或false路徑。使用set_clock_groups命令可以使時序分析工具不分析時鐘組中時鐘的時序
    的頭像 發表于 04-23 09:50 ?314次閱讀
    FPGA時序<b class='flag-5'>約束</b>之設置時鐘組

    一文詳解Vivado時序約束

    Vivado的時序約束是保存在xdc文件中,添加或創建設計的工程源文件后,需要創建xdc文件設置時序約束。時序約束文件可以直接創建或添加已存在的約束文件,創建
    的頭像 發表于 03-24 09:44 ?2849次閱讀
    一文詳解Vivado時序<b class='flag-5'>約束</b>

    真空斷路器的工作原理 真空斷路器和空氣斷路器的區別

    一、真空斷路器的工作原理 真空斷路器是一種利用真空作為滅弧介質的斷路器,其工作原理主要基于真空環境中電流流過零點時等離子體的迅速擴散來熄滅電弧,從而完成切斷電流的任務。以下是真空斷路
    的頭像 發表于 01-31 10:59 ?1936次閱讀

    漏電繼電器多長時間檢查一次,漏電斷路器壞了怎么判斷

    在電氣系統中,漏電繼電器與漏電斷路器作為關鍵的安全裝置,承擔著監測電路中的漏電情況并在檢測到異常時及時切斷電源的重要職責,以防止電擊事故和火災等安全隱患。為了確保這些設備的正常運行和電氣系統的整體安全,定期的檢查與維護是必不可少的。本文將深入探討漏電繼電器的檢查周期以及漏電斷路
    的頭像 發表于 01-29 16:34 ?860次閱讀

    真空斷路器與其他類型斷路器的性能對比

    在電力系統中,斷路器是實現電路控制和保護的關鍵設備。隨著技術的發展,斷路器的種類也越來越多,包括真空斷路器、空氣斷路器、油斷路器和SF6
    的頭像 發表于 01-17 09:39 ?767次閱讀

    斷路器選型的實用技巧

    在電力系統和工業自動化領域,斷路器扮演著至關重要的角色。它們不僅保護電路免受短路和過載的損害,還確保了人員和設備的安全。然而,選擇合適的斷路器并非易事,需要考慮多種因素。 1. 了解基本參數 在選型
    的頭像 發表于 01-03 09:37 ?1064次閱讀

    工業斷路器與家用斷路器的區別

    斷路器是電氣系統中用于保護電路免受過載和短路損害的重要元件。它們能夠在檢測到異常電流時自動切斷電路,從而保護電氣設備和人員安全。根據應用場景的不同,斷路器可以分為工業斷路器和家用斷路
    的頭像 發表于 01-03 09:34 ?1244次閱讀

    斷路器的檢測方法

    斷路器的檢測方法多種多樣,以下是一些常見的檢測方法: 一、直觀檢查 直觀檢查是斷路器檢測的基礎步驟,主要通過觀察斷路器的外觀來判斷其是否存在明顯的物理損壞或異常。檢查內容包括: ·
    發表于 12-27 10:29

    如何判斷串聯電路的故障 串聯設備的使用注意事項

    如何判斷串聯電路的故障 判斷串聯電路的故障,主要依賴于電流表和電壓表的讀數,以及電路中各個元件的工作狀態。以下是一些常見的串聯電路故障判斷方法: 電流表的使用 : 斷路故障 :如果電流
    的頭像 發表于 12-02 17:28 ?1655次閱讀

    時序約束一主時鐘與生成時鐘

    的輸出,對于Ultrascale和Ultrascale+系列的器件,定時器會自動地接入到GT的輸出。 1.2 約束設置格式 主時鐘約束使用命令create_clock進行創建,進入Timing
    的頭像 發表于 11-29 11:03 ?1279次閱讀
    時序<b class='flag-5'>約束</b>一主時鐘與生成時鐘

    常用時序約束使用說明-v1

    state到cnt的路徑打印10條路徑,以第一條為例report_timing -from key2_detect_inst/state* -file timing_test.txt
    的頭像 發表于 11-01 11:06 ?509次閱讀

    電路的兩類約束指的是哪兩類

    電路的兩類約束通常指的是電氣約束和物理約束。這兩類約束在電路設計和分析中起著至關重要的作用。 一、電氣約束 電氣
    的頭像 發表于 08-25 09:34 ?1848次閱讀

    請問PGA280輸入開關網絡如何檢測輸入線路的開路或斷路

    如圖所示 ,PGA前端是我被測量的信號,看PGA280的手冊說可以檢測輸入信號的斷路和開路,意思是分別可以檢測輸入兩條線有一條線斷開,以及檢測輸入兩條線都斷開這兩種情況,現在不知道這個開關網絡
    發表于 08-14 08:13

    ESP8266 Fatal exception (3) 無法正常啟動怎么解決?

    1. 相關背景 使用的模塊為esp12-f,使用arduino-esp8266,版本為2.3。在開關電的時候會有一定概率出現ESP8266 Fatal exception (3)的錯誤,然后一直無法
    發表于 07-10 07:51
    主站蜘蛛池模板: 国产一级大片免费看 | 天堂在线.www资源在线观看 | 男人在线网站 | 精品一区二区视频 | 日本免费小视频 | 欧美一区二区精品 | 一级特黄a 大片免费 | 色激情综合网 | 亚洲一区二区三区四区在线观看 | 男人都懂得网址 | 亚洲青草视频 | 高清国产一区二区三区 | 日本三人交xxx69视频 | 免费高清一级欧美片在线观看 | 国产精品第页 | 久久成人性色生活片 | 欧美午夜视频一区二区三区 | 免费观看四虎精品成人 | 污污的黄色小说 | 免费人成年短视频在线观看免费网站 | 免费大秀视频在线播放 | 天堂综合网 | eeuss久久久精品影院 | 天天拍天天射 | 天天视频入口 | 免费人成黄页在线观看日本 | 四虎黄色网 | 国产成人综合欧美精品久久 | 五月激情婷婷网 | 日本欧美一级 | 成人精品一级毛片 | 在线视频黄色 | 国产 麻豆| 欧美精品高清在线xxxx | 日本三级免费网站 | 久久中文字幕综合婷婷 | 淫欲高三 | 手机看片国产精品 | 精品卡1卡2卡三卡免费视频 | 日韩特黄 | 无人码一区二区三区视频 |