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

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

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

3天內不再提示

Vivado IDE全面了解XDC文件的約束順序

454398 ? 來源:CSDN博主 ? 作者:Reborn Lee ? 2020-11-13 10:53 ? 次閱讀

由于XDC約束是按順序應用的,并且基于明確的優先級規則進行優先級排序,因此必須仔細檢查約束的順序。

如果多個物理約束發生沖突,則最新約束將獲勝。 例如,如果通過多個XDC文件為I / O端口分配了不同的位置(LOC),則分配給該端口的最新位置優先。

Vivado IDE可全面了解您的設計。 要逐步驗證您的約束:
1.運行相應的報告命令。
2.查看Tcl控制臺或“消息”窗口中的消息。

推薦的約束順序

建議:無論是為設計使用一個還是多個XDC文件,都按以下順序組織約束。

## Timing Assertions Section
# Primary clocks
# Virtual clocks
# Generated clocks
# Clock Groups
# Bus Skew constraints
# Input and output delay constraints

## Timing Exceptions Section
# False Paths
# Max Delay / Min Delay
# Multicycle Paths
# Case Analysis
# Disable Timing

## Physical Constraints Section
# located anywhere in the file, preferably before or after the timing constraints
# or stored in a separate constraint file

時鐘定義開始。 必須先創建時鐘,然后才能將它們用于任何后續約束。 聲明之前對時鐘的任何引用都會導致錯誤,并忽略相應的約束。 在單個約束文件中以及設計中的所有XDC文件(或Tcl腳本)中都是如此。

約束文件的順序很重要。 您必須確保每個文件中的約束不依賴于另一個文件的約束。 如果是這種情況,則必須最后讀取包含約束依賴項的文件。 如果兩個約束文件具有相互依賴關系,則必須將它們手動合并到一個包含正確序列的文件中,或者將文件分成幾個單獨的文件并正確排序。

編輯約束順序

Vivado IDE約束管理器將任何已編輯的約束保存回XDC文件中的原始位置,但不會保存在Tcl腳本中。 任何新約束都保存在標記為目標的XDC文件的末尾。 在許多情況下,當約束集包含多個XDC文件時,目標約束文件不是列表中的最后一個文件,并且在打開或重新加載設計時不會最后加載。 因此,保存在磁盤上的約束序列可能與之前在內存中的約束序列不同。

重要信息:您必須驗證存儲在約束文件中的最終序列是否仍按預期工作。 如果必須修改序列,則必須通過直接編輯約束文件來修改它。 這對時序約束尤為重要。

約束文件順序

在沒有任何IP的項目流程中,所有約束都位于約束集中。 默認情況下,Vivado IDE中顯示的XDC文件(或Tcl腳本)的順序定義了將elaborated design或synthesized design加載到內存時工具使用的讀取順序。 首先讀取列表頂部的文件,最后讀取底部的文件。 您只需在IDE中選擇文件并將其移動到列表中的所需位置即可更改順序。

例如,在圖1中,使用拖放操作將文件wave_gen_pin.xdc移動到文件wave_gen_timing.xdc之前。

Figure 1: Changing XDC File Order in the Vivado IDE Example

The equivalent Tcl command is:
reorder_files -fileset constrs_1 -before [get_files wave_gen_timing.xdc] [get_files wave_gen_pins.xdc]

在非項目模式下,read_xdc調用的順序決定了約束文件的計算順序。

Constraint Files Order with IP Cores

許多IP內核隨附一個或多個XDC文件。 在RTL項目中生成此類IP內核時,還會在各種設計編譯步驟中使用其XDC文件。

例如,圖2顯示項目中的一個IP核帶有一個XDC文件。

Figure 2: XDC Files in the IP Sources

