在线观看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í)間

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

增量綜合流程:

增量綜合的工作方式與增量實(shí)現(xiàn)流程相似,但僅適用于綜合階段,并且不會(huì)對(duì)緊隨其后的實(shí)現(xiàn)階段給予引導(dǎo)。

此流程需獨(dú)立的綜合參考文件(綜合后 DCP),因此您需完成初始綜合運(yùn)行以獲取首個(gè)綜合后 DCP 文件。增量運(yùn)行會(huì)復(fù)用設(shè)計(jì)中未更改的部分,并且僅對(duì)已更改的部分進(jìn)行重新綜合。復(fù)用的各部分會(huì)在分區(qū)級(jí)別予以保留。

以下圖表顯示了含腳本的非工程流程:

9293ed86-4d6e-11ee-a25d-92fbcf53809c.png

圖:增量流程圖表

在 GUI 中支持通過以下兩種方法來指定參考檢查點(diǎn):

使用自動(dòng)增量參考檢查點(diǎn)(當(dāng)前僅在 GUI 中受支持)

使用用戶指定的參考檢查點(diǎn)

要在工程模式下啟用自動(dòng)模式,請(qǐng)打開綜合設(shè)置,并選中“Automatically use the checkpoint from the previous run”(自動(dòng)使用上一輪運(yùn)行的檢查點(diǎn))選項(xiàng)。

在此模式下,綜合運(yùn)行將把最近的綜合后網(wǎng)表自動(dòng)復(fù)制到工程目錄本地的 /project.srcs/utils_1/import/design 區(qū)域內(nèi)。

完成整個(gè)流程后,新布線的檢查點(diǎn)即可立即用作為下一輪運(yùn)行的參考檢查點(diǎn),并在運(yùn)行復(fù)位時(shí)進(jìn)行更新。 如不勾選自動(dòng)模式,也可輸入用戶指定的 DCP 作為參考檢查點(diǎn),以便引導(dǎo)后續(xù)輪次的運(yùn)行。

92c9defa-4d6e-11ee-a25d-92fbcf53809c.png

圖:設(shè)計(jì)運(yùn)行設(shè)置

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

當(dāng)設(shè)計(jì)所含實(shí)例數(shù)量超過 50K 時(shí),始終建議啟用此流程。如果設(shè)計(jì)太小,由于改善的空間不夠大,將忽略增量模式,設(shè)計(jì)將以正常流程運(yùn)行。

當(dāng)綜合運(yùn)行超過 20 分鐘時(shí),采用增量綜合流程前后的運(yùn)行時(shí)間平均比值為 2.06,改善顯而易見。下圖顯示了 26 個(gè)大型設(shè)計(jì)的加速趨勢(shì),在對(duì)設(shè)計(jì)進(jìn)行有限的更改時(shí),可節(jié)省大量編譯時(shí)間(低至更改前的四分之一)。

下表所示每項(xiàng)設(shè)計(jì)所耗用的時(shí)間也證明,小幅更改設(shè)計(jì)的前提下,參考運(yùn)行時(shí)間越長(zhǎng),通過增量運(yùn)行節(jié)省的時(shí)間就越多。因此,大型設(shè)計(jì)利用該流程獲益頗豐。

建議您始終為大型設(shè)計(jì)啟用自動(dòng)模式來運(yùn)行增量綜合。但要立即使用增量綜合,必須向參考檢查點(diǎn)寫入綜合數(shù)據(jù)。為此,可使用 write_checkpoint -incremental_synth 開關(guān)。

92f6cd8e-4d6e-11ee-a25d-92fbcf53809c.png93099806-4d6e-11ee-a25d-92fbcf53809c.png

圖:部分設(shè)計(jì)示例中的編譯時(shí)間節(jié)省效果

此處隨附的 getSynStepsRunTime.sh 腳本(請(qǐng)點(diǎn)擊閱讀原文查看)可用于為 synth_design 的每個(gè)階段生成時(shí)間剖析表。

要運(yùn)行該腳本,您可按如下示例所示使用此命令并為初始運(yùn)行和增量運(yùn)行生成表格。“actual”(實(shí)際)列和“phase”(階段)列中羅列了用于每個(gè)階段的時(shí)間和累計(jì)時(shí)間。

getSynStepsRunTime.sh ./vivado.log

9328bb5a-4d6e-11ee-a25d-92fbcf53809c.png

