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

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

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

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

電子設(shè)計(jì) ? 來源:FPGA開源工作室 ? 作者:FPGA開源工作室 ? 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ì)的頻率要求。由于沒有時(shí)序限制,Vivado設(shè)計(jì)套件僅針對(duì)線長度和布局擁堵來優(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對(duì)合成過程不可見時(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)通過跨組合門或LUT自動(dòng)移動(dòng)寄存器(寄存器平衡)來提供選項(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)值,并允許該工具確定最佳編碼。可以在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:控制該工具可以級(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à)值樹迫使總和在結(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斷言語句。故障或錯(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)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600472
  • Xilinx
    +關(guān)注

    關(guān)注

    71

    文章

    2140

    瀏覽量

    120689
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    799

    瀏覽量

    66129
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA | Xilinx ISE14.7 LVDS應(yīng)用

    今天給大俠帶來 Xilinx ISE14.7 LVDS應(yīng)用,話不多說,上貨。 最近項(xiàng)目需要用到差分信號(hào)傳輸,于是看了一下FPGA上差分信號(hào)的使用。Xilinx FPGA中,主要通過
    發(fā)表于 06-13 16:28

    一個(gè)更適合工程師和研究僧的FPGA提升課程

    各位編程精英er~ F學(xué)社打造的FPGA工程師培訓(xùn)班上線后,有不少同學(xué)后臺(tái)私信詢問:“能不能出個(gè)那種專門針對(duì)某個(gè)知識(shí)點(diǎn)的課程呢?我想針對(duì)自己的薄弱點(diǎn)深入學(xué)習(xí)?!? 貼心如我,當(dāng)然會(huì)滿足大家的學(xué)習(xí)
    發(fā)表于 06-05 10:09

    Xilinx FPGA編程技巧常用時(shí)序約束詳解

    今天給大俠帶來Xilinx FPGA編程技巧常用時(shí)序約束詳解,話不多說,上貨。 基本的約束方法 為了保證成功的設(shè)計(jì),所有路徑的時(shí)序要求
    發(fā)表于 05-06 15:51

    Xilinx FPGA約束設(shè)置基礎(chǔ)

    LOC約束FPGA設(shè)計(jì)中最基本的布局約束綜合約束,能夠定義基本設(shè)計(jì)單元在FPGA芯片中的位置,可實(shí)現(xiàn)絕對(duì)定位、范圍定位以及區(qū)域定位。
    發(fā)表于 04-26 17:05 ?958次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b>的<b class='flag-5'>約束</b>設(shè)置基礎(chǔ)

    Xilinx FPGA編程技巧常用時(shí)序約束詳解

    今天給大俠帶來Xilinx FPGA編程技巧常用時(shí)序約束詳解,話不多說,上貨。 基本的約束方法為了保證成功的設(shè)計(jì),所有路徑的時(shí)序要求
    發(fā)表于 04-12 17:39

    Xilinx fpga芯片系列有哪些

    Xilinx FPGA芯片擁有多個(gè)系列和型號(hào),以滿足不同應(yīng)用領(lǐng)域的需求。以下是一些主要的Xilinx FPGA芯片系列及其特點(diǎn)。
    的頭像 發(fā)表于 03-14 16:24 ?2797次閱讀

    值得多看的FPGA 學(xué)習(xí)路線

    時(shí)序和面積的約束、各個(gè)階段的仿真等等。我們至少應(yīng)該知道,為什么需要這些步驟,每個(gè)步驟都完成了什么功能。 FPGA入門學(xué)習(xí)第三部分:開發(fā)工具 FPGA開發(fā)工具的使用也是入門
    發(fā)表于 01-02 23:03

    FPGA物理約束布局約束

    在進(jìn)行布局約束前,通常會(huì)對(duì)現(xiàn)有設(shè)計(jì)進(jìn)行設(shè)計(jì)實(shí)現(xiàn)(Implementation)編譯。在完成第一次設(shè)計(jì)實(shí)現(xiàn)編譯后,工程設(shè)計(jì)通常會(huì)不斷更新迭代,此時(shí)對(duì)于設(shè)計(jì)中一些固定不變的邏輯,設(shè)計(jì)者希望它們的編譯結(jié)果
    的頭像 發(fā)表于 01-02 14:13 ?1281次閱讀
    <b class='flag-5'>FPGA</b>物理<b class='flag-5'>約束</b><b class='flag-5'>之</b>布局<b class='flag-5'>約束</b>

    FPGA物理約束布線約束

    IS_ROUTE_FIXED命令用于指定網(wǎng)絡(luò)的所有布線進(jìn)行固定約束。進(jìn)入Implemented頁面后,Netlist窗口如圖1所示,其中Nets文件展開后可以看到工程中所有的布線網(wǎng)絡(luò)。
    的頭像 發(fā)表于 12-16 14:04 ?1059次閱讀
    <b class='flag-5'>FPGA</b>物理<b class='flag-5'>約束</b><b class='flag-5'>之</b>布線<b class='flag-5'>約束</b>

    FPGA實(shí)現(xiàn)基于Vivado的BRAM IP核的使用

    Xilinx公司的FPGA中有著很多的有用且對(duì)整個(gè)工程很有益處的IP核,比如數(shù)學(xué)類的IP核,數(shù)字信號(hào)處理使用的IP核,以及存儲(chǔ)類的IP核,本篇文章主要介紹BRAM IP核的使用。 BRAM是FPGA
    的頭像 發(fā)表于 12-05 15:05 ?1380次閱讀

    FPGA器件幾個(gè)比較常用的配置配置約束

    Xilinx Vivado工具的配置約束隱藏得比較深,如圖1所示,在進(jìn)入配置頁面前,首先需要點(diǎn)擊PROGRAM AND DEBUG->Generate Bitstream執(zhí)行工程的全編譯,然后點(diǎn)擊IMPLEMENTATION->
    發(fā)表于 12-02 12:19 ?691次閱讀
    <b class='flag-5'>FPGA</b>器件幾個(gè)比較常用的配置配置<b class='flag-5'>約束</b>

    使用Vivado高層次綜合(HLS)進(jìn)行FPGA設(shè)計(jì)的簡介

    電子發(fā)燒友網(wǎng)站提供《使用Vivado高層次綜合(HLS)進(jìn)行FPGA設(shè)計(jì)的簡介.pdf》資料免費(fèi)下載
    發(fā)表于 11-16 09:33 ?0次下載
    使用<b class='flag-5'>Vivado</b>高層次<b class='flag-5'>綜合</b>(HLS)進(jìn)行<b class='flag-5'>FPGA</b>設(shè)計(jì)的簡介

    FPGA時(shí)序約束--基礎(chǔ)理論篇

    。 時(shí)序約束可以讓VIvado和Quartus等FPGA開發(fā)軟件,在布線時(shí)檢測綜合出來的邏輯電路是否滿足這個(gè)時(shí)序要求,并生成時(shí)序報(bào)告。 一、建立/保持時(shí)間 1、基本概念 設(shè)定時(shí)
    發(fā)表于 11-15 17:41

    Xilinx FPGA IPBlock Memory Generator功能概述

    Xilinx Block Memory Generator(BMG)是一個(gè)先進(jìn)的內(nèi)存構(gòu)造器,它使用Xilinx fpga中的嵌入式塊RAM資源生成面積和 性能優(yōu)化的內(nèi)存。
    的頭像 發(fā)表于 11-14 17:49 ?2239次閱讀
    <b class='flag-5'>Xilinx</b> <b class='flag-5'>FPGA</b> IP<b class='flag-5'>之</b>Block Memory Generator功能概述

    FPGA項(xiàng)目開發(fā)同步信號(hào)和亞穩(wěn)態(tài)

    以及恢復(fù)時(shí)間都是獨(dú)一無二的,這些信息通常在數(shù)據(jù)表或應(yīng)用說明中定義。一般來說,當(dāng)我們設(shè)計(jì) FPGA 滿足時(shí)序約束時(shí),我們不必過于擔(dān)心它們,因?yàn)?Vivado 會(huì)盡量滿足約束中定義的性能。
    發(fā)表于 11-03 10:36