約束文件是FPGA設計中不可或缺的源文件。那么如何管理好約束文件呢? 到底設置幾個約束文件? 通常情況下,設計中的約束包括時序約束和物理約束。前者包括時鐘周期約束、輸入/輸出延遲約束、多周期路徑約束和偽路徑約束。后者包括管腳分配、管腳電平等。除此之外,有些情況下還包括用于設計調試的約束(設置ILA屬性)或位置約束或通過Pblock執行的面積約束。Xilinx建議將約束分類寫入不同的文件中,典型的場景是:時序約束放在一個文件里,物理約束放在一個文件里。如下圖所示。圖中wave_gen_timing.xdc中寫的是時序約束,wave_gen_pins.xdc中寫的是管腳分配。如果有ILA,可將ILA相關信息寫入單獨的文件中,這樣的好處是當后期不再需要調試時,直接將該文件移除或點右鍵選擇DisableFile,而不用一行行注釋。
用于OOC綜合的約束 Vivado支持對IP、BlockDesign進行OOC(Out-of-Context)綜合。同時,Vivado還可對指定的用戶模塊進行OOC綜合,這時可對該模塊指定OOC綜合時用到的約束文件。這可通過xdc文件屬性USED_IN設定,將其值設置為{synthesis,out_of_context},如下圖所示。
設置約束的生效階段
默認情況下,添加到Vivado工程中的xdc文件既用于綜合階段也用于布局布線階段。但事實上,有些約束僅在布局布線階段有效,例如管腳分配,這時可通過.xdc文件屬性設定其使用階段,如下圖所示。
即使對于時序約束,也只有如下幾條命令且與建立時間相關時綜合階段才起作用,這也是為什么我們在分析綜合后的設計時只關注建立時間違例而忽略保持時間違例。
審核編輯:湯梓紅
-
FPGA
+關注
關注
1630文章
21796瀏覽量
605989 -
Xilinx
+關注
關注
71文章
2171瀏覽量
122128 -
文件
+關注
關注
1文章
570瀏覽量
24821 -
約束
+關注
關注
0文章
82瀏覽量
12772
原文標題:如何管理約束文件?
文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論