在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Vivado開(kāi)發(fā)技巧:綜合策略與合適的編譯順序

454398 ? 來(lái)源:FPGADesigner的博客 ? 作者:FPGADesigner的博客 ? 2020-12-29 14:07 ? 次閱讀

綜合(Synthesis)是指將RTL設(shè)計(jì)轉(zhuǎn)換為門(mén)級(jí)描述。Vivado開(kāi)發(fā)套件中的綜合工具是一款時(shí)序驅(qū)動(dòng)型、專(zhuān)為內(nèi)存使用率和性能優(yōu)化的綜合工具,支持System Verilog 2012、Verilog 2005、VHDL 2008、混合語(yǔ)言中的可綜合子集,以及XDC設(shè)計(jì)約束文件(基于工業(yè)標(biāo)準(zhǔn)的SDC文件),此外還支持RTL屬性來(lái)控制綜合細(xì)節(jié)。

綜合設(shè)置選項(xiàng)
在Flow Navigator中點(diǎn)擊Settings,切換到Synthesis標(biāo)簽中:

1.Constraints部分
選擇用于綜合的約束集,一個(gè)約束集是一組XDC約束文件,默認(rèn)選擇狀態(tài)為active的約束集。設(shè)計(jì)約束分兩種:

物理約束:定義管腳布局、單元(如塊RAM、查找表、觸發(fā)器等)布局的的絕對(duì)或相對(duì)位置;

時(shí)序約束:定義設(shè)計(jì)的頻率需求。如果沒(méi)有時(shí)序約束,Vivado會(huì)根據(jù)布線長(zhǎng)度和布局擁擠度優(yōu)化設(shè)計(jì)。

2.Options部分
選擇綜合運(yùn)行時(shí)使用的策略(strategy)。Vivado提供了幾種預(yù)定義的策略,后文將講述如何創(chuàng)建自定義策略。這里給出綜合策略中每個(gè)設(shè)置選項(xiàng)的含義:

flatten_hierarchy:定義綜合工具如何控制層次結(jié)構(gòu)(比如模塊之間的調(diào)用),選擇將所有層次展開(kāi)融為一體進(jìn)行綜合,還是分別獨(dú)立綜合再連接到一起。

none表示從不展開(kāi)層次結(jié)構(gòu),綜合輸出與原始RTL有相同的層次;

full表示全部展開(kāi)層次結(jié)構(gòu),只留下頂層;

rebuilt讓綜合工具展開(kāi)層次結(jié)構(gòu)后進(jìn)行綜合,綜合后再按原始RTL重建層次結(jié)構(gòu)。這樣既保留了跨界優(yōu)化的好處,又讓最終層次結(jié)構(gòu)與RTL類(lèi)似,便于分析。

gated_clock_conversion:選擇是否將門(mén)控時(shí)鐘轉(zhuǎn)換為使能信號(hào)。設(shè)計(jì)中應(yīng)該避免使用門(mén)控時(shí)鐘,需要的時(shí)鐘信號(hào)應(yīng)盡可能由MMCM/PLL產(chǎn)生。轉(zhuǎn)換過(guò)程需要與RTL屬性配合工作,具體在第24篇介紹。

bufg:設(shè)置綜合工具可以從設(shè)計(jì)中推斷出多少個(gè)BUFG。比如使用默認(rèn)的12時(shí),如果RTL中實(shí)例化了3個(gè)BUFG,那么綜合工具最多還可以推測(cè)出9個(gè)沒(méi)有明確實(shí)例化的BUFG。

fanout_limit:設(shè)置一個(gè)信號(hào)的最大驅(qū)動(dòng)負(fù)載數(shù)量,如果超出了該限制,就會(huì)復(fù)制一個(gè)相同的邏輯來(lái)驅(qū)動(dòng)超出的負(fù)載。這里只是一個(gè)總體設(shè)置,在RTL設(shè)計(jì)中還可以使用RTL屬性進(jìn)行更具體的設(shè)置,具體在第24篇介紹。

directive:設(shè)置Vivado綜合運(yùn)行時(shí)擦愛(ài)去的優(yōu)化方式,具體包括

Default,默認(rèn)設(shè)置。

