吴忠躺衫网络科技有限公司

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

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

3天內不再提示

深度解讀Vivado之Synthesis

FPGA之家 ? 來源:FPGA之家 ? 作者:FPGA之家 ? 2021-06-01 11:20 ? 次閱讀

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

-flatten_hierarchy

該參數提供三個可選項:

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

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

rebuild:在進行綜合時將原始設計打平,執行邊界優化,但將網表文件按照原始設計層次顯示。

對于在Verilog中使用的“keep_hierarchy”屬性優先級高于flatten_hierarchy。

gated_clock_conversion

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

off:不允許門控時鐘轉換。

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

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

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

-fanout_limit

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

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

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

-directive

Vivado提供的一些優化策略:

RuntimeOptimized:執行較少的時序優化及RTL優化以降低運行時間。

AreaOptimized_high:執行常規面積優化,包括強制執行三進制加法器,在比較器中使用新閾值以使用進位鏈以及實現面積優化的多路復用器

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

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

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

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

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

-retiming

在不改變原始設計及功能時通過調整LUT和寄存器位置來進行時序優化調整。

-fsm_extraction

設定狀態機編碼方式,默認為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

對算數運算符通過資源共享優化設計資源,有三個可選項:auto、on、off。設置為auto時,工具會根據時序要求進行調整。

-control_set_opt_threshold

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

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

-no_lc

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

-no_slrextract -shreg_min_size

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

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

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

編輯:jq

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

    關注

    3

    文章

    259

    瀏覽量

    22343
  • 觸發器
    +關注

    關注

    14

    文章

    2003

    瀏覽量

    61347
  • LUT
    LUT
    +關注

    關注

    0

    文章

    49

    瀏覽量

    12577
  • 代碼
    +關注

    關注

    30

    文章

    4827

    瀏覽量

    69054
  • xdc
    xdc
    +關注

    關注

    1

    文章

    24

    瀏覽量

    5943

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

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

