精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

淺談Vivado編譯時間

FPGA技術驛站 ? 來源:FPGA技術驛站 ? 2024-09-18 10:43 ? 次閱讀

隨著FPGA規模的增大,設計復雜度的增加,Vivado編譯時間成為一個不可回避的話題。尤其是一些基于SSI芯片的設計,如VU9P/VU13P/VU19P等,布局布線時間更是顯著增加。當然,對于一些設計而言,十幾個小時是合理的。但我們依然試圖分析設計存在的問題以期縮短編譯時間。

通常,綜合(Synthesis)所消耗的時間比布局布線要短,但從代碼風格角度而言,我們也能找到一些端倪來縮短綜合所用的時間。如下圖所示代碼,左右兩側功能是一致的,區別在于左側采用了for generate語句,for循環里嵌套了always模塊;右側實際上不需要generate語句,always里直接使用了for循環(注意:實際上,這里不需要for循環,只是為了說明for循環對編譯時間的影響)。單獨對左側模塊采用OOC綜合,耗時2分鐘;而右側耗時1分鐘。因此,我們在用for循環時要謹慎一些。

wKgZombqPm-AQ__dAADm1cI9n3M572.jpg

Vivado還支持多線程可進一步縮短編譯時間,這需要通過如下的Tcl腳本進行設置。綜合階段,Vivado可支持的最大線程數為4。布局布線階段,可支持的最大線程數為8(Windows系統默認值為2,Linux系統默認值為8)。實際上,DRC檢查、靜態時序分析和物理優化也支持多線程,最大線程數為8。我們可以在log文件中查看到當前使用的線程數。

set_param general.maxThreads 4

wKgaombqPm-AJLjuAACBnNufF50988.jpg

在Vivado Design Run窗口,我們可以查看到整個設計綜合和實現的耗時,如下圖所示。對于實現各個子階段的耗時就需要在log文件中查看。只需要搜索關鍵字Ending,如下圖所示。可以看到opt_design耗時3分鐘,place_design耗時1小時45分鐘,phys_opt_design耗時20分鐘,route_design耗時3小時27分鐘。

wKgZombqPm-AS73sAAA0gVrkxEk690.jpg

wKgaombqPm-AAaIrAAEDX-Vqt2A384.jpg

Vivado還提供了報告策略,如下圖所示。本身生成報告也是需要時間的,因此可根據設計需要選擇報告策略,去除不必要的報告以節省時間。同時,對于已確定的報告策略仍然可以進一步編輯,增加期望的報告或者刪除不需要的報告。這可通過Report窗口中的Add Report或Remove Report/Disable Report完成。

wKgaombqPm-AVqOuAADmEUGYxGc646.jpg

wKgaombqPm-Adx1CAACN8jen5lw135.jpg

通常,布線是耗時最長的部分,為此Vivado對route_design提供了選項-ultrathreads,其目的是使布線器更快的運行,但是以犧牲結果的一致性為代價的。

從策略角度看,如果僅僅是為了評估資源利用率,那么Implementation Strategy可以選擇Flow_Quick。如果時序裕量比較大,那么也可以選擇Flow_RuntimeOptimized,該策略是以犧牲性能為代價來縮短編譯時間的。

wKgZombqPm-APza0AAB5hcL2bO4774.jpg

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

    關注

    1620

    文章

    21509

    瀏覽量

    598853
  • 芯片
    +關注

    關注

    450

    文章

    49616

    瀏覽量

    417081
  • 編譯時間
    +關注

    關注

    0

    文章

    4

    瀏覽量

    5482
  • Vivado
    +關注

    關注

    19

    文章

    797

    瀏覽量

    65850

原文標題:再談Vivado編譯時間

