約束文件是FPGA設(shè)計中不可或缺的源文件。那么如何管理好約束文件呢? 到底設(shè)置幾個約束文件? 通常情況下,設(shè)計中的約束包括時序約束和物理約束。前者包括時鐘周期約束、輸入/輸出延遲約束、多周期路徑約束和偽路徑約束。后者包括管腳分配、管腳電平等。除此之外,有些情況下還包括用于設(shè)計調(diào)試的約束(設(shè)置ILA屬性)或位置約束或通過Pblock執(zhí)行的面積約束。Xilinx建議將約束分類寫入不同的文件中,典型的場景是:時序約束放在一個文件里,物理約束放在一個文件里。如下圖所示。圖中wave_gen_timing.xdc中寫的是時序約束,wave_gen_pins.xdc中寫的是管腳分配。如果有ILA,可將ILA相關(guān)信息寫入單獨(dú)的文件中,這樣的好處是當(dāng)后期不再需要調(diào)試時,直接將該文件移除或點(diǎn)右鍵選擇DisableFile,而不用一行行注釋。

用于OOC綜合的約束 Vivado支持對IP、BlockDesign進(jìn)行OOC(Out-of-Context)綜合。同時,Vivado還可對指定的用戶模塊進(jìn)行OOC綜合,這時可對該模塊指定OOC綜合時用到的約束文件。這可通過xdc文件屬性USED_IN設(shè)定,將其值設(shè)置為{synthesis,out_of_context},如下圖所示。

設(shè)置約束的生效階段
默認(rèn)情況下,添加到Vivado工程中的xdc文件既用于綜合階段也用于布局布線階段。但事實上,有些約束僅在布局布線階段有效,例如管腳分配,這時可通過.xdc文件屬性設(shè)定其使用階段,如下圖所示。

即使對于時序約束,也只有如下幾條命令且與建立時間相關(guān)時綜合階段才起作用,這也是為什么我們在分析綜合后的設(shè)計時只關(guān)注建立時間違例而忽略保持時間違例。

審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1660文章
22408瀏覽量
636242 -
Xilinx
+關(guān)注
關(guān)注
73文章
2200瀏覽量
131124 -
文件
+關(guān)注
關(guān)注
1文章
594瀏覽量
26054 -
約束
+關(guān)注
關(guān)注
0文章
83瀏覽量
13175
原文標(biāo)題:如何管理約束文件?
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
【FPGA學(xué)習(xí)】如何使用 ISE 編寫約束文件
PADS約束管理使用指南
賽靈思(Xilinx)FPGA用戶約束文件的分類和語法說明
如何創(chuàng)建和管理約束密集型、高度約束的PCB設(shè)計
PADS約束管理系統(tǒng)創(chuàng)建、審查和驗證PCB設(shè)計約束
易于使用的pads約束管理標(biāo)準(zhǔn)
約束管理器節(jié)省設(shè)計時間
Vivado IDE全面了解XDC文件的約束順序
如何管理約束文件?
評論