很對人在使用Vivado時喜歡使用多個約束文件對整個工程進行約束,同時Vivado允許設(shè)計者使用一個或多個約束文件。雖然使用一個約束文件對于一個完整的編譯流程來說看似更方便,但是在一些情況下,這會使得問題更加復(fù)雜,比如一個設(shè)計使用了不同的IP核或者由不同團隊開發(fā)的模塊。不管設(shè)計者在設(shè)計中,使用了一個還是多個XDC文件,Xilinx推薦設(shè)計者使用下面的順序來組織約束。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推薦將時序約束和物理約束分別保存在兩個不同的文件中。設(shè)計者也可以在一個單獨的文件中對某個模塊指定約束(每個模塊對應(yīng)一個約束)。
(2)如果在工程中,包含了一個IP,這個IP有自己的約束,則在約束集中,并不出現(xiàn)相應(yīng)的約束文件,它將和IP源文件一起出現(xiàn)(即IP有自己的約束文件,常見的就是MMCM和PLL)。
(3)如果在工程中,包含了多個約束文件。一般來說,Vivado工具首先讀取列表最上面的約束文件,最后讀取最下面的約束文件。設(shè)計者可以在集成開發(fā)環(huán)境中,將約束文件移動到所期望的位置,用來修改約束文件在整個設(shè)計中的處理順序。等效的Tcl命令格式為
Reorder_files - fileset constrs_l - before[get_files XDC文件名][get_files XDC文件名]
在非工程模式下,read_xdc的調(diào)用順序決定了xdc文件的評估順序。
(4)如果存在IP約束文件,則先讀取1P約束文件,然后再讀取用戶約束文件。設(shè)計者可以在源文件屬性窗口修改讀取IP約束文件的順序。等效的Tcl命令格式為
set_property PROCESSING_ORDER EARLY [get_files XDC文件名]
常用的 XDC 約束命令
相關(guān)的命令作用會在后續(xù)文章繼續(xù)解釋。
責(zé)任編輯:haq
-
IP
+關(guān)注
關(guān)注
5文章
1767瀏覽量
151032 -
約束
+關(guān)注
關(guān)注
0文章
82瀏覽量
12880 -
Vivado
+關(guān)注
關(guān)注
19文章
825瀏覽量
67932
原文標(biāo)題:【Vivado那些事兒】約束的順序
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
無法在XDC文件中設(shè)置maxdelay約束
在使用Vivado GUI實現(xiàn)和分配引腳信息后xdc約束文件中看不到結(jié)果
如何使用IP核生成的xdc文件?
如何創(chuàng)建自己的xdc文件
正則表達式在Vivado約束文件中的應(yīng)用
關(guān)于XDC約束文件,你需要知道的幾點
ISE約束導(dǎo)入vivado總共分幾步

評論