<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

如何縮短Vivado的運行時間

電子工程師 ? 來源:fqj ? 2019-05-29 14:37 ? 次閱讀

在Vivado Implementation階段,有時是有必要分析一下什么原因導致運行時間(runtime)過長,從而找到一些方法來縮短運行時間。

首先,要明確到底哪個階段耗時過長。Vivado Implementation主要有三個子步驟:opt_design、place_design和route_design。Implementation結束后,會在".runs/impl_x"目錄下生成一個runme.log文件。在這個文件中可以查看每個子步驟的耗時。如下圖所示,可以看到place_design耗時2分41秒。

如何縮短Vivado的運行時間

可采用如下一些方法縮短運行時間。

Implementation Strategy

如果只是評估資源利用率,可使用Flow_Quick策略。該策略不是時序驅動的策略,因此可以快速執行Implementation。策略Flow_RuntimeOptimized是時序驅動的策略,可以快速完成Implementation,它是設計性能和運行時間之間一種折中。

檢查約束

對于時序約束,我們要求“干凈且合理”。所謂“干凈”,是指約束完備,不會出現漏約或者約束被覆蓋的情形。例如,由于set_clock_groups的優先級高于set_max_delay,這就有可能造成后者的約束被覆蓋。所謂“合理”,是指約束的數值是正確的。這在多周期路徑約束以及跨時鐘域路徑約束中會經常碰到,對于這類路徑要格外注意。例如,如果多周期路徑的hold requirement不是0,那么有可能就是約束不合理;如果跨時鐘域路徑的path requirement為1ns,這也是不合理的。

此外,在用Tcl命令時,盡可能地去緩存被復用的對象。例如,如果通過get_nets獲得的一組nets在后續約束中被反復使用,那么可將get_nets的返回結果賦給一個變量,后續使用時只需調用該變量即可。同時,通過選項-filter找到更準確的對象,例如:對于時序路徑,通過屬性IS_SEQUENTIAL找到時序單元,從而避免了獲得其他一些不期望的結果。

約束路徑越具體越節省運行時間,例如:如果set_false_path只使用了-from選項,那么Vivado在搜索這些路徑時就會比較耗時。

管理生成報告

生成報告也會消耗一些時間。Vivado提供了Report strategy,如下圖所示。根據設計分析的需求選擇生成報告可節省一定的運行時間。

如何縮短Vivado的運行時間

布線

擁塞對運行時間有很大的影響。因此,如果設計出現了擁塞問題,就要把其作為首要問題去解決。同時,在route_design階段,使用選項-ultrathreads也可縮短運行時間。

增量編譯

如果設計只是有一小部分改動,那么可嘗試增量Implementation。這在一定程度上也會縮短運行時間。

設置多線程

Vivado 2018.x的版本,無論是Synthesis還是Implementation,都可以支持多線程。只需要通過如下命令即可設置線程個數。對于Synthesis,最大線程數為4,對于Implementation,最大線程數為8。

如何縮短Vivado的運行時間

ECO流程

對于微小的改動,例如修改ILA的Debug probes或者把內部net鏈接到某個Package Pin,都可以采用ECO流程,可以極大地縮短運行時間。ECO具體流程可看這里(替換Debug Probes其實很簡單),文檔ug904中也有詳細介紹。

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

    關注

    18

    文章

    791

    瀏覽量

    65293
  • 時序驅動
    +關注

    關注

    0

    文章

    4

    瀏覽量

    1484

原文標題:如何縮短Vivado運行時間

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

