很對人在使用Vivado時喜歡使用多個約束文件對整個工程進行約束,同時Vivado允許設計者使用一個或多個約束文件。雖然使用一個約束文件對于一個完整的編譯流程來說看似更方便,但是在一些情況下,這會使得問題更加復雜,比如一個設計使用了不同的IP核或者由不同團隊開發的模塊。不管設計者在設計中,使用了一個還是多個XDC文件,Xilinx推薦設計者使用下面的順序來組織約束。XDC文件的約束順序如下:
## Timing Assertions Section# Primary clocks# Virtual clocks# Generated clocks
# Clock Groups# Input and output delay constraints## Timing Exceptions Section(sorted by precedence)# 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 seprarte XDC file
注:
(1)Xilinx推薦將時序約束和物理約束分別保存在兩個不同的文件中。設計者也可以在一個單獨的文件中對某個模塊指定約束(每個模塊對應一個約束)。
(2)如果在工程中,包含了一個IP,這個IP有自己的約束,則在約束集中,并不出現相應的約束文件,它將和IP源文件一起出現(即IP有自己的約束文件,常見的就是MMCM和PLL)。
(3)如果在工程中,包含了多個約束文件。一般來說,Vivado工具首先讀取列表最上面的約束文件,最后讀取最下面的約束文件。設計者可以在集成開發環境中,將約束文件移動到所期望的位置,用來修改約束文件在整個設計中的處理順序。等效的Tcl命令格式為
Reorder_files - fileset constrs_l - before[get_files XDC文件名][get_files XDC文件名]
在非工程模式下,read_xdc的調用順序決定了xdc文件的評估順序。
(4)如果存在IP約束文件,則先讀取1P約束文件,然后再讀取用戶約束文件。設計者可以在源文件屬性窗口修改讀取IP約束文件的順序。等效的Tcl命令格式為
set_property PROCESSING_ORDER EARLY [get_files XDC文件名]
常用的 XDC 約束命令
相關的命令作用會在后續文章繼續解釋。
責任編輯:haq
-
IP
+關注
關注
5文章
1718瀏覽量
149968 -
約束
+關注
關注
0文章
82瀏覽量
12772 -
Vivado
+關注
關注
19文章
815瀏覽量
66890
原文標題:【Vivado那些事兒】約束的順序
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
Vivado開發技巧:綜合策略與合適的編譯順序
在使用Vivado GUI實現和分配引腳信息后xdc約束文件中看不到結果
正則表達式在Vivado約束文件中的應用
關于XDC約束文件,你需要知道的幾點
ISE約束導入vivado總共分幾步
![ISE<b class='flag-5'>約束</b>導入<b class='flag-5'>vivado</b>總共分幾步](https://file1.elecfans.com//web2/M00/A6/B3/wKgZomUMP8aATgkBAAA5RRWApmY792.png)
評論