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

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

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

Vivado的“Placement Exploration”配方案例分析

電子設(shè)計 ? 來源:Plunify社區(qū) ? 作者:FPGA設(shè)計優(yōu)化 ? 2020-12-31 10:36 ? 次閱讀

盡管 Vivado 不支持 “placement cost tale”的功能,InTime 卻有一個相似功能叫做“Placement Exploration”配方(Receipe),并且不會對性能產(chǎn)生任何影響。在本文中,我們將通過展示幾則用戶案例的結(jié)果,來了解這個布局配方的作用以及它能對您有哪些幫助。

1. 什么是“Placement Exploration”配方?

Placement Exploration 這種策略可以將非關(guān)鍵的寄存器位置隨機(jī)化。這樣可以讓 Vivado 探索更多的可能性,使用不同的布局布線計算來產(chǎn)生不同的結(jié)果,同時不會影響設(shè)計的功能。

2. 運行原理

這個配方需要設(shè)計有一些非關(guān)鍵的單元(單元已經(jīng)達(dá)到時序路徑),目標(biāo)器件要有一些未使用的 slice。設(shè)計中未使用的 slice 越多,就有更多的運行組合可以創(chuàng)造出來,從而提升隨機(jī)性,取得更好的結(jié)果。

如果這些需要沒有滿足,用戶在運行配方的時候會看到下面的報錯。

這種情況下,您需要重新檢驗設(shè)計,看看是不是沒有假路徑(false path,適用于 InTime 2.2.1以前的版本)或者是不是器件可用的 slice 數(shù)量較少。如果是因為沒有假路徑,您可以查看是否可以為設(shè)計設(shè)置假路徑。

3. 真實案例
我們繼續(xù)前面案例。下面的代碼可以讓您使用FEP Tcl API 來在云端編譯:

項目一
· Device 器件: xcvu190

· TNS (ns) : -5841.436

· WNS (ns): -0.725

· WHS (ns): 0.016

· CLB Utilization 利用率 (%): 80.15

· Run Time 運行時間: 04:46

o4YBAF9uKCKAPoBCAADW635s0Hk880.png

本設(shè)計優(yōu)化了兩輪。每輪有20-30次編譯以及結(jié)果。對于 placement exploration,我們從前一輪的結(jié)果中選取最好的WNS 結(jié)果,在這個案例中,是-0.417ns。然后將它設(shè)置成“父版本”來進(jìn)行探索。在下表(log)中,您可以看到結(jié)果中“種子”的作用,WNS 有著非常廣泛的分布值。最好 WNS結(jié)果的平均值是-0.694ns,產(chǎn)生了高達(dá)0.457ns的巨大變化。如果您對比最好 WNS 結(jié)果和上一輪的 Placement Exploration,WNS 顯著提升了43%。

圖一: TNS 盒狀圖

圖一: TNS 盒狀圖

圖二: WNS盒狀圖

圖二: WNS盒狀圖

項目二
· Device器件: xcvu190-flgb2104

· TNS (ns) : -10229.035

· WNS (ns): -1.203

· WHS (ns): 0.016

· CLB Utilization 使用率(%): 75.71

· Run Time 運行時間: 04:33

o4YBAF9uKCeAbwZvAADqqhg0cjA679.png

與項目一相似,項目二也有兩輪優(yōu)化。在第一輪中,目標(biāo)是取得最好的WNS。我們使用上一輪最好的 WNS 結(jié)果(-0.404),運行一輪 placement exploration。基于 placement exploration 的結(jié)果, 平均值是-0.512ns。最好結(jié)果是-0.187,對于原父版本的結(jié)果來說,325ps是一個高達(dá)53%的巨幅提升。

圖三: 項目二 TNS

圖三: 項目二 TNS

圖四: 項目二 WNS

圖四: 項目二 WNS

4. 技術(shù)總結(jié)
結(jié)果的提升不言自明。如果您在為最終的300ps提升而奮戰(zhàn),請考慮使用這個方法,它能幫您在截止日期之前達(dá)到要求。

最后一點需要說明的是,運行附加的編譯需要很多計算能力和運行時間。而最好的解決方案是云計算,您可以使用您自己的云服務(wù),或者注冊一個 Plunify Cloud 賬戶

編輯:hfy


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

    關(guān)注

    31

    文章

    5253

    瀏覽量

    119212
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    797

    瀏覽量

    65856