收藏 人收藏

    評論

    相關推薦

    Vivado Design Suite用戶指南: 設計分析與收斂技巧

    電子發燒友網站提供《Vivado Design Suite用戶指南: 設計分析與收斂技巧.pdf》資料免費下載
    發表于 01-15 15:28 ?0次下載
    <b class='flag-5'>Vivado</b> Design Suite用戶指南: 設計分析與收斂技巧

    Vivado Design Suite用戶指南:邏輯仿真

    電子發燒友網站提供《Vivado Design Suite用戶指南:邏輯仿真.pdf》資料免費下載
    發表于 01-15 15:25 ?0次下載
    <b class='flag-5'>Vivado</b> Design Suite用戶指南:邏輯仿真

    Xilinx_Vivado_SDK的安裝教程

    I Agree,然后點擊 Next: 選擇 Vivado HL System Edition(一般選擇這個設計套件比較完整,它比 Vivado HL Design Edition 多了一個 System Generator for DSP with Mat
    的頭像 發表于 11-16 09:53 ?1654次閱讀
    Xilinx_<b class='flag-5'>Vivado</b>_SDK的安裝教程

    4G模組加解密藝術:通用函數的深度解讀

    今天是對加解密通用函數的深度解讀,我將詳細講解,建議收藏,不可錯過。
    的頭像 發表于 11-12 09:58 ?304次閱讀
    4G模組加解密藝術:通用函數的<b class='flag-5'>深度</b><b class='flag-5'>解讀</b>

    每次Vivado編譯的結果都一樣嗎

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

    使用Vivado通過AXI Quad SPI實現XIP功能

    本博客提供了基于2023.2 Vivado的參考工程,展示如何使用Microblaze 地執行(XIP)程序,并提供一個簡單的bootloader。
    的頭像 發表于 10-29 14:23 ?516次閱讀
    使用<b class='flag-5'>Vivado</b>通過AXI Quad SPI實現XIP功能

    Vivado使用小技巧

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

    Vivado編輯器亂碼問題

    ,但是在Vivado里面打開用sublime寫的代碼之后,經常出現中文亂碼,讓人很不舒服。究其原因就是一般來說第三方的編輯器是采用utf8的編碼方式,而vivado的text editor不是這種方式。
    的頭像 發表于 10-15 17:24 ?1024次閱讀
    <b class='flag-5'>Vivado</b>編輯器亂碼問題

    Vivado 2024.1版本的新特性(2)

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

    Vivado 2024.1版本的新特性(1)

    Vivado 2024.1已正式發布,今天我們就來看看新版本帶來了哪些新特性。
    的頭像 發表于 09-18 10:30 ?1571次閱讀
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(1)

    解讀 MEMS 可編程 LVCMOS 振蕩器 SiT1602 系列:精準頻率的創新

    解讀 MEMS 可編程 LVCMOS 振蕩器 SiT1602 系列:精準頻率的創新
    的頭像 發表于 08-09 15:39 ?425次閱讀
    <b class='flag-5'>解讀</b> MEMS 可編程 LVCMOS 振蕩器 SiT1602 系列:精準頻率的創新<b class='flag-5'>之</b>選

    解讀 MEMS 可編程 LVCMOS 振蕩器 SiT8008 系列:精準與靈活的時脈

    解讀 MEMS 可編程 LVCMOS 振蕩器 SiT8008 系列:精準與靈活的時脈
    的頭像 發表于 08-09 10:29 ?360次閱讀
    <b class='flag-5'>解讀</b> MEMS 可編程 LVCMOS 振蕩器 SiT8008 系列:精準與靈活的時脈<b class='flag-5'>之</b>選

    深度解讀 VCXO VG7050CDN:可變晶體振蕩器的卓越

    深度解讀 VCXO VG7050CDN:可變晶體振蕩器的卓越
    的頭像 發表于 07-24 10:58 ?409次閱讀

    深度解讀廣汽全固態電池技術

    4月12日,在“科技視界”廣汽科技日活動上,廣汽集團發布了被稱為“全球動力電池領域競爭的技術高地”的全固態動力電池技術,廣汽埃安電池研發部負責人李進對此項技術進行了解讀
    的頭像 發表于 04-15 09:15 ?590次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>解讀</b>廣汽全固態電池技術

    Vivado Synthesis中怎么使用SystemVerilog接口連接邏輯呢?

    SystemVerilog 接口的開發旨在讓設計中層級之間的連接變得更加輕松容易。 您可以把這類接口看作是多個模塊共有的引腳集合。
    的頭像 發表于 03-04 15:25 ?1030次閱讀
    在<b class='flag-5'>Vivado</b> <b class='flag-5'>Synthesis</b>中怎么使用SystemVerilog接口連接邏輯呢?
    百家乐官网赢家球讯网| 百家乐官网打印程序| 大发888娱乐场菲律宾| 牌九娱乐城| 百家乐官网分析仪博彩正网| 精通百家乐官网的玩法技巧和规则 | 网络百家乐官网的信誉| 平博百家乐游戏| 百家乐缩水| 百家乐官网下载游戏| 钱隆百家乐官网破解版| 百家乐透视牌靴哪里有| bet365手机客户端| 百家乐官网稳赢技法| 百家乐园选百利宫| 利来国际注册| 百家乐官网必胜赌| 网上百家乐怎么赌能赢钱| 任你博娱乐城| 夜总会百家乐官网的玩法技巧和规则 | 沙龙百家乐娱乐场开户注册| 十六浦娱乐城| 百家乐官网出牌规| 二爷百家乐的玩法技巧和规则| 豪门国际网上娱乐| 娱乐网百家乐官网的玩法技巧和规则| 362百家乐的玩法技巧和规则 | 澳门百家乐官网真人娱乐场| 百家乐公开| 苗栗县| 做生意需要找风水先生吗| 大发888官方网站登录| 百家乐官网平台开户哪里优惠多 | 百家乐手机壳| 澳门百家乐官网心德| 百家乐赢家公式| 998棋牌游戏下载| 鼎尚百家乐官网的玩法技巧和规则| 太阳城俱乐部| 平和县| 云鼎百家乐程序开发有限公司|