RuntimeOptimized,執(zhí)行最短時(shí)間的優(yōu)化選項(xiàng),會(huì)忽略一些RTL優(yōu)化來(lái)減少綜合運(yùn)行時(shí)間。

AreaOptimized_high/medium,執(zhí)行一些通用的面積優(yōu)化。

AlternateRoutability,使用算法提高布線能力,減少M(fèi)UXF和CARRY的使用。

AreaMapLargeShiftRegToBRAM,將大型的移位寄存器用塊RAM來(lái)實(shí)現(xiàn)。

AreaMultThresholdDSP,會(huì)更多地使用DSP塊資源。

FewerCarryChains,位寬較大的操作數(shù)使用查找表(LUT)實(shí)現(xiàn),而不用進(jìn)位鏈。

retiming:?jiǎn)⒂迷摴δ埽梢酝ㄟ^(guò)在組合門(mén)和LUT之間移動(dòng)寄存器(達(dá)到寄存器平衡狀態(tài))提高內(nèi)部時(shí)鐘時(shí)序路徑的電路性能。該功能會(huì)保留原來(lái)的功能和電路延遲,也不需要改變RTL源文件。

fsm_extraction:設(shè)置綜合如何從設(shè)計(jì)中提取和映射有限狀態(tài)機(jī),具體在第24篇介紹。

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

resource_sharing:設(shè)置不同信號(hào)間共享算數(shù)操作符,選擇為auto時(shí)設(shè)計(jì)會(huì)根據(jù)設(shè)計(jì)時(shí)序判斷是否進(jìn)行資源共享。

no_lc:選中會(huì)關(guān)閉LUT組合。

no_srlextract:選中該選項(xiàng)時(shí),移位寄存器會(huì)用普通的寄存器實(shí)現(xiàn),而不用FPGA內(nèi)部專(zhuān)用的SRL資源。

max_bram:設(shè)置設(shè)計(jì)中運(yùn)行使用的最大塊RAM數(shù)量。通常當(dāng)設(shè)計(jì)中有黑盒子或第三方網(wǎng)表時(shí),使用該選項(xiàng)來(lái)節(jié)省空間。默認(rèn)值為-1,表示允許使用該FPGA中所有的塊RAM。

max_uram:設(shè)置設(shè)計(jì)中運(yùn)行使用的最大UltraRAM數(shù)量(對(duì)于UltraScale架構(gòu)FPGA而言)。-1,表示允許使用該FPGA中所有的UltraRAM。

max_dsp:設(shè)置設(shè)計(jì)中運(yùn)行使用的最大DSP塊數(shù)量。通常當(dāng)設(shè)計(jì)中有黑盒子或第三方網(wǎng)表時(shí),使用該選項(xiàng)來(lái)節(jié)省空間。默認(rèn)值為-1,表示允許使用該FPGA中所有的DSP資源。

max_bram_cascade_height:設(shè)置可以將BRAM級(jí)聯(lián)在一起的最大數(shù)量。

max_uram_cascade_height:設(shè)置可以將URAM級(jí)聯(lián)在一起的最大數(shù)量。

cascade_dsp:設(shè)置在求DSP塊輸出總數(shù)時(shí)使用多少個(gè)加法器,默認(rèn)計(jì)算時(shí)會(huì)使用塊內(nèi)部的加法器鏈。設(shè)置為tree會(huì)強(qiáng)制將該計(jì)算在fabric結(jié)構(gòu)中實(shí)現(xiàn)。

no_timing_driven:禁用默認(rèn)的時(shí)序驅(qū)動(dòng)綜合算法,這樣可以減少綜合運(yùn)行時(shí)間,但會(huì)忽略綜合中時(shí)序的影響。

sfcu:在單文件編譯單元模式下運(yùn)行綜合。

assert:將VHDL中的assert狀態(tài)納入評(píng)估。失敗或錯(cuò)誤級(jí)別會(huì)停止綜合進(jìn)程并產(chǎn)生一個(gè)錯(cuò)誤信息;警報(bào)級(jí)別會(huì)產(chǎn)生一個(gè)警告信息。

tcl.pre/tcl.post:選擇tcl文件,在綜合前和綜合后會(huì)自動(dòng)運(yùn)行其中的命令。這兩個(gè)文件應(yīng)該放在相應(yīng)的運(yùn)行目錄下,如project/project.runs/run_name。

