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

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

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

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

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