最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Vivado界面配置選項含義解析

2023-04-05 23:23 作者:行中悟_悟中行  | 我要投稿

一、前言

????????在使用Vivado進行工程設(shè)置時,Settings界面中可進行各個階段的配置設(shè)置,清楚這些配置項的含義有助于我們設(shè)計出符合要求的工程,本文將針對這些選項進行基礎(chǔ)的解釋,其中包含了部分個人理解,如有不到之處,歡迎指出,使用的Vivado 2019.1?。

二、Project Settings

????????下面將根據(jù)流程以及使用頻率分3部分來介紹。第一部分包括General,Simulation,Elaboration。第二部分為Synthesis和Implementation,這一部分是最重要的,將重點介紹。第三部分是其他配置選項。

????????2.1 基礎(chǔ)設(shè)置

? ? ? ? 2.1.1 General

?????????General設(shè)置界面如下圖,Project device設(shè)置器件類型,Target language設(shè)置編譯語言為Verilog或VHD,Top module name在工程存在多模塊時設(shè)置頂層入口模塊,Language Options中Loop count為設(shè)置最大循環(huán)次數(shù),默認1000,即在工程中設(shè)置類似for循環(huán)時,最大循環(huán)數(shù)為1000。

2.1.2?Simulation

????????Simulation主要是配置仿真環(huán)境,可使用vivado 自帶的仿真工具,也可配置為modelsim仿真,相關(guān)設(shè)置可參考文章:https://blog.csdn.net/zyp626/article/details/128357763?spm=1001.2014.3001.5501

?2.2? 綜合與布局布線

2.2.1?Synthesis

????????Synthesis的作用是將工程文件轉(zhuǎn)換成網(wǎng)表,網(wǎng)表主要包括單元Cell,引腳pin,端口Port,網(wǎng)線Net。綜合階段的配置選項界面分為4部分:Synthesis,Constraints,Report Options,Options。

????????Constraints:在工程有多個約束集constraint set時可在Constraints中設(shè)置需要的約束集。

????????Report Options:設(shè)置report的策略,使用默認的即可

????????Options:包含了很多綜合相關(guān)的策略

Write incremental Synthesis:勾選后采用增量綜合,默認不勾選

Strategy:設(shè)置綜合的總體策略,通過算法,按照面積,性能,運行時間等不同優(yōu)先級有以下8中策略,也可使用User Defined Strategies用戶自己定義策略

?????????Synth Design設(shè)置如下:

tcl.pre:用戶可自己添加或創(chuàng)建綜合前的tcl文件

tcl.post:用戶可自己添加或創(chuàng)建綜合后的tcl文件

flatten_hierarchy:設(shè)置為none時,綜合工具不會將設(shè)計全部展開,保留了和設(shè)計層次相同的屬性關(guān)系,工具優(yōu)化最少,消耗的資源也多;設(shè)置為Full時,則全部展開,綜合后只有頂層模塊,子模塊的層次結(jié)構(gòu)看不出,優(yōu)化最多,消耗資源少,設(shè)置為rebuilt,則綜合工具會適當(dāng)展開,中途會存在一些優(yōu)化,但層次結(jié)構(gòu)和RTL會存在些差異。

gated_clock_conversion:控制綜合工具是否對門控時鐘邏輯進行轉(zhuǎn)換成觸發(fā)器的使能

bufg:設(shè)置使用的bufg數(shù)目

fanout:設(shè)置進行邏輯復(fù)制之前的最大扇出值,只對數(shù)據(jù)信號的扇出有效,對復(fù)位,置位,時鐘信號的扇出不起作用

directive:指定綜合優(yōu)化策略,有8種策略,優(yōu)化的目標(biāo)主要有運行時間,面積,BRAM,DSP使用等。

retiming:重定時功能,勾選后啟用,啟用后可通過在組合門或LUT之間移動寄存器進行時序優(yōu)化。

fsm_extraction:設(shè)置狀態(tài)機的編碼方式,設(shè)置為off時,狀態(tài)機將通過邏輯實現(xiàn),設(shè)置為auto時,會自動選擇最佳的編碼方式。

keep_equivalent_registers:設(shè)置是否保留相同邏輯輸入(時鐘端口和數(shù)據(jù)端口)的寄存器,為off則不保留,進行合并。

