在 Flow Navigator 中點(diǎn)擊設(shè)置, 然后選擇Synthesis,或者 selectFlow > Settings > Synthesis Settings。
如圖1所示:
1、綜合約束
在“設(shè)置”對話框的“約束”部分下,選擇“默認(rèn)約束設(shè)置”作為活動(dòng)約束設(shè)置;包含在Xilinx設(shè)計(jì)約束(XDC)文件中捕獲的設(shè)計(jì)約束的一組文件,可以將其應(yīng)用于設(shè)計(jì)中。兩種類型的設(shè)計(jì)約束是:
1) 物理約束:這些約束定義引腳的位置以及單元(例如Block RAM,LUT,觸發(fā)器和設(shè)備配置設(shè)置)的絕對或相對位置。
2) 時(shí)序約束:這些約束定義了設(shè)計(jì)的頻率要求。由于沒有時(shí)序限制,Vivado設(shè)計(jì)套件僅針對線長度和布局擁堵來優(yōu)化設(shè)計(jì)。
2、綜合策略
1) Defaults(默認(rèn)設(shè)置)
2) RuntimeOptimized
執(zhí)行較少的時(shí)序優(yōu)化,并消除一些RTL優(yōu)化以減少綜合運(yùn)行時(shí)間。
3) AreaOptimized_high
執(zhí)行常規(guī)面積優(yōu)化,包括強(qiáng)制執(zhí)行三進(jìn)制加法器,在比較器中使用新閾值以使用進(jìn)位鏈以及實(shí)現(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實(shí)現(xiàn)它們。
7) AreaMultThresholdDSP
專用DSP塊推斷的下限閾值。
8) FewerCarryChains
較高的操作數(shù)大小閾值以使用LUT代替進(jìn)位鏈。
3、其他選項(xiàng)
-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)換時(shí)鐘邏輯的功能。
-bufg: 控制工具在設(shè)計(jì)中推斷出多少BUFG。當(dāng)設(shè)計(jì)網(wǎng)表中的其他BUFG對合成過程不可見時(shí),Vivado設(shè)計(jì)工具將使用此選項(xiàng)。該工具可以推斷出指定的數(shù)量,并跟蹤RTL中實(shí)例化的BUFG數(shù)量。例如,如果-bufg選項(xiàng)設(shè)置為12,并且在RTL中實(shí)例化了三個(gè)BUFG,則Vivado綜合工具最多可以推斷出另外九個(gè)BUFG。
-fanout_limit:指定信號(hào)在開始復(fù)制邏輯之前必須驅(qū)動(dòng)的負(fù)載數(shù)。此全局限制是一般指南,當(dāng)工具確定有必要時(shí),可以忽略該選項(xiàng)。
-retiming :布爾選項(xiàng)
-fsm_extraction : 控制綜合如何提取和映射有限狀態(tài)機(jī)。 FSM_ENCODING更詳細(xì)地描述了這些選項(xiàng)。
FSM_ENCODING可以放在狀態(tài)機(jī)寄存器上。合法的值是“ one_hot”,“ sequential”,“johnson”,“ gray”,“ auto”和“ none”。“ auto”值是默認(rèn)值,并允許該工具確定最佳編碼。可以在RTL或XDC中設(shè)置此屬性。
-keep_equivalent_registers :防止合并具有相同輸入邏輯的寄存器。
-resource_sharing:設(shè)置不同信號(hào)之間的算術(shù)運(yùn)算符共享。這些值是自動(dòng)的,打開的和關(guān)閉的。自動(dòng)值集執(zhí)行資源共享以取決于設(shè)計(jì)時(shí)間。
-control_set_opt_threshold: 將時(shí)鐘使能優(yōu)化的閾值設(shè)置為較少的控制集。默認(rèn)值為自動(dòng),這意味著該工具將根據(jù)目標(biāo)設(shè)備選擇一個(gè)值。支持任何正整數(shù)值。
給定值是工具將控制集移入寄存器的D邏輯所需的扇出數(shù)量。如果扇出大于該值,則該工具嘗試使該信號(hào)驅(qū)動(dòng)該寄存器上的control_set_pin。
-no_lc:選中后,此選項(xiàng)將關(guān)閉LUT合并。
-no_srlextract:選中后,此選項(xiàng)將關(guān)閉完整設(shè)計(jì)的SRL提取,以便將其實(shí)現(xiàn)為簡單寄存器。
-shreg_min_size:推斷SRL的閾值。默認(rèn)設(shè)置為3。這將設(shè)置順序元素的數(shù)量,這些元素將導(dǎo)致推斷固定延遲鏈的SRL(靜態(tài)SRL)。策略也將此設(shè)置定義為5和10。
-max_bram:描述設(shè)計(jì)中允許的最大塊RAM數(shù)量。通常在設(shè)計(jì)中有黑匣子或第三方網(wǎng)表時(shí)使用此選項(xiàng),并允許設(shè)計(jì)人員為這些網(wǎng)表節(jié)省空間。
-max_uram:設(shè)置設(shè)計(jì)中允許的最大UltraRAM(UltraScale+?設(shè)備塊RAM)塊。默認(rèn)設(shè)置為-1表示該工具選擇指定零件允許的最大數(shù)量。
-max_dsp:描述設(shè)計(jì)中允許的最大塊DSP數(shù)量。通常在設(shè)計(jì)中有黑匣子或第三方網(wǎng)表時(shí)使用,并為這些網(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: 控制如何實(shí)現(xiàn)總和DSP模塊輸出中的加法器。默認(rèn)情況下,使用塊內(nèi)置加法器鏈計(jì)算DSP輸出的總和。價(jià)值樹迫使總和在結(jié)構(gòu)中實(shí)現(xiàn)。值是:auto,tree和force。默認(rèn)為自動(dòng)。
-no_timing_driven: (可選)禁用默認(rèn)的時(shí)序驅(qū)動(dòng)綜合算法。這導(dǎo)致減少了綜合運(yùn)行時(shí)間,但忽略了時(shí)序?qū)C合的影響。
-sfcu:在單文件編譯單元模式下運(yùn)行綜合。
-assert: 啟用要評估的VHDL斷言語句。故障或錯(cuò)誤的嚴(yán)重性級別會(huì)停止綜合流程并產(chǎn)生錯(cuò)誤。警告的嚴(yán)重性級別會(huì)生成警告。
tcl.pre和tcl.post選項(xiàng)是在合成之前和之后立即運(yùn)行的Tcl文件的掛鉤。
4、Tcl Commands to Get Property
get_property DIRECTORY [current_project] get_property DIRECTORY [current_run]
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1630文章
21798瀏覽量
606023 -
Xilinx
+關(guān)注
關(guān)注
71文章
2171瀏覽量
122143 -
Vivado
+關(guān)注
關(guān)注
19文章
815瀏覽量
66890
發(fā)布評論請先 登錄
相關(guān)推薦
【米爾-Xilinx XC7A100T FPGA開發(fā)板試用】Key-test
助力AIoT應(yīng)用:在米爾FPGA開發(fā)板上實(shí)現(xiàn)Tiny YOLO V4
Xilinx_Vivado_SDK的安裝教程
![<b class='flag-5'>Xilinx_Vivado</b>_SDK的安裝教程](https://file1.elecfans.com/web2/M00/0C/A0/wKgaomc3-3OAI9TSAAAeI4NiXA0715.png)
采用Xilinx FPGA的AFE79xx SPI啟動(dòng)指南
![采用<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的AFE79xx SPI啟動(dòng)指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
正點(diǎn)原子fpga開發(fā)指南
Vivado使用小技巧
![<b class='flag-5'>Vivado</b>使用小技巧](https://file1.elecfans.com/web2/M00/0B/08/wKgaomcZ8y6AWZ83AAAEKGeX3w0243.jpg)
FPGA 高級設(shè)計(jì):時(shí)序分析和收斂
FPGA | Xilinx ISE14.7 LVDS應(yīng)用
一個(gè)更適合工程師和研究僧的FPGA提升課程
Xilinx FPGA編程技巧之常用時(shí)序約束詳解
Xilinx FPGA的約束設(shè)置基礎(chǔ)
![<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的<b class='flag-5'>約束</b>設(shè)置基礎(chǔ)](https://file1.elecfans.com/web2/M00/DB/6A/wKgZomYrb5WAQePpAAAK28w_-08592.png)
評論