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

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

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

3天內不再提示

解決Vivado implementation擁塞的策略方法

倩倩 ? 來源:Hack電子 ? 作者:Hack電子 ? 2022-08-31 15:14 ? 次閱讀

摘要:根據官方說法,嘗試解決post route里面的擁塞問題,參考文章在策略中一些參數細節的配置方法。參考文章中的

Vivado strategies:

針對性能:

Perfornance_Explore

Perfornance_ExplorePostRouteFhsopt

Perfornance_WLBlockPlacement

Perfornance_WLBlockPlacementFanoutopt

Perfornance_NetDelay_high

Perfornance_NetDelay_low

Perfornance_Retiming

Perfornance_ExtraTimingOpt

Perfornance_Refineplacement

Perfornance_SpreadSLLs

Perfornance_BalanceSLLs

針對布線擁塞:

Congestion_ SpreadLogic_high

Congestion_ SpreadLogic_medium

Congestion_ SpreadLogic_low

Congestion_ SpreadLogic_Explore

以下三個針對SSI芯片

Congestion_ SSI_SpreadLogic_high

Congestion_ SSI_SpreadLogic_low

Congestion_ SSI_SpreadLogic_Explore

針對資源:

Area_Explore

Area_ExploreSequential

Area_ExploreWithRemap

針對功耗:

Power_DefaultOpt

Power_ExploreArea

針對運行時間:

Flow_RunPhysOpt

Flow_RunPos tRoutePhysOpt

Flow_Runtimcoptinized

擁塞報告

第一步:打開布局或者布線后的DCP文件

第二步:在菜單下,依次選擇Reports -> Report Design Analysis,彈出如下圖所示對話框,只選擇圖中的Congestion,即可生成擁塞報告。

5f17c67c-28fc-11ed-ba43-dac502259ad0.png

這里我們要格外關注Level列對應的數據,該列數據表明了擁塞程度。

5f48907c-28fc-11ed-ba43-dac502259ad0.png

對于擁塞程度(Congestion Level),我們有如下判定標準:

擁塞程度≥7:設計幾乎不太可能收斂,布線極有可能失敗;

擁塞程度≥6:設計很難實現時序收斂,運行時間會很長,而且很有可能出現布線失敗;

擁塞程度=5:存在一定難度實現設計收斂;

擁塞程度<5:可認為設計不存在擁塞問題

我們再看看布線后生成的擁塞報告,如下圖所示。此時,我們要關注Type這一列。該列表明了擁塞的類型。

5f712226-28fc-11ed-ba43-dac502259ad0.png

通常,有三類擁塞類型:Global、Long和Short。造成這三類擁塞的原因是不同的。

Global:擁塞區域的Combined LUT過多,或者控制集過多;

Long:擁塞區域的BRAM、URAM和DSP過多,或者跨die路徑過多;

Short:擁塞區域的MUXF或Carry Chain過多;

明確了擁塞類型,就可知道造成擁塞的原因,再結合報告中顯示的擁塞區域,進而查找到相應的模塊,就可以有的放矢,解決擁塞問題。但是,在解決擁塞問題之前要確保設計滿足以下幾點:

(1)約束是合理的

(2)Pblock之間沒有重疊

(3)不存在過大的Hold違例(WHS < -0.4ns)

測試

首先看擁塞的等級,可以分別采用Congestion_ SpreadLogic_high、Congestion_ SpreadLogic_medium等不同的策略去解決。

我在跑版本的時候發現,有的版本時序還行,但是功能完全不正確,warning比功能正確的版本要多。考慮到可能是策略不同所致,所以進行了一些關于策略測試,不是很明白策略,只是單純的跑版本進行測試。