默認情況下,在用戶XDC文件之前讀入IP XDC文件。 以這種方式處理它允許IP創建可在XDC中引用的時鐘對象。 它還允許您覆蓋由IP內核設置的物理約束,因為在IP之后評估用戶約束。 對于依賴于由用戶或其他IP創建的時鐘對象的IP核,此順序有一個例外(例如,get_clocks -of_objects [get_ports clka])。 在這種情況下,在用戶文件之后讀取IP XDC。

此行為由PROCESSING_ORDER屬性控制,為每個XDC文件設置:
?EARLY:必須先讀取的文件
?NORMAL:默認
?LATE:必須最后讀取的文件

IP XDC將其PROCESSING_ORDER屬性設置為EARLY或LATE。 沒有哪個IP提供屬于NORMAL約束組的XDC文件。 對于屬于同 一PROCESSING_ORDER組的用戶XDC(或Tcl)文件,Vivado IDE中顯示的相對順序決定了它們的讀取順序。 可以通過移動Vivado IDE約束集中的文件或使用reorder_files命令來修改組中的順序。

對于屬于同一PROCESSING_ORDER組的IP XDC文件,順序由IP內核的導入或創建順序確定。 創建項目后,無法更改此順序。

最后,用戶組和IP XDC PROCESSING_ORDER組之間的相對順序如下:
1.標記為EARLY的用戶約束
2.標記為EARLY的IP約束(默認)
3.標記為NORMAL的用戶約束
4.標記為LATE的IP約束(包含時鐘依賴性)
5.標記為LATE的用戶約束

注意:將其PROCESSING_ORDER設置為LATE(以便在用戶約束后進行處理)的IP XDC文件命名為 _clocks.xdc。

下圖顯示了如何設置PROCESSING_ORDER屬性的示例:

Figure 3: Setting the XDC File PROCESSING_ORDER Example

The equivalent Tcl command is:
set_property PROCESSING_ORDER EARLY [get_files wave_gen_pins.xdc]

建議:使用Tcl控制臺中的report_compile_order -constraints命令報告由工具根據上述屬性確定的XDC文件讀取順序,包括IS_ENABLED,USED_IN_SYNTHESIS和USED_IN_IMPLEMENTATION。

Changing Read Order

要在約束集中更改XDC文件或非托管Tcl腳本的讀取順序,請執行以下操作:
1. 在“源”窗口中,選擇要移動的XDC文件或Tcl腳本。
2. 將文件拖放到約束集中的所需位置。

對于圖1中所示的示例,等效的Tcl命令是:
reorder_files -fileset constrs_1 -before [get_files wave_gen_timing.xdc] [get_files wave_gen_pins.xdc]

在非項目模式下,read_xdc或source命令的順序決定了約束文件的讀取順序。

如果使用帶有約束的IP內核,則會自動處理兩組約束,如下所示:
?不依賴于時鐘的約束被分組到XDC文件中,PROCESSING_ORDER設置為EARLY,
?依賴于時鐘的約束在PROCESSING_ORDER設置為LATE的XDC文件中分組。

默認情況下,用戶XDC文件屬于PROCESSING_ORDER NORMAL組。 它們在EARLY XDC文件之后和LATE XDC文件之前加載。 對于每個PROCESSING_ORDER組,IP XDC文件的加載順序與IP Sources窗口中IP核的列表順序相同。 例如,下圖顯示了XDC文件附帶的項目IP內核之一。

Figure 4: XDC Files in the IP Sources

打開設計時,日志文件顯示最后加載了IP XDC文件:

Parsing XDC File