創(chuàng)建綜合策略
除了Vivado提供的配置好的綜合策略外,還可以自行配置。在Settings中根據(jù)需要修改了設(shè)置選項(xiàng)后,點(diǎn)擊右側(cè)的Save strategy as按鈕(如下圖紅框),會(huì)彈出窗口,填寫(xiě)策略名稱(chēng)和相關(guān)描述,即可保存為用戶自定義的綜合策略。綜合策略列表的User defined strategies中即會(huì)出現(xiàn)自定義的綜合策略。

在Settings->Tool Settings->Strategies中也可以設(shè)置綜合策略,點(diǎn)擊“+”即可新建策略。如果想在已有策略的基礎(chǔ)上修改,則選中一個(gè)策略,點(diǎn)擊上方的Copy Strategy按鈕,User Defined Strategies中就會(huì)出現(xiàn)備份以供修改(Vivado提供的策略是不能修改的)。點(diǎn)擊Apply應(yīng)用配置后,綜合策略列表中就會(huì)出現(xiàn)自定義的策略。

控制文件編譯順序
綜合時(shí)必須選取合適的編譯順序,比如一個(gè)文件需要用到另一個(gè)文件中的相關(guān)申明。Vivado按照RTL文件的層次化結(jié)構(gòu)編譯文件,相關(guān)順序顯示在Sources窗口的Compile Order子窗口中(在底部選擇切換)。

Vivado可以自動(dòng)識(shí)別和設(shè)置最佳的頂層模塊,同時(shí)自動(dòng)管理編譯順序。頂層模塊文件和該層次結(jié)構(gòu)下所有的文件,都會(huì)以正確的順序用于綜合和仿真。Sources窗口的右鍵菜單->Hierarchy Update命令用于設(shè)置Vivado如何處理設(shè)計(jì)中文件的改動(dòng)。

Automatic Update and Compile Order設(shè)定當(dāng)源文件發(fā)生改動(dòng)時(shí),工具自動(dòng)管理編譯順序,Compile Order窗口中將顯示編譯順序,Hierarchy窗口中顯示文件是否在層次結(jié)構(gòu)中使用以及所處的位置。

Automatic Update, Manual Compile Order設(shè)定Vivado可以自動(dòng)決定最佳頂層模塊,但是允許人工設(shè)定編譯順序。在Compile Order窗口中拖動(dòng)文件所處位置即可完成修改。