文章出處:【微信號:Lauren_FPGA,微信公眾號:FPGA技術驛站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何縮短Vivado的運行時間

    Vivado Implementation階段,有時是有必要分析一下什么原因導致運行時間(runtime)過長,從而找到一些方法來縮短運行時間
    的頭像 發表于 05-29 14:37 ?1.4w次閱讀
    如何縮短<b class='flag-5'>Vivado</b>的運行<b class='flag-5'>時間</b>

    淺析可提升Vivado編譯效率的增量編譯方法

    增量編譯:使用增量編譯滿足最后時刻 HDL 變動需求,僅針對已變動邏輯進行布局布線,從而可節省時間
    的頭像 發表于 12-13 10:14 ?5101次閱讀

    誰能縮短大容量FPGA的編譯時間?增量式編譯QIC!

    增量式編譯(Incremental Compilation)是ALTERA為解決大容量FPGA設計編譯時間太長的問題給出的一個新式工具!在本文中我們將闡述QIC在縮短編譯
    發表于 12-25 11:26 ?4804次閱讀

    Vivado中的Incremental Compile增量編譯技術詳解

    Incremental Compile增量編譯Vivado提供的一項高階功能。目的旨在當設計微小的改變時,重用綜合和布局布線的結果,縮短編譯時間
    的頭像 發表于 07-05 06:06 ?1.1w次閱讀

    淺談 Atmel Studio 6和IAR C編譯器之間的鏈接問題

    淺談 Atmel Studio 6和IAR C編譯器之間的鏈接問題
    的頭像 發表于 07-04 09:50 ?3418次閱讀

    Vivado Design Suite 2015.3的新功能介紹

    了解Vivado實現中2015.3中的新增量編譯功能,包括更好地處理物理優化和自動增量編譯流程。
    的頭像 發表于 11-20 06:55 ?2509次閱讀

    Vivado Design Suite 2015.3新增量編譯功能介紹

    了解Vivado實現中2015.3中的新增量編譯功能,包括更好地處理物理優化和自動增量編譯流程。
    的頭像 發表于 11-20 06:56 ?2729次閱讀

    Vivado 2015.3中的新增量編譯功能介紹

    了解Vivado實現中2015.3中的新增量編譯功能,包括更好地處理物理優化和自動增量編譯流程。
    的頭像 發表于 11-29 06:32 ?3537次閱讀

    Vivado 2015.3的新增量編譯功能

    了解Vivado實現中2015.3中的新增量編譯功能,包括更好地處理物理優化和自動增量編譯流程。
    的頭像 發表于 11-30 19:24 ?4415次閱讀

    講述增量編譯方法,提高Vivado編譯效率

    當RTL代碼修改較少時,使用增量編譯功能可以提高工程的編譯速度,Incremental Compile增量編譯Vivado提供的一項高階功能。目的旨在當設計微小的改變時,重用綜合和布
    的頭像 發表于 01-22 17:27 ?9830次閱讀
    講述增量<b class='flag-5'>編譯</b>方法,提高<b class='flag-5'>Vivado</b><b class='flag-5'>編譯</b>效率

    賽靈思Vivado ML版優化應用設計

    Vivado HLx 版本相比,Vivado ML 版將復雜設計的編譯時間縮短了 5 倍,同時還提供了突破性的平均達 10% 的結果質量( QoR )提升。
    的頭像 發表于 07-02 16:40 ?2628次閱讀
    賽靈思<b class='flag-5'>Vivado</b> ML版優化應用設計

    Vivado里如何手動調整編譯順序

    通常情況下,一旦創建好Vivado工程,添加了相應的RTL文件,Vivado會自動找到設計的頂層文件,正確地顯示設計層次。在這個過程中,Vivado會自動分析文件的編譯順序。那么是否可
    的頭像 發表于 01-06 09:27 ?3479次閱讀

    Vivado增量編譯的基本概念、優點、使用方法以及注意事項

    隨著FPGA設計的復雜度不斷提高,設計人員需要選擇更為高效的設計流程來保證開發效率和減少開發成本。其中,Vivado增量編譯是一種非常重要的設計流程。本文將介紹Vivado增量編譯的基
    的頭像 發表于 05-25 18:25 ?4313次閱讀
    <b class='flag-5'>Vivado</b>增量<b class='flag-5'>編譯</b>的基本概念、優點、使用方法以及注意事項

    Vivado那些事兒:節省編譯時間系列文章

    雖然想必您知道,在綜合或實現階段,增量運行可以從參考文件中讀取和復制信息,但僅在某些階段中能節省時間,如果網表發生大量更改,其中引用的內容就會減少,編譯時間也會受到相應影響。
    的頭像 發表于 10-09 16:48 ?2233次閱讀
    <b class='flag-5'>Vivado</b>那些事兒:節省<b class='flag-5'>編譯</b><b class='flag-5'>時間</b>系列文章

    Vivado編譯常見錯誤與關鍵警告梳理與解析

    Xilinx Vivado開發環境編譯HDL時,對時鐘信號設置了編譯規則,如果時鐘由于硬件設計原因分配到了普通IO上,而非_SRCC或者_MRCC專用時鐘管腳上時,編譯器就會提示錯誤。
    的頭像 發表于 04-15 11:38 ?3630次閱讀