增量綜合運(yùn)行期間,下列步驟的編譯時(shí)間都比參考運(yùn)行更短:“RTL Optimization”(RTL 最優(yōu)化)、“Area Optimization”(面積最優(yōu)化)、“Timing Optimization”(時(shí)序最優(yōu)化)和“Technology Mapping”(技術(shù)映射)。

下表顯示了用戶設(shè)計(jì)示例。請(qǐng)注意參考運(yùn)行與增量運(yùn)行中每個(gè)綜合階段所耗費(fèi)的時(shí)間。由于這些階段占用了大部分的參考編譯時(shí)間,因此對(duì)總體運(yùn)行時(shí)間影響尤為顯著。

9352e5a6-4d6e-11ee-a25d-92fbcf53809c.png

增量綜合期間,“RTL Elaboration”(RTL 細(xì)化)、“Constraint Validation”(約束確認(rèn))、“Applying XDC Timing Constraints”(應(yīng)用 XDC 時(shí)序約束)、“I/O Insertion”(I/O 插入)、“Global Opt”(全局最優(yōu)化)、“Netlist Generation”(網(wǎng)表生成)等其他階段以及其余用于拼接的階段在時(shí)間上所呈現(xiàn)的改善較少。

注釋:非關(guān)聯(lián)流程 (out-of-context) 另有所用,它能讓子模塊像各 IP 一樣來運(yùn)作,因此需要更多手動(dòng)干預(yù),如創(chuàng)建模塊封裝文件和限定約束作用域。它也有助于改善編譯時(shí)間,如果您有靜態(tài)且無需更改的大型模塊,那么此流程能節(jié)省該模塊的最優(yōu)化時(shí)間。

可能影響增量綜合的因素:

采用此流程前,以下操作有助于您充分發(fā)揮增量流程的優(yōu)勢(shì):

選擇正確的檢查點(diǎn)。您需確保參考檢查點(diǎn)與受引導(dǎo)的設(shè)計(jì)處于同一器件內(nèi),綜合時(shí)采用的 Vivado 版本與當(dāng)前運(yùn)行采用的版本相同。不支持由不同版本生成的 DCP。最重要的是,參考 DCP 須在運(yùn)行同一綜合期間生成,并在 write_checkpoint 期間使用 -incremental_synth 開關(guān)來創(chuàng)建。

synth_design 設(shè)置應(yīng)始終保持不變,時(shí)序約束應(yīng)始終保持一致。

對(duì)受該流程影響的對(duì)象數(shù)量和跨邊界最優(yōu)化的數(shù)量加以限制,確保設(shè)計(jì)收斂的一致性和時(shí)序收斂。設(shè)計(jì)邏輯更改過多 (>50%) 可能導(dǎo)致更多模塊受到影響并且需要重新綜合,由此導(dǎo)致增加編譯時(shí)間或者引導(dǎo)的結(jié)果欠佳。

另外,如果少量設(shè)計(jì)更改引入了參考設(shè)計(jì)中不存在的新時(shí)序問題,則可能需要增加工作量和運(yùn)行時(shí)間,而且設(shè)計(jì)可能不滿足時(shí)序。下圖顯示了 M1 模塊和 M3 模塊間路徑因跨邊界最優(yōu)化而發(fā)生改變時(shí),這兩個(gè)模塊進(jìn)行重新綜合的方式。

盡可能將更改局限在單一模塊中,否則任何發(fā)生更改或消隱的分區(qū)都需重新綜合。另外,為了防止發(fā)生跨邊界最優(yōu)化,您可在層級(jí)模塊名稱上使用 PRESERVE_BOUNDARY 屬性,前提是您已寄存輸入/輸出模塊端口。例如:set_property BLOCK_SYNTH.PRESERVE_BOUNDARY 1 [get_cells [list {M1 M3}]]

9369ec74-4d6e-11ee-a25d-92fbcf53809c.png

圖:利用跨模塊最優(yōu)化情況下的綜合參考運(yùn)行對(duì)比增量運(yùn)行

如果在設(shè)計(jì)中多次例化某個(gè)設(shè)計(jì)模塊,那么該模塊中的任何小幅更改都會(huì)對(duì)模塊的例化次數(shù)產(chǎn)生巨大影響。在此情況下,就需要考量設(shè)計(jì)更改的總量。

就通過增量綜合可減少編譯時(shí)間的效果而言,大型設(shè)始終計(jì)比小型設(shè)計(jì)獲益更多。

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

