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

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

節(jié)省編譯時(shí)間系列-使用增量實(shí)現(xiàn)

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 2023-09-01 09:36 ? 次閱讀

增量實(shí)現(xiàn)自從首次獲得支持以來,不斷升級演變,在此過程中已添加了多項(xiàng)針對性能和編譯時(shí)間的增強(qiáng)功能。它解決了實(shí)現(xiàn)階段針對快速迭代的需求,顯著節(jié)省了編譯時(shí)間,還能確保所得結(jié)果和性能的可預(yù)測性。

以下圖表顯示了在一整套困難的設(shè)計(jì)上采用增量實(shí)現(xiàn)流程后,所節(jié)省的編譯時(shí)間的變化趨勢:

54b0c9ce-47ee-11ee-97a6-92fbcf53809c.png

圖 1:2019.1 內(nèi)部設(shè)計(jì)和外部設(shè)計(jì)通過增量實(shí)現(xiàn)流程節(jié)省的編譯時(shí)間

54c6ac3a-47ee-11ee-97a6-92fbcf53809c.png

圖 2:2019.1 利用增量實(shí)現(xiàn)流程保證 QoR 可預(yù)測性

圖 1 顯示,對于運(yùn)行時(shí)間超過 2 小時(shí)的設(shè)計(jì),使用該流程前的編譯時(shí)間平均為使用后編譯時(shí)間的 2.12 倍(設(shè)計(jì)更改最多為 10%),節(jié)省編譯時(shí)間效果顯著。

圖 2 顯示了少量 RTL 更改的 QoR 可預(yù)測性指標(biāo)。ΔWNS 顯示的是相較于參考運(yùn)行輪次的 WNS 降幅。顯而易見,相比于默認(rèn)運(yùn)行輪次,增量編譯所得 QoR 可預(yù)測性更好。例外情況是,設(shè)計(jì)越小,初始化步驟在編譯總時(shí)間中占用時(shí)間越多,所以應(yīng)用增量編譯給設(shè)計(jì)編譯時(shí)間帶來的助益就越少。

流程

工程模式和非工程模式都支持此流程。如果您使用 read_checkpoint -incremental 命令加載參考設(shè)計(jì)檢查點(diǎn),并且指向參考 DCP 位置和名稱,那么即可對后續(xù)布局布線操作啟用增量編譯設(shè)計(jì)流程。

在非工程模式下,read_checkpoint -incremental 應(yīng)晚于 opt_design 而早于 place_design。

54e1c2c2-47ee-11ee-97a6-92fbcf53809c.png

當(dāng)前,自動模式和非自動模式均受支持。要啟用自動模式,您可打開實(shí)現(xiàn)設(shè)置,并選中“Automatically use the checkpoint from the previous run”(自動使用上一輪運(yùn)行的檢查點(diǎn))選項(xiàng)。如不勾選自動模式,也可將用戶所需的 DCP 指定為參考檢查點(diǎn),以便指引后續(xù)輪次的運(yùn)行。

55059db4-47ee-11ee-97a6-92fbcf53809c.png

何時(shí)使用此流程:

如果設(shè)計(jì)代碼穩(wěn)定并且可以后續(xù)執(zhí)行少量代碼修改,或者如果您當(dāng)前正致力于時(shí)序收斂的最后沖刺階段并且已接近完成,那么此流程很有用。在這兩種情況下,您可能希望每個(gè)實(shí)現(xiàn)版本的生成周期都很短。

增量實(shí)現(xiàn)流程從參考檢查點(diǎn)讀取布局布線信息,并與當(dāng)前 opt_design 后網(wǎng)表進(jìn)行匹配比較。匹配的單元將得到復(fù)用,新添加的邏輯經(jīng)最優(yōu)化后,將在默認(rèn)流程中運(yùn)行。匹配的單元與不匹配的單元之間也將進(jìn)行交叉最優(yōu)化。

因此,如果大部分邏輯可復(fù)用,并且設(shè)計(jì)接近滿足時(shí)序,那么此流程對編譯時(shí)間的助益最大。

