0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

電子設(shè)計(jì) ? 來(lái)源:FPGA開(kāi)源工作室 ? 作者:FPGA開(kāi)源工作室 ? 2020-11-23 14:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在 Flow Navigator 中點(diǎn)擊設(shè)置, 然后選擇Synthesis,或者 selectFlow > Settings > Synthesis Settings。

如圖1所示:


1、綜合約束

在“設(shè)置”對(duì)話框的“約束”部分下,選擇“默認(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è)置)的絕對(duì)或相對(duì)位置。

2) 時(shí)序約束:這些約束定義了設(shè)計(jì)的頻率要求。由于沒(méi)有時(shí)序限制,Vivado設(shè)計(jì)套件僅針對(duì)線長(zhǎng)度和布局擁堵來(lái)優(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

檢測(cè)大型移位寄存器,并使用專用的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對(duì)合成過(guò)程不可見(jiàn)時(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)在開(kāi)始復(fù)制邏輯之前必須驅(qū)動(dòng)的負(fù)載數(shù)。此全局限制是一般指南,當(dāng)工具確定有必要時(shí),可以忽略該選項(xiàng)。

-retiming :布爾選項(xiàng)通過(guò)跨組合門(mén)或LUT自動(dòng)移動(dòng)寄存器(寄存器平衡)來(lái)提供選項(xiàng),以提高時(shí)鐘內(nèi)順序路徑的電路性能。它保持了電路的原始行為和等待時(shí)間,并且不需要更改RTL源。默認(rèn)為關(guān)閉。

-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)值,并允許該工具確定最佳編碼??梢栽赗TL或XDC中設(shè)置此屬性。

-keep_equivalent_registers :防止合并具有相同輸入邏輯的寄存器。