綜合運(yùn)行 log 日志中包含網(wǎng)表復(fù)用百分比的詳細(xì)信息。

在此示例中,僅對(duì)一個(gè)小型實(shí)例進(jìn)行了修改,如果更改發(fā)生在某個(gè)子模塊內(nèi),那么該表中也將列出該模塊的名稱。

938ea0fa-4d6e-11ee-a25d-92fbcf53809c.png

總結(jié):

我們通過采用增量綜合流程可以快速完成綜合運(yùn)行的迭代。該流程設(shè)置方便,并且對(duì)于設(shè)計(jì)一致性和編譯時(shí)間節(jié)省都大有益處。

審核編輯:湯梓紅

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

    關(guān)注

    0

    文章

    30

    瀏覽量

    17513
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    676

    瀏覽量

    33788
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    677

    瀏覽量

    40811
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    397

    瀏覽量

    28365

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

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

收藏 人收藏

    評(píng)論

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

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

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

    fpga編譯綜合時(shí)間過長(zhǎng)?

    朋友們,xinlinx有沒有增量編譯的技術(shù),最近做個(gè)工程占用了快80%,用了比較多的ip核,每次改一個(gè)參數(shù)就要重新綜合半天,這樣調(diào)試效率實(shí)在太低,我用的是ise13.2,和工具有關(guān)系么?
    發(fā)表于 06-14 22:43

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

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

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

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

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

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

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

    Vivado 2015.3的新增量編譯功能

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

    講述增量編譯方法,提高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>效率

    Vivado綜合引擎的增量綜合流程

    從 Vivado 2019.1 版本開始,Vivado 綜合引擎就已經(jīng)可以支持增量流程了。這使用戶能夠在設(shè)計(jì)變化較小時(shí)減少總的綜合運(yùn)行時(shí)間
    發(fā)表于 07-21 11:02 ?1885次閱讀

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

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

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

    增量實(shí)現(xiàn)自從首次獲得支持以來,不斷升級(jí)演變,在此過程中已添加了多項(xiàng)針對(duì)性能和編譯時(shí)間的增強(qiáng)功能。
    的頭像 發(fā)表于 09-01 09:36 ?780次閱讀
    <b class='flag-5'>節(jié)省</b><b class='flag-5'>編譯</b><b class='flag-5'>時(shí)間</b>系列-使用<b class='flag-5'>增量</b>實(shí)現(xiàn)

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

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

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

    雖然想必您知道,在綜合或?qū)崿F(xiàn)階段,增量運(yùn)行可以從參考文件中讀取和復(fù)制信息,但僅在某些階段中能節(jié)省時(shí)間,如果網(wǎng)表發(fā)生大量更改,其中引用的內(nèi)容就會(huì)減少,編譯
    的頭像 發(fā)表于 10-09 16:48 ?3535次閱讀
    Vivado那些事兒:<b class='flag-5'>節(jié)省</b><b class='flag-5'>編譯</b><b class='flag-5'>時(shí)間</b>系列文章
    主站蜘蛛池模板: 在线播放亚洲视频 | 狠狠色丁香婷婷久久 | 日本国产在线观看 | 亚洲vv| 禁网站在线观看免费视频 | 欧美黄色大全 | 激情九月 | 在线观看亚洲成人 | 天天拍天天操 | 久久久五月天 | 在线观看免费高清 | 手机看片中文字幕 | 久久在线播放 | 伊人7| 91精品久久国产青草 | 色爱区综合激月婷婷激情五月 | 亚洲jizzjizz中文在线播放 | 在线免费看高清视频大全 | 丁香亚洲综合五月天婷婷 | 亚洲高清一区二区三区 | 久久水蜜桃网 | 日本三级视频在线播放 | 久久天天躁狠狠躁夜夜免费观看 | 永久在线免费观看 | 欧美综合精品一区二区三区 | 天天躁夜夜躁狠狠躁2021 | 色视频网站免费 | 五月婷婷六月丁香综合 | 性欧美处 | 你懂的视频在线看 | 久久精品亚洲一级毛片 | 久久青草91线频免费观看 | 久草视频资源在线 | 午夜黄页网站在线播放 | 日色视频 | 成人黄色免费 | 在线观看黄色网 | 国产精品国产午夜免费福利看 | 永久免费观看午夜视频在线 | 成熟女人免费一级毛片 | 色婷婷5月精品久久久久 |