另一個(gè)用例是,如果您的設(shè)計(jì)困難,且距離收斂相去甚遠(yuǎn),但您想要在某些級別復(fù)用此設(shè)計(jì)(例如,SLR 級別、塊類型級別、模塊級別),那么也可以使用此流程。在此情況下,您可將增量模式更改為部分復(fù)用模式。

例如,以下約束行的效果等同于將所有 RAM 的位置從網(wǎng)表都反標(biāo)注釋到 XDC 內(nèi)并在下一輪運(yùn)行中應(yīng)用約束:

read_checkpoint -incremental routed.dcp -reuse_objects [all_rams] -fix_objects [all_rams]

可能影響增量實(shí)現(xiàn)編譯時(shí)間的因素:

采用此流程前,請注意以下要點(diǎn),這些要點(diǎn)有助于您充分發(fā)揮增量流程優(yōu)勢:

選擇正確的檢查點(diǎn)。您需確保參考檢查點(diǎn)與受指引的設(shè)計(jì)處于同一器件內(nèi),實(shí)現(xiàn)時(shí)采用的 Vivado 版本與當(dāng)前運(yùn)行采用的版本相同。如果采用不同版本生成 DCP,可能會導(dǎo)致單元匹配減少,并且節(jié)省的編譯時(shí)間不及預(yù)期。

限制時(shí)序關(guān)鍵面積內(nèi)的更改量,確保設(shè)計(jì)收斂的一致性和時(shí)序收斂。設(shè)計(jì)邏輯中更改過多可能會導(dǎo)致指引的結(jié)果欠佳或編譯時(shí)間延長。如果不能復(fù)用關(guān)鍵路徑的布局和布線,則需要做更多工作來保留時(shí)序。另外,如果少量設(shè)計(jì)更改引入了參考設(shè)計(jì)中不存在的新時(shí)序問題,則可能需要增加工作量和運(yùn)行時(shí)間,而且設(shè)計(jì)可能不滿足時(shí)序。請始終確保所用 opt_design 指令匹配,因?yàn)楦?opt_design 可能導(dǎo)致更多單元名稱發(fā)生更改。

如果啟用自動模式,那么僅當(dāng)參考運(yùn)行的時(shí)序 >-0.250 ns 時(shí),才會更新參考檢查點(diǎn),換言之,您的參考檢查點(diǎn)的時(shí)序必須足夠好。

參考網(wǎng)表欠佳可能導(dǎo)致編譯時(shí)間延長。如果不更新參考檢查點(diǎn),并且存在來自先前運(yùn)行的現(xiàn)有檢查點(diǎn),那么 Vivado 會嘗試使用該現(xiàn)有檢查點(diǎn)作為參考檢查點(diǎn)。否則,不存在參考檢查點(diǎn)時(shí),它會還原為默認(rèn)實(shí)現(xiàn)流程。
遵循默認(rèn)運(yùn)行行為時(shí),Vivado 會遵循用戶所選的運(yùn)行策略,編譯時(shí)間與非增量運(yùn)行接近。

如果運(yùn)行開始后存在檢查點(diǎn)(無論是更新還是預(yù)先存在的參考檢查點(diǎn)),就會運(yùn)行與設(shè)計(jì)網(wǎng)表更改相關(guān)的第二種檢查算法,僅當(dāng)滿足所要求的標(biāo)準(zhǔn)時(shí)才會使用增量流程。如果這些條件都沒有得到滿足,流程會自動回退到默認(rèn)實(shí)現(xiàn)流程,在讀取檢查點(diǎn)增量后會發(fā)出以下信息:

WARNING: [Project 1-964] Cell Matching is less than the threshold needed to run Incremental flow. Switching to default Implementation flow

高復(fù)用模式:單元復(fù)用百分比高于 75% 時(shí),就進(jìn)入高復(fù)用模式。在高復(fù)用模式下,會對布局布線算法進(jìn)行最優(yōu)化,以便盡可能提高現(xiàn)有布局布線信息的復(fù)用率。高復(fù)用模式對于參考檢查點(diǎn)已達(dá)成時(shí)序收斂并且單元復(fù)用率不低于 95% 的設(shè)計(jì)最有效。舉例來說,在參考設(shè)計(jì)與當(dāng)前設(shè)計(jì)之間存在少量設(shè)計(jì)更改,或者向設(shè)計(jì)添加調(diào)試核的情況下都是如此。