-resource_sharing:設(shè)置不同信號(hào)之間的算術(shù)運(yùn)算符共享。這些值是自動(dòng)的,打開(kāi)的和關(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)為簡(jiǎ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:控制該工具可以級(jí)聯(lián)的BRAM的最大數(shù)量。默認(rèn)設(shè)置為-1表示該工具選擇指定零件允許的最大數(shù)量。

-max_uram_cascade_height:控制該工具可以級(jí)聯(lián)的UltraScale+設(shè)備UltraRAM塊的最大數(shù)量。默認(rèn)設(shè)置為-1表示該工具選擇指定零件允許的最大數(shù)量。

-cascade_dsp: 控制如何實(shí)現(xiàn)總和DSP模塊輸出中的加法器。默認(rèn)情況下,使用塊內(nèi)置加法器鏈計(jì)算DSP輸出的總和。價(jià)值樹(shù)迫使總和在結(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: 啟用要評(píng)估的VHDL斷言語(yǔ)句。故障或錯(cuò)誤的嚴(yán)重性級(jí)別會(huì)停止綜合流程并產(chǎn)生錯(cuò)誤。警告的嚴(yán)重性級(jí)別會(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


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22026

    瀏覽量

    617642
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2184

    瀏覽量

    125088
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    834

    瀏覽量

    68636
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

  • ben1111

評(píng)論

相關(guān)推薦
熱點(diǎn)推薦

XILINX XCZU67DR FPGA完整原理圖

電子發(fā)燒友網(wǎng)站提供《XILINX XCZU67DR FPGA完整原理圖.pdf》資料免費(fèi)下載
發(fā)表于 05-30 15:29 ?0次下載

FPGA時(shí)序約束設(shè)置時(shí)鐘組

Vivado中時(shí)序分析工具默認(rèn)會(huì)分析設(shè)計(jì)中所有時(shí)鐘相關(guān)的時(shí)序路徑,除非時(shí)序約束中設(shè)置了時(shí)鐘組或false路徑。使用set_clock_groups命令可以使時(shí)序分析工具不分析時(shí)鐘組中時(shí)鐘的時(shí)序路徑,使用set_false_path約束
的頭像 發(fā)表于 04-23 09:50 ?396次閱讀
<b class='flag-5'>FPGA</b>時(shí)序<b class='flag-5'>約束</b><b class='flag-5'>之</b>設(shè)置時(shí)鐘組

Vivado HLS設(shè)計(jì)流程

為了盡快把新產(chǎn)品推向市場(chǎng),數(shù)字系統(tǒng)的設(shè)計(jì)者需要考慮如何加速設(shè)計(jì)開(kāi)發(fā)的周期。設(shè)計(jì)加速主要可以從“設(shè)計(jì)的重用”和“抽象層級(jí)的提升”這兩個(gè)方面來(lái)考慮。Xilinx 推出的 Vivado HLS 工具可以
的頭像 發(fā)表于 04-16 10:43 ?689次閱讀
<b class='flag-5'>Vivado</b> HLS設(shè)計(jì)流程

一文詳解Vivado時(shí)序約束

Vivado的時(shí)序約束是保存在xdc文件中,添加或創(chuàng)建設(shè)計(jì)的工程源文件后,需要?jiǎng)?chuàng)建xdc文件設(shè)置時(shí)序約束。時(shí)序約束文件可以直接創(chuàng)建或添加已存在的約束
的頭像 發(fā)表于 03-24 09:44 ?3478次閱讀
一文詳解<b class='flag-5'>Vivado</b>時(shí)序<b class='flag-5'>約束</b>

Vivado FIR IP核實(shí)現(xiàn)

Xilinx的FIR IP核屬于收費(fèi)IP,但是不需要像 Quartus那樣通過(guò)修改license文件來(lái)破解。如果是個(gè)人學(xué)習(xí),現(xiàn)在網(wǎng)絡(luò)上流傳的license破解文件在破解Vivado的同時(shí)也破解
的頭像 發(fā)表于 03-01 14:44 ?1642次閱讀
<b class='flag-5'>Vivado</b> FIR IP核實(shí)現(xiàn)

xilinx FPGA IOB約束使用以及注意事項(xiàng)

xilinx FPGA IOB約束使用以及注意事項(xiàng) 一、什么是IOB約束xilinx FPGA
的頭像 發(fā)表于 01-16 11:02 ?876次閱讀
<b class='flag-5'>xilinx</b> <b class='flag-5'>FPGA</b> IOB<b class='flag-5'>約束</b>使用以及注意事項(xiàng)

【米爾-Xilinx XC7A100T FPGA開(kāi)發(fā)板試用】Key-test

硬件: 一Xilinx XC7A100T FPGA開(kāi)發(fā)板 二12V電源適配器 三下載器 四 win10筆記本 軟件: 一Vivado (指導(dǎo)手冊(cè)有詳細(xì)的安裝下載流程) 二官方按鍵示例工程 按鍵示例
發(fā)表于 01-09 16:08

助力AIoT應(yīng)用:在米爾FPGA開(kāi)發(fā)板上實(shí)現(xiàn)Tiny YOLO V4

Darknet 上訓(xùn)練的截圖 四、 通過(guò) Vivado HLS 為 FPGA 準(zhǔn)備模型要將模型部署到 FPGA,需要將神經(jīng)網(wǎng)絡(luò)操作轉(zhuǎn)換為硬件級(jí)描述。使用 Xilinx 的 Vitis
發(fā)表于 12-06 17:18

Xilinx_Vivado_SDK的安裝教程

首先是去官網(wǎng)下載安裝包:https://www.xilinx.com/support/download.html。 下載這個(gè)最大的、支持所有的 OS 如 Windows/Linux 的安裝包。 下載
的頭像 發(fā)表于 11-16 09:53 ?5168次閱讀
<b class='flag-5'>Xilinx_Vivado</b>_SDK的安裝教程

采用Xilinx FPGA的AFE79xx SPI啟動(dòng)指南

電子發(fā)燒友網(wǎng)站提供《采用Xilinx FPGA的AFE79xx SPI啟動(dòng)指南.pdf》資料免費(fèi)下載
發(fā)表于 11-15 15:28 ?0次下載
采用<b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的AFE79xx SPI啟動(dòng)指南

正點(diǎn)原子fpga開(kāi)發(fā)指南

定制硬件加速的應(yīng)用。 1. 開(kāi)發(fā)環(huán)境搭建 1.1 安裝Xilinx Vivado VivadoXilinx提供的綜合設(shè)計(jì)環(huán)境,用于設(shè)計(jì)、仿
的頭像 發(fā)表于 11-13 09:35 ?2083次閱讀

Vivado使用小技巧

有時(shí)我們對(duì)時(shí)序約束進(jìn)行了一些調(diào)整,希望能夠快速看到對(duì)應(yīng)的時(shí)序報(bào)告,而又不希望重新布局布線。這時(shí),我們可以打開(kāi)布線后的dcp,直接在Vivado Tcl Console里輸入更新后的時(shí)序約束。如果調(diào)整
的頭像 發(fā)表于 10-24 15:08 ?975次閱讀
<b class='flag-5'>Vivado</b>使用小技巧

優(yōu)化 FPGA HLS 設(shè)計(jì)

用的參考設(shè)計(jì)。該參考設(shè)計(jì)針對(duì)具有 Dual ARM? Cortex?-A9 MPCore? 的 FPGA。 我們使用 Xilinx HLS 工具來(lái)打開(kāi)此設(shè)計(jì)。 它的時(shí)鐘周期為 5.00 ns,即
發(fā)表于 08-16 19:56

深度解析FPGA中的時(shí)序約束

建立時(shí)間和保持時(shí)間是FPGA時(shí)序約束中兩個(gè)最基本的概念,同樣在芯片電路時(shí)序分析中也存在。
的頭像 發(fā)表于 08-06 11:40 ?1379次閱讀
深度解析<b class='flag-5'>FPGA</b>中的時(shí)序<b class='flag-5'>約束</b>

如何在服務(wù)器上調(diào)試本地FPGA板卡

該板卡,直接使用Recent Targets,之前的配置應(yīng)該保存在列表中。如下圖所示。 如下圖所示連接后,即可正常使用 VivadoFPGA 器件可以使用 ILA 內(nèi)核進(jìn)行編程和調(diào)試,就像在本地PC上操作一樣,同時(shí)獲得更強(qiáng)大的服務(wù)器處理器的
發(fā)表于 07-31 17:36

電子發(fā)燒友

中國(guó)電子工程師最喜歡的網(wǎng)站

  • 2931785位工程師會(huì)員交流學(xué)習(xí)
  • 獲取您個(gè)性化的科技前沿技術(shù)信息
  • 參加活動(dòng)獲取豐厚的禮品