那曲檬骨新材料有限公司

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
    +關注

    關注

    19

    文章

    815

    瀏覽量

    66883
  • 時序驅動
    +關注

    關注

    0

    文章

    4

    瀏覽量

    1517

原文標題:如何縮短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次下載

    如何用SysTick實現測量程序運行時間

    在實際的項目開發過程中,常常遇到需要得到一段代碼的運行時間,通常的方法是用示波器來測量,這篇博文將用 SysTick 來實現 精確測量 程序運行時間。 STM32F4 的內核定時器SysTick是一個24位的定時器,需要注
    的頭像 發表于 05-09 14:07 ?6117次閱讀
    如何用SysTick實現測量程序<b class='flag-5'>運行時間</b>

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

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

    最大化延長即使具有老化電池的汽車電池組運行時間

    最大化延長即使具有老化電池的汽車電池組運行時間
    發表于 03-20 12:44 ?9次下載
    最大化延長即使具有老化電池的汽車電池組<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>一半

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

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

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

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

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

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

    ch32v307記錄程序運行時間

    ch32v307記錄程序運行時間 在程序開發中,很重要的一項任務就是對程序的運行時間進行評估。對于大型的程序系統來說,它們通常需要處理大量的數據或進行復雜的計算操作。因此,如果程序的運行時間過長
    的頭像 發表于 08-22 15:53 ?957次閱讀

    西門子SCL編程50臺電機運行時間累計方法

    當RUN信號為TRUE時,開始計時,為FALSE時停止計時,單次運行時間清零,長按RESET為5秒時,單次和總運行時間都清零。
    發表于 11-27 09:59 ?2059次閱讀
    西門子SCL編程50臺電機<b class='flag-5'>運行時間</b>累計方法

    三菱plc累計運行時間怎么編程

    具有重要意義。本文將詳細介紹如何使用三菱PLC編程實現累計運行時間的統計功能。 一、概述 累計運行時間是指設備或系統在一定時間內的總運行時間。在工業生產中,對設備的累計
    的頭像 發表于 06-20 11:31 ?2520次閱讀
    真钱百家乐官网注册送| 大发888玩法| 百家乐机械投注法| 百家乐庄闲的分布| 澳门百家乐出千| 澳门百家乐打缆| 现场百家乐百家乐| 百家乐路单| 全讯网90| 大发888公司赌场| 利来娱乐开户| 百家乐官网如何看面| 百家乐官网网上投注作弊| 百家乐官网遥控洗牌器| 百家乐官网路书| 百家乐怎么才赢| 百家乐算牌方| 大发888老虎机技巧| 六合彩历史开奖记录| 网络百家乐官网可靠吗| 百家乐官网稳赢秘笈| 百家乐官网翻天在线观看| 新2百家乐娱乐城| 百家乐倍投| 夜总会百家乐的玩法技巧和规则 | 绩溪县| 百家乐官网tt娱乐网| 百家乐微笑心法搜索| 百家乐牡丹娱乐城| 智尊国际娱乐| 百家乐官网注册送10彩金| 杨公24山日课应验诀| 盐城百家乐的玩法技巧和规则| 星空棋牌大厅下载| 百家乐官网2万| 免费百家乐官网统计软件| 荷规则百家乐的玩法技巧和规则 | 大发888游戏充值50| 欧洲娱乐场| 粤港澳百家乐官网娱乐平台| 百家乐双层筹码盘|