一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Vivado提供的參數(shù)選項

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2022-07-03 10:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

FPGA設(shè)計里,設(shè)計仿真完成RTL代碼設(shè)計后便是交給設(shè)計套件進行綜合及布局布線。在綜合過程里,Vivado里提供的參數(shù)選項有點兒多,今天閑暇抽空梳理下。

-flatten_hierarchy

該參數(shù)提供三個可選項:

full:將我們整個設(shè)計層次打平,只保留頂層設(shè)計,對模塊間進行邊界優(yōu)化(可以理解為我們整個設(shè)計被塞到一個Module里)。

none:完全保留設(shè)計原始層次,不執(zhí)行任何邊界優(yōu)化。該選項工具進行的優(yōu)化最少,消耗的資源最多,層次保留最完整。

rebuild:在進行綜合時將原始設(shè)計打平,執(zhí)行邊界優(yōu)化,但將網(wǎng)表文件按照原始設(shè)計層次顯示。

對于在Verilog中使用的"keep_hierarchy"屬性優(yōu)先級高于flatten_hierarchy。

gated_clock_conversion

ASIC中門控時鐘用的比較多,而在FPGA設(shè)計中,門控時鐘并不是專用時鐘模塊生成,而且Vivado并不會對門控時鐘插入BUFG,在設(shè)計中應極力避免。該選項可將門控時鐘信號轉(zhuǎn)換為使能信號,從而避免門控時鐘的使用。該選項存在三個參數(shù):

off:不允許門控時鐘轉(zhuǎn)換。

on:允許門控時鐘轉(zhuǎn)換,Verilog里添加“gated_clocked”的門控時鐘將會自動轉(zhuǎn)換。

auto:Verilog中添加“gated_clocked”的門控時鐘或者工具檢測到門控時鐘而且有相應可用的時鐘約束選項時將進行門控時鐘轉(zhuǎn)換。

當門控時鐘負載較少且時鐘頻率并不高時可以適當使用門控時鐘,但建議手動插入BUFG。

-fanout_limit

該選項用于設(shè)定信號所能承受的最大負載。該選項對于設(shè)計中的控制信號,如置位,復位和使能信號是無效的。

-fanout_limit只是一個宏觀指導原則,并非強制命令。如果需要很明確的對某個信號降扇出,應使用MAX_FANOUT而不是-fanout_limit。

MAX_FANOUT可應用于RTL代碼中,也可應用于XDC中,優(yōu)先級高于-fanout_limit。當需要控制扇出的寄存器與負載不在同一層次時,flatten_hierarchy不要設(shè)置為none模式,否則將會無法生效。

-directive

Vivado提供的一些優(yōu)化策略:

RuntimeOptimized:執(zhí)行較少的時序優(yōu)化及RTL優(yōu)化以降低運行時間。

AreaOptimized_high:執(zhí)行常規(guī)面積優(yōu)化,包括強制執(zhí)行三進制加法器,在比較器中使用新閾值以使用進位鏈以及實現(xiàn)面積優(yōu)化的多路復用器。

AreaOptimized_medium:執(zhí)行常規(guī)面積優(yōu)化,包括更改控制集優(yōu)化的閾值,強制執(zhí)行三進制加法器,將推理的乘法器閾值降低到DSP模塊,將移位寄存器移入BRAM,在比較器中使用較低閾值以使用進位鏈,以及進行區(qū)域優(yōu)化的MUX操作。

AlternateRoutability:通過算法提升路由能力(使用更少的MUXF和CARRYs)。

AreaMapLargeShiftRegToBRAM:檢測大型移位寄存器,并使用專用的Block RAM實現(xiàn)它們。

AreaMultThresholdDSP:減少DSP的推斷及使用。

FewerCarryChains:通過LUT使用降低進位鏈的使用。

-retiming

在不改變原始設(shè)計及功能時通過調(diào)整LUT和寄存器位置來進行時序優(yōu)化調(diào)整。

-fsm_extraction

設(shè)定狀態(tài)機編碼方式,默認為auto,此時Vivado會自行決定最佳的編碼方式。