具體策略每項的介紹可以看這篇文章:【vivado UG學習】Implementation策略學習_lu-ming.xyz的博客-CSDN博客_vivado 實現策略(https://blog.csdn.net/lum250/article/details/119920135)

在有擁塞的時候,使用congestion_spreadlogic_high策略,但是好像很容易會造成版本的unlock,這點不是很確定。

以058版本為例,時序在-0.5的版本是不行的,一般要在-0.5以內,-0.4的樣子

5f9b6644-28fc-11ed-ba43-dac502259ad0.png

5fde8f82-28fc-11ed-ba43-dac502259ad0.png

第一次修改策略,其它不變,只改HigherDelayCost

6005f9f0-28fc-11ed-ba43-dac502259ad0.png

第二次修改策略,有unlock的問題:

opt_design:Default

place_design:AtspeedLogic_high

phys_opt_design:AggressiveExplore

route_design:NoTimingRelaxation

(unenable)phys_opt_design:Explore

60318bd8-28fc-11ed-ba43-dac502259ad0.png

第三次修改策略:

opt_design:Default

place_design:AtspeedLogic_high

phys_opt_design:ExploreWithHoldFix

route_design:NoTimingRelaxation

(unenable)phys_opt_design:Explore

60611c72-28fc-11ed-ba43-dac502259ad0.png

第四次修改策略:(無unlock問題,功能沒太大問題)

opt_design:Explore

place_design:AtspeedLogic_high

phys_opt_design:AggressiveExplore

route_design:NoTimingRelaxation

(unenable)phys_opt_design:Explore

608b9f4c-28fc-11ed-ba43-dac502259ad0.png

058錯誤版本,無unlock問題,但是功能有問題:(同策略下跑出過正常版本很奇怪)

opt_design:ExploreArea

place_design:AtspeedLogic_high

phys_opt_design:Explore

route_design:NoTimingRelaxation

(unenable)phys_opt_design:Explore

60bcc9d2-28fc-11ed-ba43-dac502259ad0.png

058正式版本:(無lock問題,功能正確,時序微差)

opt_design:Default

place_design:AtspeedLogic_high

phys_opt_design:Explore

route_design:NoTimingRelaxation

(unenable)phys_opt_design:Explore

13 critical warning

354 warning

WNS:-0.429

TNS:-4010.661

057版本測試

057-0606(未通過)

opt_design:Explore

place_design:AtspeedLogic_high

phys_opt_design:Explore

route_design:NoTimingRelaxation

phys_opt_design:Explore

53 critical warnings

273 warnings

WNS:-0.438ns

總結

根據測試,簡單的判斷下來,在高LUT使用率以及擁塞的版本下,可暫時使用如下策略,雖然同策略跑出的其他版本在prach測試時有點偏差,但是不能夠確定是環境問題還是代碼問題:

opt_design:Default

place_design:AtspeedLogic_high

phys_opt_design:Explore

route_design:NoTimingRelaxation

(unenable or ennable)phys_opt_design:Explore

在使用策略的時候可以先不用更改策略內的項,用每個策略的默認項,待時序很差或者擁塞依舊不通過或者功能不正確時,再考慮更改某些項。

目前看下來,當LUT使用過多,并且時序差的時候會有擁塞、unlock以及功能不正確的現象。我在使用congestion_spreadlogic_high策略的時候,很容易會有unlock的現象。功能不正確伴隨著的是時序竟然會好,這點很奇怪,感覺是由于策略過于激進優化掉了很多東西,造成了更多的warning(DRC警告)。

不過這三個問題在不改代碼的前提下,可以去通過更改策略解決。

審核編輯 :李倩


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

    關注

    9

    文章

    778

    瀏覽量

    84433
  • 擁塞
    +關注

    關注

    0

    文章

    12

    瀏覽量

    9478
  • Vivado
    +關注

    關注

    19

    文章

    815

    瀏覽量

    66897

原文標題:解決Vivado implementation擁塞的策略方法

文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    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用戶指南:邏輯仿真

    Vivado之實現布局布線流程介紹

    一、前言 本文將介紹Vivado進行綜合,以及布局布線的內部流程,熟悉該流程后結合Settings中對應的配置選項,對于時序收斂調試將更具有針對性。 二、Implementation(實現) 實現
    的頭像 發表于 12-06 09:08 ?737次閱讀
    <b class='flag-5'>Vivado</b>之實現布局布線流程介紹

    Xilinx_Vivado_SDK的安裝教程

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

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

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

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

    本博客提供了基于2023.2 Vivado的參考工程,展示如何使用Microblaze 地執行(XIP)程序,并提供一個簡單的bootloader。
    的頭像 發表于 10-29 14:23 ?529次閱讀
    使用<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 ?1031次閱讀
    <b class='flag-5'>Vivado</b>編輯器亂碼問題

    Vivado 2024.1版本的新特性(2)

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

    Vivado 2024.1版本的新特性(1)

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

    TCS系統的核心控制策略方法

    策略方法 控制策略:TCS系統運用了一系列高級控制理論,包括邏輯閾值、比例積分微分(PID)控制、模糊邏輯和神經網絡技術。這些控制策略使系統能夠快速準確地對各種復雜的駕駛狀況進行響應
    的頭像 發表于 08-29 11:25 ?971次閱讀

    論TCP協議中的擁塞控制機制與網絡穩定性

    TCP協議中的擁塞控制機制與網絡穩定性的深度探討 隨著互聯網的快速發展,網絡流量呈現爆炸式增長,網絡擁塞問題逐漸凸顯。為了維護網絡的穩定運行,TCP協議中引入了擁塞控制機制。這一機制的主要目的是防止
    的頭像 發表于 04-19 16:42 ?488次閱讀

    Vivado 使用Simulink設計FIR濾波器

    領域都有著廣泛的應用。 Vivado自帶的FIR濾波器IP核已經很好用,這里借FIR濾波器的設計,介紹Simulink圖形設計編程方法。Simulink可以使設計更直觀,使硬件資源得到更為高效的利用
    發表于 04-17 17:29

    以太網存儲網絡的擁塞管理連載案例(六)

    消除或減少無損以太網網絡擁塞的高級方法與光纖通道結構相同。幾十年來,不同的傳輸類型都采用了類似的方法,只是略有不同。
    的頭像 發表于 03-06 16:35 ?1069次閱讀
    以太網存儲網絡的<b class='flag-5'>擁塞</b>管理連載案例(六)

    以太網存儲網絡的擁塞管理連載案例(五)

    解決無損以太網網絡擁塞問題的方法與光纖通道結構相同。兩者都使用逐跳流量控制機制,只是實現方式不同而已。
    的頭像 發表于 03-04 11:17 ?948次閱讀
    以太網存儲網絡的<b class='flag-5'>擁塞</b>管理連載案例(五)
    主站蜘蛛池模板: 日韩爽片 | 亚洲免费一级视频 | 国模吧新入口 | 国语自产自拍秒拍在线视频 | 色黄网| 久久精品1| 91大神大战高跟丝袜美女 | 又粗又长又大真舒服好爽漫画 | 亚洲成在人线中文字幕 | 四虎影院永久免费观看 | 美女牲交视频一级毛片 | 国产91啪| 女人张开腿让男人桶免费网站 | 欧美大全| 国产一级毛片国语版 | 在线视频永久在线视频 | 高清人人天天夜夜曰狠狠狠狠 | 午夜美女久久久久爽久久 | 国产精品久久久久久免费播放 | 婷婷综合在线观看丁香 | 久久福利青草精品资源 | 成视频年人黄网站免费视频 | 天堂网在线最新版www中文网 | 在线www 天堂网在线 | 国产高清成人mv在线观看 | 男人的天堂222eee | 国产福利资源在线 | 在线观看视频色 | 天天在线免费视频 | 色在线国产 | 午夜剧场刺激性爽免费视频 | h视频在线观看视频观看 | 婷婷国产成人久久精品激情 | 色多多福利网站老司机 | 欧美无遮挡一区二区三区 | 成年网站在线在免费播放 | 成人在线一区二区三区 | 一级特黄aaa免费 | 国产操视频 | 在线看片一区 | 全国最大色成免费网站 |