[C:/project_wave_gen_hdl.srcs/sources_1/ip/clk_core/clk_core.xdc] for cell 'clk_gen_i0/clk_core_i0/inst'
Finished Parsing XDC File
[C:/project_wave_gen_hdl.srcs/sources_1/ip/clk_core/clk_core.xdc] for cell 'clk_gen_i0/clk_core_i0/inst'
Parsing XDC File
[C:/project_wave_gen_hdl.srcs/sources_1/ip/char_fifo/char_fifo/char_fifo.xdc] for cell 'char_fifo_i0/U0'
Finished Parsing XDC File
[C:/project_wave_gen_hdl.srcs/sources_1/ip/char_fifo/char_fifo/char_fifo.xdc] for cell 'char_fifo_i0/U0'
Parsing XDC File
[C:/project_wave_gen_hdl.srcs/constrs_1/imports/verilog/wave_gen_timing.xdc]
Finished Parsing XDC File
[C:/project_wave_gen_hdl.srcs/constrs_1/imports/verilog/wave_gen_timing.xdc]
Parsing XDC File
[C:/project_wave_gen_hdl.srcs/sources_1/ip/char_fifo/char_fifo/char_fifo_clocks.xdc ] for cell 'char_fifo_i0/U0'
Finished Parsing XDC File
[C:/project_wave_gen_hdl.srcs/sources_1/ip/char_fifo/char_fifo/char_fifo_clocks.xdc ] for cell 'char_fifo_i0/U0'
Completed Processing XDC Constraints

與用戶XDC文件不同,您無法直接更改屬于同一PROCESSING_ORDER組的IP XDC文件的讀取順序。 如果必須修改訂單,請執行以下操作:
1. 禁用相應的IP XDC文件(IS_ENABLED設置為false)。
2. 復制他們的內容。
3. 將內容粘貼到約束集中包含的一個XDC文件中。
4. 在需要的地方使用完整的分層網表對象路徑名更新復制的IP XDC命令。 這樣做是必需的,因為IP XDC約束以這樣的方式編寫,即它們可以作用于IP實例。
5. 查看以特殊方式處理范圍約束的get_ports查詢。

編輯:hfy


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

    關注

    19

    文章

    812

    瀏覽量

    66471
  • xdc
    xdc
    +關注

    關注

    1

    文章

    24

    瀏覽量

    5927
