国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    1862

    瀏覽量

    155827
  • 內存
    +關注

    關注

    9

    文章

    3209

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Vivado時序約束中invert參數的作用和應用場景

    在Vivado的時序約束中,-invert是用于控制信號極性的特殊參數,應用于時鐘約束(Clock Constraints)和延遲約束(Delay Constraints)中,用于指定信號的有效邊沿或邏輯極性。
    的頭像 發表于 02-09 13:49 ?207次閱讀
    Vivado時序<b class='flag-5'>約束</b>中invert參數的作用和應用場景

    vivado中常用時序約束指令介紹

    在vivado中,我們常用的時序約束指令主要包括如下幾個方面。
    的頭像 發表于 01-20 16:15 ?296次閱讀

    輸入引腳時鐘約束_Xilinx FPGA編程技巧-常用時序約束詳解

    基本的約束方法 為了保證成功的設計,所有路徑的時序要求必須能夠讓執行工具獲取。最普遍的三種路徑以及異常路徑為: 輸入路徑(Input Pa
    發表于 01-16 08:19

    固態斷路器參考設計用戶指南:從原理到實踐

    固態斷路器參考設計用戶指南:從原理到實踐 在電力系統中,斷路器是保障電路安全運行的關鍵設備。傳統的機械斷路器在應對高速、高精度的電路保護需求時,逐漸顯現出其局限性。固態斷路器(SSCB
    的頭像 發表于 12-19 10:25 ?892次閱讀

    斷路器柜局放監測系統—技術實踐

    設計,系統闡述斷路器柜局放監測的核心路徑,為電力運維提供專業參考。脈沖電流法作為主流監測原理,依托斷路器柜接地線或傳感器采集局部放電產生的瞬態脈沖電流。該方法通過高頻電
    的頭像 發表于 12-09 09:40 ?349次閱讀
    <b class='flag-5'>斷路</b>器柜局放監測系統—技術實踐

    充電樁消防設備:智能空開、智慧開關、斷路器與智能斷路

    中,智能空開、智慧開關、斷路器及智能斷路器扮演著至關重要的角色,它們共同構筑了一道堅實的安全防線。 一、 基礎防護:傳統斷路器與智能斷路器的演進
    的頭像 發表于 11-04 18:04 ?1806次閱讀

    時序約束問題的解決辦法

    在使用vivado對 Verilog 代碼進行綜合后,點擊“SYNTHESIS”下的“Report Timing Summary”,可以查看綜合后的時序報告,查看 Setup Time 和 Hold
    發表于 10-24 09:55

    關于綜合保持時間約束不滿足的問題

    兩個時鐘是沒有約束的異步時鐘 3、在 synthesis 中 打開 edit timing constraints 設置異步時鐘,如下圖: 4、再重新運行 synthesis 中的 report
    發表于 10-24 07:42

    技術資訊 I Allegro 設計中的走線約束設計

    本文要點在進行時序等長布線操作的時候,在布線操作的時候不管你是走蛇形線還是走折線,約束管理器會自動幫你計算長度、標偏差,通過精確控制走線長度,來實現信號的時序匹配。約束設計就是一套精準的導航系統
    的頭像 發表于 09-05 15:19 ?1324次閱讀
    技術資訊 I Allegro 設計中的走線<b class='flag-5'>約束</b>設計

    物聯網斷路器電氣安全守護者智能微型斷路

    在現代建筑中,電力是血液,而配電系統則是維持一切運轉的心臟。無論是工業廠房、商業樓宇,還是住宅小區、基礎設施,低壓終端配電網絡的可靠性與安全性始終是重中之重。 ASCB1系列智能微型斷路器通過搭配
    的頭像 發表于 09-03 15:27 ?455次閱讀
    物聯網<b class='flag-5'>斷路</b>器電氣安全守護者智能微型<b class='flag-5'>斷路</b>器

    技術資訊 I 圖文詳解約束管理器-差分對規則約束

    本文要點你是否經常在Layout設計中抓瞎,拿著板子無從下手,拿著鼠標深夜狂按;DDR等長沒做好導致系統不穩定,PCIe沒設相位容差造成鏈路訓練失敗……這些都是血淚教訓,關鍵時刻需要靠約束管理器救命
    的頭像 發表于 08-08 17:01 ?1194次閱讀
    技術資訊 I 圖文詳解<b class='flag-5'>約束</b>管理器-差分對規則<b class='flag-5'>約束</b>

    地平線的L3判斷與實踐路徑

    在智能駕駛演進過程中,L3/L4/L5等“高級別自動駕駛”的持續探索成為行業焦點,圍繞其實現路徑、驗證方式與工程落地的討論也在持續深化。
    的頭像 發表于 06-27 09:39 ?1401次閱讀

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

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

    FPGA時序約束之設置時鐘組

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

    一文詳解Vivado時序約束

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