
1、綜合約束
在“設(shè)置”對話框的“約束”部分下,選擇“默認(rèn)約束設(shè)置”作為活動約束設(shè)置;包含在Xilinx設(shè)計約束(XDC)文件中捕獲的設(shè)計約束的一組文件,可以將其應(yīng)用于設(shè)計中。兩種類型的設(shè)計約束是:
1) 物理約束:這些約束定義引腳的位置以及單元(例如Block RAM,LUT,觸發(fā)器和設(shè)備配置設(shè)置)的絕對或相對位置。
2) 時序約束:這些約束定義了設(shè)計的頻率要求。由于沒有時序限制,Vivado設(shè)計套件僅針對線長度和布局擁堵來優(yōu)化設(shè)計。
2、綜合策略

1) Defaults(默認(rèn)設(shè)置)

2) RuntimeOptimized
執(zhí)行較少的時序優(yōu)化,并消除一些RTL優(yōu)化以減少綜合運行時間。
3) AreaOptimized_high
執(zhí)行常規(guī)面積優(yōu)化,包括強(qiáng)制執(zhí)行三進(jìn)制加法器,在比較器中使用新閾值以使用進(jìn)位鏈以及實現(xiàn)面積優(yōu)化的多路復(fù)用器。
4) AreaOptimized_medium
執(zhí)行常規(guī)面積優(yōu)化,包括更改控制集優(yōu)化的閾值,強(qiáng)制執(zhí)行三進(jìn)制加法器,將推理的乘法器閾值降低到DSP模塊,將移位寄存器移入BRAM,在比較器中使用較低閾值以使用進(jìn)位鏈,以及進(jìn)行區(qū)域優(yōu)化的MUX操作。
5) AlternateRoutability
一組提高路由能力的算法(較少使用MUXF和CARRY)。
6) AreaMapLargeShiftRegToBRAM
檢測大型移位寄存器,并使用專用的Block RAM實現(xiàn)它們。
7) AreaMultThresholdDSP
專用DSP塊推斷的下限閾值。
8) FewerCarryChains
較高的操作數(shù)大小閾值以使用LUT代替進(jìn)位鏈。
3、其他選項
-flatten_hierarchy:確定Vivado綜合如何控制層次結(jié)構(gòu)。
- none:指示綜合工具不要展平層次結(jié)構(gòu)。綜合的輸出與原始RTL具有相同的層次結(jié)構(gòu)。
-full :指示工具完全展平層次結(jié)構(gòu),僅保留頂層。
-rebuilt:設(shè)置后,重新構(gòu)建允許綜合工具展平層次結(jié)構(gòu),執(zhí)行綜合,然后基于原始RTL重建層次結(jié)構(gòu)。該值使QoR受益于跨邊界優(yōu)化,其最終層次類似于RTL,以便于分析。
-gated_clock_conversion:啟用和禁用綜合工具轉(zhuǎn)換時鐘邏輯的功能。
-bufg: 控制工具在設(shè)計中推斷出多少BUFG。當(dāng)設(shè)計網(wǎng)表中的其他BUFG對合成過程不可見時,Vivado設(shè)計工具將使用此選項。該工具可以推斷出指定的數(shù)量,并跟蹤RTL中實例化的BUFG數(shù)量。例如,如果-bufg選項設(shè)置為12,并且在RTL中實例化了三個BUFG,則Vivado綜合工具最多可以推斷出另外九個BUFG。
-fanout_limit:指定信號在開始復(fù)制邏輯之前必須驅(qū)動的負(fù)載數(shù)。此全局限制是一般指南,當(dāng)工具確定有必要時,可以忽略該選項。
-retiming :布爾選項
-fsm_extraction : 控制綜合如何提取和映射有限狀態(tài)機(jī)。 FSM_ENCODING更詳細(xì)地描述了這些選項。
FSM_ENCODING可以放在狀態(tài)機(jī)寄存器上。合法的值是“ one_hot”,“ sequential”,“johnson”,“ gray”,“ auto”和“ none”?!?auto”值是默認(rèn)值,并允許該工具確定最佳編碼。可以在RTL或XDC中設(shè)置此屬性。
-keep_equivalent_registers :防止合并具有相同輸入邏輯的寄存器。
-resource_sharing:設(shè)置不同信號之間的算術(shù)運算符共享。這些值是自動的,打開的和關(guān)閉的。自動值集執(zhí)行資源共享以取決于設(shè)計時間。
-control_set_opt_threshold: 將時鐘使能優(yōu)化的閾值設(shè)置為較少的控制集。默認(rèn)值為自動,這意味著該工具將根據(jù)目標(biāo)設(shè)備選擇一個值。支持任何正整數(shù)值。
給定值是工具將控制集移入寄存器的D邏輯所需的扇出數(shù)量。如果扇出大于該值,則該工具嘗試使該信號驅(qū)動該寄存器上的control_set_pin。
-no_lc:選中后,此選項將關(guān)閉LUT合并。
-no_srlextract:選中后,此選項將關(guān)閉完整設(shè)計的SRL提取,以便將其實現(xiàn)為簡單寄存器。
-shreg_min_size:推斷SRL的閾值。默認(rèn)設(shè)置為3。這將設(shè)置順序元素的數(shù)量,這些元素將導(dǎo)致推斷固定延遲鏈的SRL(靜態(tài)SRL)。策略也將此設(shè)置定義為5和10。
-max_bram:描述設(shè)計中允許的最大塊RAM數(shù)量。通常在設(shè)計中有黑匣子或第三方網(wǎng)表時使用此選項,并允許設(shè)計人員為這些網(wǎng)表節(jié)省空間。
-max_uram:設(shè)置設(shè)計中允許的最大UltraRAM(UltraScale+?設(shè)備塊RAM)塊。默認(rèn)設(shè)置為-1表示該工具選擇指定零件允許的最大數(shù)量。
-max_dsp:描述設(shè)計中允許的最大塊DSP數(shù)量。通常在設(shè)計中有黑匣子或第三方網(wǎng)表時使用,并為這些網(wǎng)表留出空間。默認(rèn)設(shè)置為-1表示該工具選擇指定零件允許的最大數(shù)量。
-max_bram_cascade_height:控制該工具可以級聯(lián)的BRAM的最大數(shù)量。默認(rèn)設(shè)置為-1表示該工具選擇指定零件允許的最大數(shù)量。
-max_uram_cascade_height:控制該工具可以級聯(lián)的UltraScale+設(shè)備UltraRAM塊的最大數(shù)量。默認(rèn)設(shè)置為-1表示該工具選擇指定零件允許的最大數(shù)量。
-cascade_dsp: 控制如何實現(xiàn)總和DSP模塊輸出中的加法器。默認(rèn)情況下,使用塊內(nèi)置加法器鏈計算DSP輸出的總和。價值樹迫使總和在結(jié)構(gòu)中實現(xiàn)。值是:auto,tree和force。默認(rèn)為自動。
-no_timing_driven: (可選)禁用默認(rèn)的時序驅(qū)動綜合算法。這導(dǎo)致減少了綜合運行時間,但忽略了時序?qū)C合的影響。
-sfcu:在單文件編譯單元模式下運行綜合。
-assert: 啟用要評估的VHDL斷言語句。故障或錯誤的嚴(yán)重性級別會停止綜合流程并產(chǎn)生錯誤。警告的嚴(yán)重性級別會生成警告。
tcl.pre和tcl.post選項是在合成之前和之后立即運行的Tcl文件的掛鉤。
4、Tcl Commands to Get Property
get_property DIRECTORY [current_project] get_property DIRECTORY [current_run]
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1655文章
22277瀏覽量
629937 -
Xilinx
+關(guān)注
關(guān)注
73文章
2192瀏覽量
129843 -
Vivado
+關(guān)注
關(guān)注
19文章
846瀏覽量
70440
發(fā)布評論請先 登錄
Windows環(huán)境下用Vivado調(diào)試E203
開源RISC-V處理器(蜂鳥E203)學(xué)習(xí)(二)修改FPGA綜合環(huán)境(移植到自己的Xilinx FPGA板卡)
win10環(huán)境下使用vivado生成.bit與.mcs文件
時序約束問題的解決辦法
關(guān)于綜合保持時間約束不滿足的問題
FPGA開發(fā)板vivado綜合、下載程序問題匯總
vivado仿真時GSR信號的影響
Vivado無法選中開發(fā)板的常見原因及解決方法
FPGA時序約束之設(shè)置時鐘組
Vivado HLS設(shè)計流程
一文詳解Vivado時序約束
Vivado FIR IP核實現(xiàn)

Xilinx FPGA案例學(xué)習(xí)之Vivado設(shè)計綜合約束
評論