收藏 人收藏

    評論

    相關推薦

    無法在XDC文件中設置maxdelay約束

    XDC文件中設置maxdelay約束。 (摘自ug911:MAXDELAY:Vivado Design Suite在XDC中不支持此
    發表于 10-25 15:17

    Vivado忽略了約束文件

    出于某種原因,Vivado忽略了我的約束文件,當我嘗試在tcl控制臺中逐個輸入約束時,我嘗試分配的每個端口都會出現以下錯誤:set_property PACKAGE_PIN T19
    發表于 11-06 11:36

    在使用Vivado GUI實現和分配引腳信息后xdc約束文件中看不到結果

    在使用Vivado GUI實現和分配引腳信息后,我沒有在xdc約束文件中看到結果。例如,引腳和iostandard。他們在哪里攢錢?以上來自于谷歌翻譯以下為原文After
    發表于 11-07 11:24

    如何使用IP核生成的xdc文件

    當我們通過IP目錄在Vivado中創建一些IP內核時,將使用xdc文件生成一些內核。在這個xdc文件中,它包括時序或物理
    發表于 03-26 12:29

    如何創建自己的xdc文件

    你好我目前正在使用外部多路復用器在Vivado 2017上開展一個項目。關于約束文件(.xdc),我有一個更普遍的問題。如何創建自己的xdc
    發表于 05-22 10:27

    關于XDC約束文件,你需要知道的幾點

    作者:?圓宵?FPGA那點事兒 在ISE時代,使用的是UCF約束文件。從Vivado開始,XDC成了唯一支持的約束標準。
    發表于 02-08 02:10 ?5212次閱讀

    ISE約束導入vivado總共分幾步

    最近有些朋友在ISE中做的V7項目需要切換到vivado來,但導入代碼后,導入約束時,發現vivado不再支持UCF文件,如果手抄UCF約束
    發表于 03-24 13:54 ?8864次閱讀
    ISE<b class='flag-5'>約束</b>導入<b class='flag-5'>vivado</b>總共分幾步

    XDC的時鐘約束及優勢

    Xilinx?的新一代設計套件 Vivado 中引入了全新的約束文件 XDC,在很多規則和技巧上都跟上一代產品 ISE 中支持的 UCF 大不相同,給使用者帶來許多額外挑戰。Xilin
    發表于 11-18 03:59 ?3602次閱讀

    XDC約束及物理約束的介紹

    觀看視頻,了解和學習有關XDC約束,包括時序,以及物理約束相關知識。
    的頭像 發表于 01-07 07:10 ?6203次閱讀
    <b class='flag-5'>XDC</b><b class='flag-5'>約束</b>及物理<b class='flag-5'>約束</b>的介紹

    如何將Altera的SDC約束轉換為Xilinx XDC約束

    了解如何將Altera的SDC約束轉換為Xilinx XDC約束,以及需要更改或修改哪些約束以使Altera的
    的頭像 發表于 11-27 07:17 ?5123次閱讀

    XDC時鐘約束的三種基本語法

    XDC 是 Xilinx Design Constraints 的簡寫,但其基礎語法來源于業界統一的約束規范SDC。XDC 在本質上就是 Tcl 語言,但其僅支持基本的 Tcl 語法如變量、列表
    的頭像 發表于 01-30 17:29 ?9655次閱讀

    VivadoXDC文件約束順序

    使得問題更加復雜,比如一個設計使用了不同的IP核或者由不同團隊開發的模塊。不管設計者在設計中,使用了一個還是多個XDC文件,Xilinx推薦設計者使用下面的順序來組織約束
    的頭像 發表于 10-13 16:56 ?6897次閱讀

    Vivado設計約束功能概述

    XDC約束可以用一個或多個XDC文件,也可以用Tcl腳本實現;XDC文件或Tcl腳本都要加入到工
    的頭像 發表于 06-30 11:27 ?3768次閱讀

    XDC約束技巧之時鐘篇

    Xilinx的新一代設計套件Vivado中引入了全新的約束文件 XDC,在很多規則和技巧上都跟上一代產品 ISE 中支持的 UCF 大不相同,給使用者帶來許多額外挑戰。Xilinx 工
    的頭像 發表于 03-28 09:51 ?2500次閱讀

    如何在Vivado中添加時序約束呢?

    今天介紹一下,如何在Vivado中添加時序約束Vivado添加約束的方法有3種:xdc文件、時
    的頭像 發表于 06-26 15:21 ?4124次閱讀
    如何在<b class='flag-5'>Vivado</b>中添加時序<b class='flag-5'>約束</b>呢?
    主站蜘蛛池模板: 97在线视频免费人妻| 无码人妻精品一区二区蜜桃色| 好男人社区| 国产浮力草草影院CCYY| 穿白丝袜边走边尿白丝袜| 99久久亚洲综合精品| 69国产精品人妻无码免费| 在线播放无码字幕亚洲| 野花韩国中文版免费观看| 亚洲理论片在线中文字幕| 亚洲精品久久久午夜麻豆| 亚洲AV无码专区国产乱码网站| 无套日出白浆在线播放| 无人区国产片| 亚洲成人一区二区| 亚洲国产AV无码综合在线| 亚洲国产精品久久人人爱| 亚洲精品无码国产爽快A片百度| 亚洲欧美日韩高清中文在线| 亚洲一区二区三区高清网| 一本大道香蕉中文在线视频观看 | 国产一区私人高清影院| 国产免费毛片在线观看| 国产综合视频在线观看一区| 国语92电影网午夜福利| 久久99国产精品自在自在| 久久精品无码一区二区日韩av | 成人免费公开视频| 粉色视频午夜网站入口| 国产精品亚洲在钱视频| 国产人妻人伦精品1国产| 精品无码无人网站免费视频| 狼人射综合| 欧美最猛性XXXXX肛交| 骚妇BB双飞插| 亚洲精品午睡沙发系列| 长篇高h肉爽文丝袜| oldgrand欧洲老妇人| 国产成人女人在线视频观看| 国产综合91| 男生jj插入女生jj|