收藏 人收藏

    評論

    相關推薦

    如何檢查Linux服務器的運行時間

    Linux 中的 uptime 用于查看系統啟動后的運行時間。它是一個比較簡單的 Linux 命令,可以不帶參數直接運行。
    發表于 11-25 15:25 ?1.5w次閱讀
    如何檢查Linux服務器的<b class='flag-5'>運行時間</b>

    運行時錯誤Vivado 2016.2

    消息。在此之后我甚至無法打開檢查點 - 如果我正在嘗試打開dcp,我將收到運行時錯誤“R6025 -pure虛函數調用”。在本主題中看起來像是一個錯誤:得到-R6025-運行時錯誤 - 運行 - 解構
    發表于 10-30 18:02

    雙電池電源管理器使運行時間延長12%,并將充電時間縮短一半

    DN277- 雙電池電源管理器使運行時間延長12%,并將充電時間縮短一半
    發表于 08-12 08:06

    freertos的任務運行時間怎么設置

    對于相同優先級的任務采用時間片輪詢的方式運行,那比如說有兩個優先級都為5的任務,那這兩個任務的運行時間如何設置呢?在rt-thread中創建任務時就可以設置任務的運行時間,在freer
    發表于 07-19 08:03

    C語言教程之顯示程序運行時間

    C語言教程之顯示程序運行時間,很好的C語言資料,快來學習吧。
    發表于 04-25 16:09 ?0次下載

    電機運行時間進行排列 是分為兩個部分來完成這個程序的設計的

    前幾天有個學員咨詢一個程序設計的問題,程序的控制要求如下:需要控制5臺電機的運行,每臺電機運行時需要記錄運行時間,電機啟動運行時,根據記錄的運行時間
    的頭像 發表于 07-19 08:57 ?6557次閱讀
    電機<b class='flag-5'>運行時間</b>進行排列 是分為兩個部分來完成這個程序的設計的

    DN277-雙電池電源管理器將運行時間提高12%,并將充電時間縮短一半

    DN277-雙電池電源管理器將運行時間提高12%,并將充電時間縮短一半
    發表于 04-27 15:35 ?1次下載
    DN277-雙電池電源管理器將<b class='flag-5'>運行時間</b>提高12%,并將充電<b class='flag-5'>時間</b><b class='flag-5'>縮短</b>一半

    Vivado運行時出現visual c++運行錯誤該如何解決

    Vivado運行時出現visual c++運行錯誤的解決辦法Win10系統中運行Vivado一直好好的,某一天突然出現visual c++
    的頭像 發表于 10-21 14:56 ?4015次閱讀
    <b class='flag-5'>Vivado</b>中<b class='flag-5'>運行時</b>出現visual c++<b class='flag-5'>運行</b>錯誤該如何解決

    如何高效測量ECU的運行時間

    ,最終可能會引起運行時間方面的問題。這在項目后期需要大量的時間和金錢來解決。如果不能掌握系統的運行狀態,則很難發現系統內缺陷的根源。 解決方案 將TA軟件工具套件與VX1000測量標定硬件相結合,可同步分析 ECU內部
    的頭像 發表于 10-28 11:05 ?1885次閱讀

    淺析STM32代碼運行時間的技巧

    前言 ????測試代碼的運行時間的兩種方法: 使用單片機內部定時器,在待測程序段的開始啟動定時器,在待測程序段的結尾關閉定時器。為了測量的準確性,要進行多次測量,并進行平均取值。 借助示波器的方法
    的頭像 發表于 11-09 09:52 ?3416次閱讀
    淺析STM32代碼<b class='flag-5'>運行時間</b>的技巧

    了解如何讓您的汽車電池更穩定、運行時間更長

    了解如何讓您的汽車電池更穩定、運行時間更長
    發表于 11-01 08:27 ?0次下載
    了解如何讓您的汽車電池更穩定、<b class='flag-5'>運行時間</b>更長

    Go運行時:4年之后

    自 2018 年以來,Go GC,以及更廣泛的 Go 運行時,一直在穩步改進。近日,Go 社區總結了 4 年來 Go 運行時的一些重要變化。
    的頭像 發表于 11-30 16:21 ?551次閱讀

    雙電池電源管理器將運行時間延長12%,充電時間縮短一半

    為了節省空間并提供更長的電池運行時間,許多高性能筆記本電腦支持雙可插拔電池,其中每個電池托架可以容納一個電池或一個可選的外圍設備。兩塊電池顯然比一塊電池好,比單節電池提供更長的運行時間,但它們能好多
    的頭像 發表于 02-13 10:34 ?929次閱讀

    單片雙電池電源管理器可延長運行時間縮短充電時間

    效的方法是并行充電和放電,與順序系統相比,它可以使單個電池的運行時間增加一倍以上,并將充電時間縮短一半。雖然長期以來一直可以并聯多個電池的充電和放電,但到目前為止,很難設計出電路來做到這一點。
    的頭像 發表于 03-09 16:39 ?1152次閱讀
    單片雙電池電源管理器可延長<b class='flag-5'>運行時間</b>并<b class='flag-5'>縮短</b>充電<b class='flag-5'>時間</b>

    ch32v307記錄程序運行時間

    ch32v307記錄程序運行時間 在程序開發中,很重要的一項任務就是對程序的運行時間進行評估。對于大型的程序系統來說,它們通常需要處理大量的數據或進行復雜的計算操作。因此,如果程序的運行時間過長
    的頭像 發表于 08-22 15:53 ?503次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>