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

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

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

淺談Vivado編譯時(shí)間

FPGA技術(shù)驛站 ? 來(lái)源:FPGA技術(shù)驛站 ? 2024-09-18 10:43 ? 次閱讀

隨著FPGA規(guī)模的增大,設(shè)計(jì)復(fù)雜度的增加,Vivado編譯時(shí)間成為一個(gè)不可回避的話題。尤其是一些基于SSI芯片的設(shè)計(jì),如VU9P/VU13P/VU19P等,布局布線時(shí)間更是顯著增加。當(dāng)然,對(duì)于一些設(shè)計(jì)而言,十幾個(gè)小時(shí)是合理的。但我們依然試圖分析設(shè)計(jì)存在的問(wèn)題以期縮短編譯時(shí)間。

通常,綜合(Synthesis)所消耗的時(shí)間比布局布線要短,但從代碼風(fēng)格角度而言,我們也能找到一些端倪來(lái)縮短綜合所用的時(shí)間。如下圖所示代碼,左右兩側(cè)功能是一致的,區(qū)別在于左側(cè)采用了for generate語(yǔ)句,for循環(huán)里嵌套了always模塊;右側(cè)實(shí)際上不需要generate語(yǔ)句,always里直接使用了for循環(huán)(注意:實(shí)際上,這里不需要for循環(huán),只是為了說(shuō)明for循環(huán)對(duì)編譯時(shí)間的影響)。單獨(dú)對(duì)左側(cè)模塊采用OOC綜合,耗時(shí)2分鐘;而右側(cè)耗時(shí)1分鐘。因此,我們?cè)谟胒or循環(huán)時(shí)要謹(jǐn)慎一些。

wKgZombqPm-AQ__dAADm1cI9n3M572.jpg

Vivado還支持多線程可進(jìn)一步縮短編譯時(shí)間,這需要通過(guò)如下的Tcl腳本進(jìn)行設(shè)置。綜合階段,Vivado可支持的最大線程數(shù)為4。布局布線階段,可支持的最大線程數(shù)為8(Windows系統(tǒng)默認(rèn)值為2,Linux系統(tǒng)默認(rèn)值為8)。實(shí)際上,DRC檢查、靜態(tài)時(shí)序分析和物理優(yōu)化也支持多線程,最大線程數(shù)為8。我們可以在log文件中查看到當(dāng)前使用的線程數(shù)。

set_param general.maxThreads 4

wKgaombqPm-AJLjuAACBnNufF50988.jpg

在Vivado Design Run窗口,我們可以查看到整個(gè)設(shè)計(jì)綜合和實(shí)現(xiàn)的耗時(shí),如下圖所示。對(duì)于實(shí)現(xiàn)各個(gè)子階段的耗時(shí)就需要在log文件中查看。只需要搜索關(guān)鍵字Ending,如下圖所示??梢钥吹給pt_design耗時(shí)3分鐘,place_design耗時(shí)1小時(shí)45分鐘,phys_opt_design耗時(shí)20分鐘,route_design耗時(shí)3小時(shí)27分鐘。

wKgZombqPm-AS73sAAA0gVrkxEk690.jpg

wKgaombqPm-AAaIrAAEDX-Vqt2A384.jpg

Vivado還提供了報(bào)告策略,如下圖所示。本身生成報(bào)告也是需要時(shí)間的,因此可根據(jù)設(shè)計(jì)需要選擇報(bào)告策略,去除不必要的報(bào)告以節(jié)省時(shí)間。同時(shí),對(duì)于已確定的報(bào)告策略仍然可以進(jìn)一步編輯,增加期望的報(bào)告或者刪除不需要的報(bào)告。這可通過(guò)Report窗口中的Add Report或Remove Report/Disable Report完成。

wKgaombqPm-AVqOuAADmEUGYxGc646.jpg

wKgaombqPm-Adx1CAACN8jen5lw135.jpg

通常,布線是耗時(shí)最長(zhǎng)的部分,為此Vivado對(duì)route_design提供了選項(xiàng)-ultrathreads,其目的是使布線器更快的運(yùn)行,但是以犧牲結(jié)果的一致性為代價(jià)的。

從策略角度看,如果僅僅是為了評(píng)估資源利用率,那么Implementation Strategy可以選擇Flow_Quick。如果時(shí)序裕量比較大,那么也可以選擇Flow_RuntimeOptimized,該策略是以犧牲性能為代價(jià)來(lái)縮短編譯時(shí)間的。

wKgZombqPm-APza0AAB5hcL2bO4774.jpg