resource_sharing:實現(xiàn)對算術(shù)運算的資源共享,只有加法和乘法資源,可設(shè)置為auto,off,on。設(shè)置為auto時由軟件根據(jù)時序自動選擇是否進行資源共享。

control_set_opt_threshold:觸發(fā)器的控制集門限設(shè)置,可以降低控制集的個數(shù),控制集由時鐘信號,復(fù)位信號,置位信號,使能信號組成,觸發(fā)器只有控制中的信號都相同時才能放置在同一個Slice中,優(yōu)化之后需要多占用LUT資源。同時,control_set_opt_threshold的值也是控制信號的扇出個數(shù)。通常,當(dāng)設(shè)計的控制集大于芯片控制集的15%時,就必須進行優(yōu)化降低控制集數(shù)目。

no_lc:控制綜合是否進行LUT組合,主要針對兩個LUT的輸入端口并集數(shù)小于等于5時可合并到一個LUT6來實現(xiàn),該操作可節(jié)省面積資源,但可能導(dǎo)致布線擁塞或時序變差。

no_srlextract:勾選后表示阻止綜合工具用LUT來實現(xiàn)移位寄存器。

shreg_min_size:設(shè)置移位寄存器的最小長度,默認為3,當(dāng)移位寄存器的長度小于等于設(shè)置值時,將用觸發(fā)器級聯(lián)來實現(xiàn),大于設(shè)置值時,用觸發(fā)器和LUT來實現(xiàn),相比只用觸發(fā)器來實現(xiàn)時,使用LUT可以節(jié)省觸發(fā)器資源,但LUT的時延更大,時序效果差一些,優(yōu)先級不如no_srlextract。

max_bram:設(shè)計中允許使用的BRAM最大數(shù)量,默認值-1為不限制使用數(shù)量,綜合工具可使用所有BRAM。

max_uram:設(shè)計中允許使用的URAM最大數(shù)量,默認值-1為不限制使用數(shù)量,綜合工具可使用所有URAM。

max_dsp:設(shè)計中允許使用的DSP最大數(shù)量,默認值-1為不限制使用數(shù)量,綜合工具可使用所有DSP。

max_bram_cascade_height:設(shè)計中允許BRAM級聯(lián)的最大長度,默認值-1為不限制級聯(lián)長度。

max_uram_cascade_height:設(shè)計中允許URAM級聯(lián)的最大長度,默認值-1為不限制級聯(lián)長度。

cascade_dsp:控制dsp輸出和的實現(xiàn)方式,有auto,tree,force三種方式,auto為使用塊內(nèi)置加法器實現(xiàn),

assert:斷言,如果遇到嚴(yán)重錯誤時將停止進一步的綜合操作,有告警則打印告警信息。

More Options:設(shè)置一些組合配置,如輸入-max_bram 2 -max_dsp 3即同時設(shè)置兩個選項。

2.2.2? Implementation

????????實現(xiàn)是將邏輯網(wǎng)表映射到賽靈思器件上的過程,包含了邏輯優(yōu)化,邏輯單元布局,布線 3個部分。

????????實現(xiàn)過程中的配置選項分為Constraints,Report Options,Options三個部分。

Constraints:設(shè)置實現(xiàn)過程中使用的約束集

Report Options:設(shè)置報告策略,可設(shè)置的策略有下圖5種

?Incremental implementation:實現(xiàn)的方式采用增量的形式

Strategy:設(shè)置實現(xiàn)的策略,側(cè)重點有性能,面積,布線擁塞,時間等

Description:針對Strategy的選項進行說明

Design Initialization

tcl.pre:設(shè)計初始化時添加或創(chuàng)建實現(xiàn)前的tcl文件

tcl.post:設(shè)計初始化時添加或創(chuàng)建實現(xiàn)后的tcl文件

2.2.2.1 Opt Design

is_enable:勾選后可選擇性的運行

verbose : 控制是否查看所有的執(zhí)行的邏輯優(yōu)化

directive :

Explore: 運行多通道優(yōu)化

ExploreArea:運行多通道優(yōu)化,著重減少組合邏輯

AddRemap: 運行默認的邏輯優(yōu)化流程,包括LUT重映射來減少邏輯級數(shù)