Vivado支持將Verilog(.v)或Verilog Header(.vh)文件作為全局`include文件。Vivado會(huì)在其它源文件前優(yōu)先處理此類(lèi)文件。選中需要添加的文件,右鍵->Set Global Include即可,或者在屬性窗口中選中相應(yīng)復(fù)選框。

o4YBAF9uJbqACBuPAAAsHRGDTjI188.png

編輯: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)投訴
  • vhdl
    +關(guān)注

    關(guān)注

    30

    文章

    819

    瀏覽量

    129642
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    388

    瀏覽量

    60779
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    833

    瀏覽量

    68365
收藏 人收藏

    評(píng)論

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

    適用于Versal的AMD Vivado 加快FPGA開(kāi)發(fā)完成Versal自適應(yīng)SoC設(shè)計(jì)

    設(shè)計(jì)、編譯、交付,輕松搞定。更快更高效。 Vivado 設(shè)計(jì)套件提供經(jīng)過(guò)優(yōu)化的設(shè)計(jì)流程,讓傳統(tǒng) FPGA 開(kāi)發(fā)人員能夠加快完成 Versal 自適應(yīng) SoC 設(shè)計(jì)。 面向硬件開(kāi)發(fā)人員的
    的頭像 發(fā)表于 05-07 15:15 ?489次閱讀
    適用于Versal的AMD <b class='flag-5'>Vivado</b>  加快FPGA<b class='flag-5'>開(kāi)發(fā)</b>完成Versal自適應(yīng)SoC設(shè)計(jì)

    電機(jī)大范圍調(diào)速的綜合電壓調(diào)制策略

    針對(duì)電動(dòng)汽車(chē)要求驅(qū)動(dòng)電機(jī)具有大范圍調(diào)速要求和目前任何單種基本調(diào)制方式都無(wú)法做到全調(diào)制比范圍內(nèi)性能最優(yōu)的問(wèn)題,提出了一種綜合的調(diào)制策略:在低調(diào)制比階段使用傳統(tǒng)的SVPWM策略,在高調(diào)制比階段
    發(fā)表于 04-01 14:51

    軟件定義汽車(chē)(SDV)開(kāi)發(fā)有哪些挑戰(zhàn)?SDV開(kāi)發(fā)策略分享:福特汽車(chē)采用Jama Connect提升開(kāi)發(fā)效率與質(zhì)量

    汽車(chē)召回事件屢屢發(fā)生,關(guān)于軟件定義汽車(chē)的開(kāi)發(fā)更是挑戰(zhàn)重重,有何應(yīng)對(duì)策略?福特汽車(chē)如何借助Jama Connect應(yīng)對(duì)該挑戰(zhàn),優(yōu)化SDV開(kāi)發(fā)并加速上市?更多策略,等你來(lái)探!
    的頭像 發(fā)表于 02-12 15:36 ?914次閱讀
    軟件定義汽車(chē)(SDV)<b class='flag-5'>開(kāi)發(fā)</b>有哪些挑戰(zhàn)?SDV<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>策略</b>分享:福特汽車(chē)采用Jama Connect提升<b class='flag-5'>開(kāi)發(fā)</b>效率與質(zhì)量

    軟件定義汽車(chē)(SDV)開(kāi)發(fā)有哪些挑戰(zhàn)?SDV開(kāi)發(fā)策略分享:福特汽車(chē)采用Jama Connect提升開(kāi)發(fā)效率與質(zhì)量

    汽車(chē)召回事件屢屢發(fā)生,關(guān)于軟件定義汽車(chē)的開(kāi)發(fā)更是挑戰(zhàn)重重,有何應(yīng)對(duì)策略?福特汽車(chē)如何借助Jama Connect應(yīng)對(duì)該挑戰(zhàn),優(yōu)化SDV開(kāi)發(fā)并加速上市?更多策略,等你來(lái)探!
    的頭像 發(fā)表于 01-24 13:40 ?333次閱讀

    Triton編譯器如何提升編程效率

    開(kāi)發(fā)者能夠更快地開(kāi)發(fā)出更高效的軟件。 1. 代碼優(yōu)化 1.1 編譯時(shí)優(yōu)化 Triton 編譯器在編譯時(shí)進(jìn)行了大量的代碼優(yōu)化。這些優(yōu)化包括但不
    的頭像 發(fā)表于 12-25 09:12 ?701次閱讀

    Triton編譯器與其他編譯器的比較

    的GPU編程框架,使開(kāi)發(fā)者能夠編寫(xiě)出接近手工優(yōu)化的高性能GPU內(nèi)核。 其他編譯器 (如GCC、Clang、MSVC等): 定位:通用編譯器,支持多種編程語(yǔ)言,廣泛應(yīng)用于各種軟件開(kāi)發(fā)場(chǎng)景
    的頭像 發(fā)表于 12-24 17:25 ?923次閱讀

    Triton編譯器功能介紹 Triton編譯器使用教程

    Triton 是一個(gè)開(kāi)源的編譯器前端,它支持多種編程語(yǔ)言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個(gè)可擴(kuò)展和可定制的編譯器框架,允許開(kāi)發(fā)者添加新的編程語(yǔ)言特性和優(yōu)化技術(shù)
    的頭像 發(fā)表于 12-24 17:23 ?1571次閱讀

    什么是MASH順序?如何在射頻合成器中確定合適的MASH順序

    您能告訴我什么是 MASH 順序以及如何確定合適的 MASH 順序嗎?
    發(fā)表于 11-12 06:16

    每次Vivado編譯的結(jié)果都一樣嗎

    很多FPGA工程師都有這種困惑,Vivado每次編譯的結(jié)果都一樣嗎? 在AMD官網(wǎng)上,有這樣一個(gè)帖子: Are Vivado results repeatable for identical
    的頭像 發(fā)表于 11-11 11:23 ?1120次閱讀
    每次<b class='flag-5'>Vivado</b><b class='flag-5'>編譯</b>的結(jié)果都一樣嗎

    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 ?929次閱讀
    <b class='flag-5'>Vivado</b>使用小技巧

    淺談Vivado編譯時(shí)間

    隨著FPGA規(guī)模的增大,設(shè)計(jì)復(fù)雜度的增加,Vivado編譯時(shí)間成為一個(gè)不可回避的話題。尤其是一些基于SSI芯片的設(shè)計(jì),如VU9P/VU13P/VU19P等,布局布線時(shí)間更是顯著增加。當(dāng)然,對(duì)于一些設(shè)計(jì)而言,十幾個(gè)小時(shí)是合理的。但我們依然試圖分析設(shè)計(jì)存在的問(wèn)題以期縮短
    的頭像 發(fā)表于 09-18 10:43 ?2064次閱讀
    淺談<b class='flag-5'>Vivado</b><b class='flag-5'>編譯</b>時(shí)間

    Vivado 2024.1版本的新特性(2)

    綜合角度看,Vivado 2024.1對(duì)SystemVerilog和VHDL-2019的一些特性開(kāi)始支持。先看SystemVerilog。
    的頭像 發(fā)表于 09-18 10:34 ?1757次閱讀
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(2)

    linux開(kāi)發(fā)板如何編譯curl

    在Linux開(kāi)發(fā)板上編譯 curl 庫(kù)通常涉及到幾個(gè)步驟,包括準(zhǔn)備開(kāi)發(fā)環(huán)境、下載源代碼、配置編譯選項(xiàng)以及執(zhí)行編譯和安裝過(guò)程。以下是一個(gè)基本的
    的頭像 發(fā)表于 08-30 15:33 ?1294次閱讀

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

    上設(shè)計(jì)的。運(yùn)行多個(gè)編譯需要更多的計(jì)算能力。這是與時(shí)間的權(quán)衡。如果可以同時(shí)運(yùn)行更多(使用云)綜合策略,周轉(zhuǎn)時(shí)間將會(huì)更短。 如何優(yōu)化高級(jí)設(shè)計(jì)-Sobel 濾波器 Sobel 濾波器是視頻處理中常
    發(fā)表于 08-16 19:56

    人工智能編譯器與傳統(tǒng)編譯器的區(qū)別

    人工智能編譯器(AI編譯器)與傳統(tǒng)編譯器在多個(gè)方面存在顯著的差異。這些差異主要體現(xiàn)在設(shè)計(jì)目標(biāo)、功能特性、優(yōu)化策略、適用范圍以及技術(shù)復(fù)雜性等方面。以下是對(duì)兩者區(qū)別的詳細(xì)探討,旨在全面解析
    的頭像 發(fā)表于 07-17 18:19 ?2811次閱讀
    主站蜘蛛池模板: 精品一区二区三区在线视频 | 欧美成人鲁丝片在线观看 | 日本黄色www | 猛操在线| 国产一区二区在线视频播放 | 视频在线免费看 | 午夜小视频免费观看 | 亚洲综合在线一区 | 一级日本大片免费观看视频 | 欧美高清老少配性啪啪 | 国内黄色一级片 | 免费观看三级毛片 | h在线免费视频 | 888米奇色狠狠俺去啦 | 欧美一区二区三区性 | 性free3d| 91精品国产91久久久久青草 | 亚洲色图狠狠干 | 久久久久久久国产精品影院 | 夜夜爱夜夜做夜夜爽 | 亚洲国产七七久久桃花 | 国产1024一区二区你懂的 | 日韩第十页 | 美女黄页在线观看 | 亚洲一区二区影院 | 亚洲网在线观看 | 日本xxxx色视频在线观看免 | 羞涩妩媚玉腿呻吟嗯啊销魂迎合 | 美女一级牲交毛片视频 | 精品国产乱码久久久久久浪潮 | 天天射综合网站 | 国产黄在线观看 | 欧美性喷潮xxxx| 亚洲黄色网址 | 国产精品免费一级在线观看 | 四虎永久免费地址在线网站 | 亚洲另类电击调教在线观看 | 亚洲成a人片毛片在线 | 天天干影院 | 特级生活片 | 性色网址 |