聲明:本文內(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601231
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50206

    瀏覽量

    420826
  • 編譯時(shí)間
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    5483
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    804

    瀏覽量

    66221

原文標(biāo)題:再談Vivado編譯時(shí)間

文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何縮短Vivado的運(yùn)行時(shí)間

    Vivado Implementation階段,有時(shí)是有必要分析一下什么原因?qū)е逻\(yùn)行時(shí)間(runtime)過(guò)長(zhǎng),從而找到一些方法來(lái)縮短運(yùn)行時(shí)間。
    的頭像 發(fā)表于 05-29 14:37 ?1.4w次閱讀
    如何縮短<b class='flag-5'>Vivado</b>的運(yùn)行<b class='flag-5'>時(shí)間</b>

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

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

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

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

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

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

    淺談 Atmel Studio 6和IAR C編譯器之間的鏈接問(wèn)題

    淺談 Atmel Studio 6和IAR C編譯器之間的鏈接問(wèn)題
    的頭像 發(fā)表于 07-04 09:50 ?3497次閱讀

    Vivado Design Suite 2015.3的新功能介紹

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

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

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

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

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

    Vivado 2015.3的新增量編譯功能

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

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

    當(dāng)RTL代碼修改較少時(shí),使用增量編譯功能可以提高工程的編譯速度,Incremental Compile增量編譯Vivado提供的一項(xiàng)高階功能。目的旨在當(dāng)設(shè)計(jì)微小的改變時(shí),重用綜合和布
    的頭像 發(fā)表于 01-22 17:27 ?9972次閱讀
    講述增量<b class='flag-5'>編譯</b>方法,提高<b class='flag-5'>Vivado</b><b class='flag-5'>編譯</b>效率

    賽靈思Vivado ML版優(yōu)化應(yīng)用設(shè)計(jì)

    Vivado HLx 版本相比,Vivado ML 版將復(fù)雜設(shè)計(jì)的編譯時(shí)間縮短了 5 倍,同時(shí)還提供了突破性的平均達(dá) 10% 的結(jié)果質(zhì)量( QoR )提升。
    的頭像 發(fā)表于 07-02 16:40 ?2704次閱讀
    賽靈思<b class='flag-5'>Vivado</b> ML版優(yōu)化應(yīng)用設(shè)計(jì)

    Vivado里如何手動(dòng)調(diào)整編譯順序

    通常情況下,一旦創(chuàng)建好Vivado工程,添加了相應(yīng)的RTL文件,Vivado會(huì)自動(dòng)找到設(shè)計(jì)的頂層文件,正確地顯示設(shè)計(jì)層次。在這個(gè)過(guò)程中,Vivado會(huì)自動(dòng)分析文件的編譯順序。那么是否可
    的頭像 發(fā)表于 01-06 09:27 ?3794次閱讀

    Vivado增量編譯的基本概念、優(yōu)點(diǎn)、使用方法以及注意事項(xiàng)

    隨著FPGA設(shè)計(jì)的復(fù)雜度不斷提高,設(shè)計(jì)人員需要選擇更為高效的設(shè)計(jì)流程來(lái)保證開發(fā)效率和減少開發(fā)成本。其中,Vivado增量編譯是一種非常重要的設(shè)計(jì)流程。本文將介紹Vivado增量編譯的基
    的頭像 發(fā)表于 05-25 18:25 ?4553次閱讀
    <b class='flag-5'>Vivado</b>增量<b class='flag-5'>編譯</b>的基本概念、優(yōu)點(diǎn)、使用方法以及注意事項(xiàng)

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

    雖然想必您知道,在綜合或?qū)崿F(xiàn)階段,增量運(yùn)行可以從參考文件中讀取和復(fù)制信息,但僅在某些階段中能節(jié)省時(shí)間,如果網(wǎng)表發(fā)生大量更改,其中引用的內(nèi)容就會(huì)減少,編譯時(shí)間也會(huì)受到相應(yīng)影響。
    的頭像 發(fā)表于 10-09 16:48 ?2555次閱讀
    <b class='flag-5'>Vivado</b>那些事兒:節(jié)省<b class='flag-5'>編譯</b><b class='flag-5'>時(shí)間</b>系列文章

    Vivado編譯常見(jiàn)錯(cuò)誤與關(guān)鍵警告梳理與解析

    Xilinx Vivado開發(fā)環(huán)境編譯HDL時(shí),對(duì)時(shí)鐘信號(hào)設(shè)置了編譯規(guī)則,如果時(shí)鐘由于硬件設(shè)計(jì)原因分配到了普通IO上,而非_SRCC或者_(dá)MRCC專用時(shí)鐘管腳上時(shí),編譯器就會(huì)提示錯(cuò)誤。
    的頭像 發(fā)表于 04-15 11:38 ?4532次閱讀