有 3 條指令可供 place_design 和 route_design 使用:

Default(默認(rèn)):獲取與參考運(yùn)行盡可能接近的結(jié)果。以參考設(shè)計(jì) WNS 為目標(biāo)。此模式能為典型用例達(dá)成最優(yōu)化的編譯時(shí)間。

Explore(探索):嘗試盡可能改善時(shí)序。以 0.00 ns WNS 為目標(biāo)。這會耗費(fèi)更多編譯時(shí)間。

Quick(快速):運(yùn)行布局布線命令,不調(diào)用時(shí)序引擎。這可提供最優(yōu)化的編譯時(shí)間,在復(fù)用率高達(dá) > 99.5% 的部分設(shè)計(jì)中,不影響 QoR。

低復(fù)用模式:如果設(shè)計(jì)相較參考檢查點(diǎn)存在大量更改,或者如果用戶對 read_checkpoint 命令使用-only_reuse 開關(guān),指定僅復(fù)用參考檢查點(diǎn)中的少量單元,則進(jìn)入低復(fù)用模式。

在低復(fù)用模式下,支持所有 place_design 指令和 route_design 指令,并且該工具將以 0.00 ns 的 WNS 為目標(biāo)。相比于高復(fù)用模式,這樣可能會耗用更多編譯時(shí)間。低復(fù)用模式對于在特定面積內(nèi)難以完成布局布線的設(shè)計(jì)最有效。例如,復(fù)用正常運(yùn)行的塊存儲器或 DSP 布局,或者復(fù)用間歇性達(dá)成時(shí)序收斂設(shè)計(jì)的特定層級。

布局布線運(yùn)行時(shí)間的初始化部分。

在簡短的布局布線運(yùn)行中,Vivado 布局器和布線器的初始化開銷可能會抵消來自增量布局布線進(jìn)程的任何增益。對于運(yùn)行時(shí)間較長的設(shè)計(jì),初始化在運(yùn)行時(shí)間中所占的比例較小,因此編譯時(shí)間增益明顯。

通過啟用多線程可以進(jìn)一步縮短實(shí)現(xiàn)的編譯時(shí)間。目前對于 Linux 系統(tǒng),最大上限是 8 個(gè)線程。set_param general.maxThreads 8

生成增量編譯時(shí)間節(jié)省報(bào)告:

運(yùn)行 report_incremental_reuse 命令,生成顯示增量復(fù)用情況的報(bào)告。此報(bào)告的第 3 部分列出了編譯時(shí)間(elapsed 和 cpu),顯示了每一步耗費(fèi)的編譯時(shí)間。

由于增量運(yùn)行的指引作用僅從 place_design 階段開始,您需要注意,增量運(yùn)行所涉時(shí)間將包含用于讀入?yún)⒖紮z查點(diǎn)的 read_checkpoint 步驟,并且增量編譯時(shí)間的比較應(yīng)僅從 place_design 開始。

下表顯示了包含 read_checkpoint 在內(nèi)的每個(gè)階段的時(shí)間。此外,新網(wǎng)表的更改量對增量運(yùn)行時(shí)間的影響可能更大。

請注意,增量運(yùn)行中的 phys_opt_design 步驟是可選步驟,在流程中調(diào)用該步驟時(shí),它將以默認(rèn)模式運(yùn)行,以進(jìn)一步優(yōu)化未受指引的路徑或已更改的路徑,對復(fù)用的路徑?jīng)]有影響。

5532db1c-47ee-11ee-97a6-92fbcf53809c.png

總結(jié):

通過采用增量實(shí)現(xiàn)流程,可以實(shí)現(xiàn)快速迭代的實(shí)現(xiàn)運(yùn)行,但在運(yùn)行此流程時(shí)需要考慮編譯時(shí)間和 QoR(質(zhì)量結(jié)果)方面的妥協(xié)。