-keep_equivalent_registers

當勾選時,對于輸入的同源寄存器,綜合時將會被合成一個。如下例所示:

always@(posedge clk)begin  rx<=a;  ry<=a;  r<=b;??resa<=rx & r;??resb<=ry^y;end

當該選項不勾選時,rx,ry將會被合并成一個寄存器。

-resource_shring

對算數(shù)運算符通過資源共享優(yōu)化設(shè)計資源,有三個可選項:auto、on、off。設(shè)置為auto時,工具會根據(jù)時序要求進行調(diào)整。

-control_set_opt_threshold

觸發(fā)器的控制集由時鐘信號,復位/置位吸納后和使能信號構(gòu)成,通常只有{clk,set/rst,ce}均相同的觸發(fā)器才可以被放在一個SLICE中。該選項將時鐘使能優(yōu)化的閾值設(shè)置為較少的控制集。默認值為自動,這意味著該工具將根據(jù)目標設(shè)備選擇一個值。支持任何正整數(shù)值。

給定值是工具將控制集移入寄存器的D邏輯所需的扇出數(shù)量。如果扇出大于該值,則該工具嘗試使該信號驅(qū)動該寄存器上的control_set_pin。

-no_lc

使能該選項時,工具將不會嘗試LUT的整合。雖然LUT整合能夠降低LUT的使用,但也有可能導致布局布線擁塞。當“LUT as Logic”超過15%時,建議勾選該選項。

-no_slrextract -shreg_min_size

移位寄存器可以被綜合成LUT實現(xiàn)。-shreg_min_size用于管理移位寄存器是否映射為LUT,默認值為3.當移位寄存器的深度不超過-shereg_min_size時,最終采用移位寄存器實現(xiàn),否則采用FF+LUT+FF形式實現(xiàn)。

-no_slrextract用于阻止工具將移位寄存器映射為LUT。優(yōu)先級高于-shreg_min_size。

其他選項我們基本就用不上了,若需使用可參照ug901手冊。

原文標題:亂花漸欲迷人眼—Vivado之Synthesis

文章出處:【微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:彭靜

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

    關(guān)注

    31

    文章

    5433

    瀏覽量

    124258
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    834

    瀏覽量

    68651
  • RTL代碼
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    6922

原文標題:亂花漸欲迷人眼—Vivado之Synthesis