收藏 人收藏

    評論

    相關(guān)推薦

    淺談Vivado編譯時間

    隨著FPGA規(guī)模的增大,設(shè)計復(fù)雜度的增加,Vivado編譯時間成為一個不可回避的話題。尤其是一些基于SSI芯片的設(shè)計,如VU9P/VU13P/VU19P等,布局布線時間更是顯著增加。當(dāng)然,對于一些設(shè)計而言,十幾個小時是合理的。但我們依然試圖分析設(shè)計存在的問題以期縮短編譯時
    的頭像 發(fā)表于 09-18 10:43 ?113次閱讀
    淺談<b class='flag-5'>Vivado</b>編譯時間

    Vivado 2024.1版本的新特性(2)

    從綜合角度看,Vivado 2024.1對SystemVerilog和VHDL-2019的一些特性開始支持。先看SystemVerilog。
    的頭像 發(fā)表于 09-18 10:34 ?133次閱讀
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(2)

    Vivado 2024.1版本的新特性(1)

    Vivado 2024.1已正式發(fā)布,今天我們就來看看新版本帶來了哪些新特性。
    的頭像 發(fā)表于 09-18 10:30 ?164次閱讀
    <b class='flag-5'>Vivado</b> 2024.1版本的新特性(1)

    Vivado 使用Simulink設(shè)計FIR濾波器

    今天給大俠帶來Vivado經(jīng)典案例:使用Simulink設(shè)計FIR濾波器,話不多說,上貨。 FIR(Finite Impulse Response)濾波器:有限長單位沖激響應(yīng)濾波器,又稱為非遞歸
    發(fā)表于 04-17 17:29

    深入探索Vivado非工程模式FPGA設(shè)計流程

    在設(shè)計過程的每個階段,設(shè)計者均可以打開Vivado集成開發(fā)環(huán)境,對存儲器中保存的當(dāng)前設(shè)計進(jìn)行分析和操作。
    發(fā)表于 04-03 09:36 ?626次閱讀
    深入探索<b class='flag-5'>Vivado</b>非工程模式FPGA設(shè)計流程

    介紹一種OpenAtom OpenHarmony輕量系統(tǒng)適配方案

    本文在不改變原有系統(tǒng)基礎(chǔ)框架的基礎(chǔ)上, 介紹了一種OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)輕量系統(tǒng)適配方案。
    的頭像 發(fā)表于 03-05 09:24 ?896次閱讀
    介紹一種OpenAtom OpenHarmony輕量系統(tǒng)適<b class='flag-5'>配方案</b>

    使用P4和Vivado工具簡化數(shù)據(jù)包處理設(shè)計

    電子發(fā)燒友網(wǎng)站提供《使用P4和Vivado工具簡化數(shù)據(jù)包處理設(shè)計.pdf》資料免費下載
    發(fā)表于 01-26 17:49 ?0次下載
    使用P4和<b class='flag-5'>Vivado</b>工具簡化數(shù)據(jù)包處理設(shè)計

    如何禁止vivado自動生成 bufg

    Vivado中禁止自動生成BUFG(Buffered Clock Gate)可以通過以下步驟實現(xiàn)。 首先,讓我們簡要了解一下什么是BUFG。BUFG是一個時鐘緩沖器,用于緩沖輸入時鐘信號,使其更穩(wěn)
    的頭像 發(fā)表于 01-05 14:31 ?1457次閱讀

    Vivado時序問題分析

    有些時候在寫完代碼之后呢,Vivado時序報紅,Timing一欄有很多時序問題。
    的頭像 發(fā)表于 01-05 10:18 ?1440次閱讀

    Vivado 2023.2版本的新增功能

    Vivado在前一段時間更新了2023.2版本,經(jīng)過一段時間的使用這個版本還是很絲滑的,用起來挺舒服。
    的頭像 發(fā)表于 01-02 09:39 ?2262次閱讀
    <b class='flag-5'>Vivado</b> 2023.2版本的新增功能

    VIVADO安裝問題解決

    vivado出現(xiàn)安裝問題剛開始還以為是安裝路徑包含中文空格了,重裝的注意了一下,發(fā)現(xiàn)還是這個問題。。。。后來又一頓操作猛如虎,終于發(fā)現(xiàn)了問題。出這個問題的原因是vivado壓縮包解壓的路徑包含中文了把解壓文件放到不含中文的地方,再重新安裝,安裝路徑也不能含中文。然后。。。
    發(fā)表于 12-22 10:56 ?0次下載

    vivado軟件的安裝教程以及l(fā)icense

    vivado軟件的安裝教程以及l(fā)icense
    發(fā)表于 12-21 19:50

    VIVADO軟件使用問題總結(jié)

    【關(guān)鍵問題!?。?!重要?。?!】VIVADO會在MESSAGE窗口出提示很多錯誤和警告信息!
    的頭像 發(fā)表于 12-15 10:11 ?1531次閱讀
    <b class='flag-5'>VIVADO</b>軟件使用問題總結(jié)

    使用Vivado高層次綜合(HLS)進(jìn)行FPGA設(shè)計的簡介

    電子發(fā)燒友網(wǎng)站提供《使用Vivado高層次綜合(HLS)進(jìn)行FPGA設(shè)計的簡介.pdf》資料免費下載
    發(fā)表于 11-16 09:33 ?0次下載
    使用<b class='flag-5'>Vivado</b>高層次綜合(HLS)進(jìn)行FPGA設(shè)計的簡介

    Vivado Design Suite 用戶指南:編程和調(diào)試

    Vivado Design Suite 用戶指南:編程和調(diào)試》 文檔涵蓋了以下設(shè)計進(jìn)程: 硬件、IP 和平臺開發(fā) : 為硬件平臺創(chuàng)建 PL IP 塊、創(chuàng)建 PL 內(nèi)核、功能仿真以及評估 AMD
    的頭像 發(fā)表于 10-25 16:15 ?743次閱讀
    <b class='flag-5'>Vivado</b> Design Suite 用戶指南:編程和調(diào)試