ExploreSequentialArea:運行多通道優(yōu)化,著重減少寄存器和相關(guān)聯(lián)的組合邏輯

RuntimeOptimized:運行最少通道優(yōu)化,用性能來換取更少的運行時間

NoBramPowerOpt:運行所有除了塊RAM功率優(yōu)化外的其他優(yōu)化

ExploreWithRemap:相比Explore策略少了重映射優(yōu)化

Default:使用默認的設(shè)置

各策略具體的通道優(yōu)化如下表

2.2.2.2?Place?Design

Explore:側(cè)重詳細布局和后布局階段優(yōu)化。

WLDrivenBlockPlacement:根據(jù)線長布局RAM和DSP塊,取代以時序來布局。

EarlyBlockPlacement:根據(jù)時序來布局RAM和DSP塊,在布局流程的早期確定位置。

ExtraNetDelay_high:增加高扇出和長線的時延估算,可以改善關(guān)鍵路徑的時序,但可能由于過于理想的估算時延導(dǎo)致布線階段時序違例,保守估算等級分為高低兩級,ExtraNetDelay_high采用最高等級

ExtraNetDelay_low:同ExtraNetDelay_high,區(qū)別才用最低等級。

SSI_SpreadLogic_high:將邏輯分散到SSI 上來避免產(chǎn)生擁塞區(qū)域,支持高低兩個等級,采用高等級,分散程度高

SSI_SpreadLogic_low:將邏輯分散到SSI 上來避免產(chǎn)生擁塞區(qū)域,支持高低兩個等級,采用低等級,分散程度低

AltSpreadLogic_high:將邏輯分散到器件來避免產(chǎn)生擁塞區(qū)域,支持三個等級:高,中,低

AltSpreadLogic_medium:同上,區(qū)別為采用中等級的分散程度

AltSpreadLogic_low: 同上,采用低等級的分散程度

ExtraPostPlacementOpt:優(yōu)化主要在后布局階段

ExtraTimingOpt:在布局后期使用一組算法以時序為主進行布局

SSI_SpreadSLLs:局部通過SLRs并且為高連接性的區(qū)域分配額外的面積

SSI_BalanceSLRs:局部通過SLRs來平衡SLRs的數(shù)目

SSI_HighUtilSLRs:在每一個SLR中強制布局器將邏輯布局更緊湊

RuntimeOptimized:用更高的性能換取更快的運行時間

Quick:對于一個合理的設(shè)計,不考慮時序,性能,只保證運行時間

Default:使用默認設(shè)置

2.2.2.3?Route?Design

Explore:允許布線器在初始化的布線中尋找不同的關(guān)鍵路徑布局

AggressiveExplore:在保持最初的時序允許下,讓布線器進行更深入地查找關(guān)鍵路徑

NoTimingRelaxation:不運行布線器犧牲時序來完成布線

MoreGlobalIterations:在各個階段都是用詳細的時序分析,運行更多的全局迭代來提升時序

HigherDelayCost:調(diào)整布線器的內(nèi)部函數(shù)來換取更好的性能

RuntimeOptimized:運行最少的迭代,用性能換取運行時間

AlternateCLBRouting:用更多的布線算法來解決布線擁塞的問題

Quick:最快的編譯時間,不考慮時序,性能

Default:運行默認的布線設(shè)置

三、參考資料

1、書籍《基于Xilinx Vivado的數(shù)字邏輯實驗教程》

2、官網(wǎng)文檔《ug904-vivado-implementation-en-us-2022.2.pdf》


Vivado界面配置選項含義解析的評論 (共 條)

分享到微博請遵守國家法律
习水县| 浙江省| 汉源县| 开阳县| 神农架林区| 五常市| 榆树市| 千阳县| 麟游县| 河北省| 安岳县| 河西区| 新化县| 芦溪县| 叶城县| 清丰县| 杭州市| 溧水县| 三原县| 景泰县| 寻乌县| 阳朔县| 隆化县| 巴塘县| 开封市| 兴安县| 大英县| 罗甸县| 温宿县| 伽师县| 浑源县| 广汉市| 濉溪县| 铁岭县| 莎车县| 白银市| 海盐县| 新昌县| 绥棱县| 鹤壁市| 西乡县|