文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    如何在Vitis中把設(shè)置信息傳遞到底層的Vivado

    析時序問題的原因, 并根據(jù)時序失敗的原因調(diào)整Vivado各個步驟的選項。有時我們也需要調(diào)整Vivado各個步驟的選項做不同方向的優(yōu)化。
    發(fā)表于 08-02 08:03 ?1554次閱讀
    如何在Vitis中把設(shè)置信息傳遞到底層的<b class='flag-5'>Vivado</b>

    Vivado for ZYBO無法提供該怎么辦?

    我試圖跟隨Zybo板的“開箱后”演示。我正在嘗試在vivado 2015.1上生成比特流,并且我不斷收到這兩個錯誤[IP_Flow 19-395]讀取IP文件時出現(xiàn)問題,未找到元素項目行3:C
    發(fā)表于 09-24 08:43

    Vivado參數(shù)propragation有什么不同嗎?

    嗨,我在Vivado 16.2中重新創(chuàng)建了一個在Vivado 15.2中完美運行的固件。當我嘗試在IPI中驗證設(shè)計時,它會給出錯誤和嚴重警告。這個版本的Vivado參數(shù)proprag
    發(fā)表于 08-06 07:55

    Vivado 2017.1和Vivado 2016.4性能對比分析

    此篇文章里,我們將通過使用InTime來檢驗Vivado 2017.1和Vivado2016.4之間的性能對比。 概要:分別進行了3個Vivado 2017.1對Vivado2016.
    的頭像 發(fā)表于 07-04 11:23 ?1.1w次閱讀
    <b class='flag-5'>Vivado</b> 2017.1和<b class='flag-5'>Vivado</b> 2016.4性能對比分析

    深度解讀Vivado之Synthesis

    在FPGA設(shè)計里,設(shè)計仿真完成RTL代碼設(shè)計后便是交給設(shè)計套件進行綜合及布局布線。在綜合過程里,Vivado提供參數(shù)選項有點兒多,今天閑暇抽空梳理下。 -flatten_hiera
    的頭像 發(fā)表于 06-01 11:20 ?8183次閱讀

    關(guān)于Vivado non-project模式

    vivado有project模式和non-project模式,project模式就是我們常用的方式,在vivado里面新建工程,通過GUI界面去操作;non-project模式就是純粹通過tcl來指定vivado的流程、
    的頭像 發(fā)表于 10-17 10:09 ?3963次閱讀

    Vivado中的Elaborate是做什么的?

    Vivado的界面中,有個RTL ANALYSIS->Open Elaborated Design的選項,可能很多工程師都沒有使用過。因為大家基本都是從Run Synthesis開始的。
    的頭像 發(fā)表于 10-24 10:05 ?1811次閱讀

    簡述Vivado中的Elaborate的作用

    Vivado的界面中,有個RTL ANALYSIS->Open Elaborated Design的選項,可能很多工程師都沒有使用過。因為大家基本都是從Run Synthesis開始的。
    的頭像 發(fā)表于 05-05 16:00 ?1633次閱讀
    簡述<b class='flag-5'>Vivado</b>中的Elaborate的作用

    Vivado布線和生成bit參數(shù)設(shè)置

    本文主要介紹Vivado布線參數(shù)設(shè)置,基本設(shè)置方式和vivado綜合參數(shù)設(shè)置基本一致,將詳細說明如何設(shè)置布線參數(shù)以優(yōu)化FPGA設(shè)計的性能,以
    的頭像 發(fā)表于 05-16 16:40 ?5540次閱讀
    <b class='flag-5'>Vivado</b>布線和生成bit<b class='flag-5'>參數(shù)</b>設(shè)置

    Vivado綜合參數(shù)設(shè)置

    如果你正在使用Vivado開發(fā)套件進行設(shè)計,你會發(fā)現(xiàn)綜合設(shè)置中提供了許多綜合選項。這些選項對綜合結(jié)果有著潛在的影響,而且能夠提升設(shè)計效率。為了更好地利用這些資源,需要仔細研究每一個
    的頭像 發(fā)表于 05-16 16:45 ?4802次閱讀
    <b class='flag-5'>Vivado</b>綜合<b class='flag-5'>參數(shù)</b>設(shè)置

    Vivado IP核Shared Logic選項配置

    在給Vivado中的一些IP核進行配置的時候,發(fā)現(xiàn)有Shared Logic這一項,這里以Tri Mode Ethernet MAC IP核為例,如圖1所示。
    的頭像 發(fā)表于 09-06 17:05 ?2340次閱讀
    <b class='flag-5'>Vivado</b> IP核Shared Logic<b class='flag-5'>選項</b>配置

    Vivado設(shè)計套件用戶:使用Vivado IDE的指南

    電子發(fā)燒友網(wǎng)站提供Vivado設(shè)計套件用戶:使用Vivado IDE的指南.pdf》資料免費下載
    發(fā)表于 09-13 15:25 ?16次下載
    <b class='flag-5'>Vivado</b>設(shè)計套件用戶:使用<b class='flag-5'>Vivado</b> IDE的指南

    tcpdump常用的選項參數(shù)詳細總結(jié)

    常用選項通過上述的實戰(zhàn)案例,相信大家已經(jīng)掌握的 tcpdump 基本用法,在這里來詳細總結(jié)一下常用的選項參數(shù)。 (一)基礎(chǔ)選項 -i:指定接口 -D:列出可用于抓包的接口 -s:指定數(shù)
    的頭像 發(fā)表于 09-28 15:52 ?2783次閱讀

    如何禁止vivado自動生成 bufg

    操作: 打開Vivado工程,并進入項目導航器窗口。 選擇下方的"IP"選項卡,展開"Clocking"選項。在這
    的頭像 發(fā)表于 01-05 14:31 ?3209次閱讀

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

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