審核編輯:劉清
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1391

    瀏覽量

    116986
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    604

    瀏覽量

    28398
  • DCP
    DCP
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    17526
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    834

    瀏覽量

    68371
  • MWNs
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    5402

原文標(biāo)題:開發(fā)者分享|節(jié)省編譯時(shí)間系列-使用增量實(shí)現(xiàn)

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

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

    增量編譯:使用增量編譯滿足最后時(shí)刻 HDL 變動需求,僅針對已變動邏輯進(jìn)行布局布線,從而可節(jié)省時(shí)間
    的頭像 發(fā)表于 12-13 10:14 ?6006次閱讀

    誰能縮短大容量FPGA的編譯時(shí)間增量編譯QIC!

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

    Vivado中的Incremental Compile增量編譯技術(shù)詳解

    Incremental Compile增量編譯是Vivado提供的一項(xiàng)高階功能。目的旨在當(dāng)設(shè)計(jì)微小的改變時(shí),重用綜合和布局布線的結(jié)果,縮短編譯時(shí)間
    的頭像 發(fā)表于 07-05 06:06 ?1.1w次閱讀

    如何節(jié)省FPGA編譯時(shí)間

    FPGA到最后自然是規(guī)模越來越大,編譯時(shí)間越來越長。解決問題的方法通常來說應(yīng)該從工具和設(shè)計(jì)入手。
    的頭像 發(fā)表于 08-04 09:16 ?6980次閱讀

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

    了解Vivado實(shí)現(xiàn)中2015.3中的新增量編譯功能,包括更好地處理物理優(yōu)化和自動增量編譯流程。
    的頭像 發(fā)表于 11-20 06:56 ?3059次閱讀

    引入增量編譯流程進(jìn)行調(diào)試的好處與步驟

    了解使用Vivado 2016.1中引入的增量編譯流程進(jìn)行調(diào)試的好處,以及在使用增量編譯實(shí)現(xiàn)時(shí)添加/刪除/修改ILA內(nèi)核所需的步驟。
    的頭像 發(fā)表于 11-30 06:19 ?3196次閱讀
    引入<b class='flag-5'>增量</b><b class='flag-5'>編譯</b>流程進(jìn)行調(diào)試的好處與步驟

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

    了解Vivado實(shí)現(xiàn)中2015.3中的新增量編譯功能,包括更好地處理物理優(yōu)化和自動增量編譯流程。
    的頭像 發(fā)表于 11-29 06:32 ?3936次閱讀

    Vivado 2015.3的新增量編譯功能

    了解Vivado實(shí)現(xiàn)中2015.3中的新增量編譯功能,包括更好地處理物理優(yōu)化和自動增量編譯流程。
    的頭像 發(fā)表于 11-30 19:24 ?4767次閱讀

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

    當(dāng)RTL代碼修改較少時(shí),使用增量編譯功能可以提高工程的編譯速度,Incremental Compile增量編譯是Vivado提供的一項(xiàng)高階功
    的頭像 發(fā)表于 01-22 17:27 ?1.1w次閱讀
    講述<b class='flag-5'>增量</b><b class='flag-5'>編譯</b>方法,提高Vivado<b class='flag-5'>編譯</b>效率

    Vivadoz中增量編譯與設(shè)計(jì)鎖定

    關(guān)于增量編譯所謂增量實(shí)現(xiàn),更嚴(yán)格地講是增量布局和增量布線。它是在設(shè)計(jì)改動較小的情形下參考原始設(shè)計(jì)
    發(fā)表于 12-20 19:11 ?6次下載
    Vivadoz中<b class='flag-5'>增量</b><b class='flag-5'>編譯</b>與設(shè)計(jì)鎖定

    Quartus中的邏輯鎖定與增量編譯

    邏輯鎖定功能可以將FPGA中的代碼模塊在固定區(qū)域實(shí)現(xiàn),優(yōu)化時(shí)序性能,提升設(shè)計(jì)可靠性。 增量編譯功能,可以使設(shè)計(jì)更快速時(shí)序收斂,加快編譯速度。
    的頭像 發(fā)表于 05-25 11:22 ?2235次閱讀
    Quartus中的邏輯鎖定與<b class='flag-5'>增量</b><b class='flag-5'>編譯</b>

    Xilinx Vivado使用增量實(shí)現(xiàn)

    增量實(shí)現(xiàn)自從首次獲得支持以來,不斷升級演變,在此過程中已添加了多項(xiàng)針對性能和編譯時(shí)間的增強(qiáng)功能。它解決了實(shí)現(xiàn)階段針對快速迭代的需求,顯著
    的頭像 發(fā)表于 09-04 10:07 ?1210次閱讀
    Xilinx Vivado使用<b class='flag-5'>增量</b><b class='flag-5'>實(shí)現(xiàn)</b>

    使用增量綜合節(jié)省編譯時(shí)間

    增量綜合的工作方式與增量實(shí)現(xiàn)流程相似,但僅適用于綜合階段,并且不會對緊隨其后的實(shí)現(xiàn)階段給予引導(dǎo)。
    的頭像 發(fā)表于 09-08 11:01 ?792次閱讀
    使用<b class='flag-5'>增量</b>綜合<b class='flag-5'>節(jié)省</b><b class='flag-5'>編譯</b><b class='flag-5'>時(shí)間</b>

    利用Tcl腳本節(jié)省編譯時(shí)間

    這篇博文介紹了多種自動生成報(bào)告的有效途徑,以便您在嘗試對設(shè)計(jì)中特定階段所耗用的編譯時(shí)間進(jìn)行調(diào)試時(shí)使用,例如,自動報(bào)告加載設(shè)計(jì)約束的時(shí)間、每條命令的持續(xù)時(shí)間,甚至是跨多個(gè)設(shè)計(jì)的運(yùn)行
    的頭像 發(fā)表于 09-15 10:44 ?1171次閱讀
    利用Tcl腳本<b class='flag-5'>節(jié)省</b><b class='flag-5'>編譯</b><b class='flag-5'>時(shí)間</b>

    Vivado那些事兒:節(jié)省編譯時(shí)間系列文章

    雖然想必您知道,在綜合或實(shí)現(xiàn)階段,增量運(yùn)行可以從參考文件中讀取和復(fù)制信息,但僅在某些階段中能節(jié)省時(shí)間,如果網(wǎng)表發(fā)生大量更改,其中引用的內(nèi)容就會減少,編譯
    的頭像 發(fā)表于 10-09 16:48 ?3563次閱讀
    Vivado那些事兒:<b class='flag-5'>節(jié)省</b><b class='flag-5'>編譯</b><b class='flag-5'>時(shí)間</b><b class='flag-5'>系列</b>文章
    主站蜘蛛池模板: 色老二精品视频在线观看 | 99久久99久久精品国产 | se97se成人亚洲网站 | www.亚洲色图.com | 狠狠色狠狠色狠狠五月ady | 成人免费看毛片 | 你懂的网站在线 | 激情九月 | 伊人久久大香线蕉电影院 | 深夜视频在线免费 | 在线免费视频网站 | 亚洲成熟 | 黄色小视频日本 | 中文字幕佐山爱一区二区免费 | 成人在线免费网站 | 开心激情婷婷 | 能看毛片的网址 | 久久久久久免费观看 | 国产成人系列 | www天堂在线| 亚洲成年网站 | 香蕉免费在线视频 | 日日添天天做天天爱 | 国产高清色视频免费看的网址 | 狠狠色综合久久久久尤物 | 天天在线影院 | 椎名空中文字幕一区二区 | 久久精品视频5 | 国产精品视频第一区二区三区 | 天天爽天天狼久久久综合 | 精品无码中出一区二区 | 美女无遮挡拍拍拍免费视频 | 免费中国jlzzjlzz在线播放 | 五月激情站| 国产91小视频在线观看 | 四虎在线永久视频观看 | 一区二区影院 | 爱爱免费小视频 | 免费看黄视频 | 色色色色网站 | 亚洲黄色第一页 |