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

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

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

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

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

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

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

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

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

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

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

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

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

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

流程

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

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

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

當(dāng)前,自動(dòng)模式和非自動(dòng)模式均受支持。要啟用自動(dòng)模式,您可打開實(shí)現(xiàn)設(shè)置,并選中“Automatically use the checkpoint from the previous run”(自動(dòng)使用上一輪運(yùn)行的檢查點(diǎn))選項(xiàng)。如不勾選自動(dò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í)序,那么此流程對(duì)編譯時(shí)間的助益最大。

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

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

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

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

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

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

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

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

高復(fù)用模式:?jiǎn)卧獜?fù)用百分比高于 75% 時(shí),就進(jìn)入高復(fù)用模式。在高復(fù)用模式下,會(huì)對(duì)布局布線算法進(jìn)行最優(yōu)化,以便盡可能提高現(xiàn)有布局布線信息的復(fù)用率。高復(fù)用模式對(duì)于參考檢查點(diǎn)已達(dá)成時(shí)序收斂并且單元復(fù)用率不低于 95% 的設(shè)計(jì)最有效。舉例來(lái)說(shuō),在參考設(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)。這會(huì)耗費(fèi)更多編譯時(shí)間。

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

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

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

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

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

通過(guò)啟用多線程可以進(jìn)一步縮短實(shí)現(xiàn)的編譯時(shí)間。目前對(duì)于 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)表的更改量對(duì)增量運(yùn)行時(shí)間的影響可能更大。

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

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

總結(jié):

通過(guò)采用增量實(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)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1369

    瀏覽量

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

    關(guān)注

    4

    文章

    596

    瀏覽量

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

    關(guān)注

    0

    文章

    30

    瀏覽量

    17304
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    815

    瀏覽量

    66923
  • MWNs
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    5367

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

    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ī)模越來(lái)越大,編譯時(shí)間越來(lái)越長(zhǎng)。解決問(wèn)題的方法通常來(lái)說(shuō)應(yīng)該從工具和設(shè)計(jì)入手。
    的頭像 發(fā)表于 08-04 09:16 ?6766次閱讀

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

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

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

    了解使用Vivado 2016.1中引入的增量編譯流程進(jìn)行調(diào)試的好處,以及在使用增量編譯實(shí)現(xiàn)時(shí)添加/刪除/修改ILA內(nèi)核所需的步驟。
    的頭像 發(fā)表于 11-30 06:19 ?3050次閱讀
    引入<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)化和自動(dòng)增量編譯流程。
    的頭像 發(fā)表于 11-29 06:32 ?3765次閱讀

    Vivado 2015.3的新增量編譯功能

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

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

    當(dāng)RTL代碼修改較少時(shí),使用增量編譯功能可以提高工程的編譯速度,Incremental Compile增量編譯是Vivado提供的一項(xiàng)高階功
    的頭像 發(fā)表于 01-22 17:27 ?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ì)改動(dòng)較小的情形下參考原始設(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 ?1812次閱讀
    Quartus中的邏輯鎖定與<b class='flag-5'>增量</b><b class='flag-5'>編譯</b>

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

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

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

    增量綜合的工作方式與增量實(shí)現(xiàn)流程相似,但僅適用于綜合階段,并且不會(huì)對(duì)緊隨其后的實(shí)現(xiàn)階段給予引導(dǎo)。
    的頭像 發(fā)表于 09-08 11:01 ?620次閱讀
    使用<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í)間

    這篇博文介紹了多種自動(dòng)生成報(bào)告的有效途徑,以便您在嘗試對(duì)設(shè)計(jì)中特定階段所耗用的編譯時(shí)間進(jìn)行調(diào)試時(shí)使用,例如,自動(dòng)報(bào)告加載設(shè)計(jì)約束的時(shí)間、每條命令的持續(xù)時(shí)間,甚至是跨多個(gè)設(shè)計(jì)的運(yùn)行
    的頭像 發(fā)表于 09-15 10:44 ?906次閱讀
    利用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)容就會(huì)減少,編譯
    的頭像 發(fā)表于 10-09 16:48 ?2994次閱讀
    Vivado那些事兒:<b class='flag-5'>節(jié)省</b><b class='flag-5'>編譯</b><b class='flag-5'>時(shí)間</b><b class='flag-5'>系列</b>文章
    主站蜘蛛池模板: 无毒不卡在线观看 | 婷婷涩五月 | 免费视频一区二区 | 黄色午夜视频 | 午夜欧美视频 | 欧美深夜福利 | 欧美网站在线播放 | 亚洲大成色www永久网 | 网站在线观看你懂的 | 日本一区二区免费在线观看 | 中文天堂在线www | 五月婷六月丁香 | 成人一二 | 免费中国一级啪啪片 | 又黑又长黑人欧美三级 | 五月丁香六月综合缴清无码 | 久久久久久国产精品免费免费 | 天天射天天舔 | 尤物久久99热国产综合 | 一级毛片日韩 | 91精品国产91久久久久青草 | 久久草在线视频国产一 | 亚洲国产日韩精品怡红院 | 日韩精品视频免费观看 | 在线观看一二三区 | 超级乱淫视频播放日韩 | 国产一级大片在线观看 | 国产激爽大片在线播放 | 全黄h全肉边做边吃奶在线观看 | 五月婷婷中文字幕 | 国产拍拍拍免费视频网站 | 欧美性黑人极品hd网站 | 无毒不卡在线播放 | 午夜三级在线 | 日本在线视频精品 | 国产三级精品播放 | 四虎影院新网址 | 在线观看黄日本高清视频 | 欧美一级片网址 | 老师别揉我胸啊嗯上课呢视频 | 亚洲一区二区福利视频 |