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

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

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

讓同一層次的模塊在布局時更緊湊一些的方法

FPGA技術(shù)驛站 ? 來源:FPGA技術(shù)驛站 ? 2023-06-15 09:23 ? 次閱讀

在時序分析時,我們常會碰到的一類現(xiàn)象是:關(guān)鍵路徑上的邏輯單元過于分散,導(dǎo)致布線延遲過大,從而造成時序違例。對此,我們可以通過相對位置約束或絕對位置約束來限定相關(guān)邏輯的位置關(guān)系。就相對位置約束而言,即使芯片型號發(fā)生了改變也依然可以繼承原有約束;而對于絕對位置約束,一旦芯片型號發(fā)生改變就要確認(rèn)是否要調(diào)整相應(yīng)位置。此外,如果時序違例路徑較多,這種方法的有效性將大大降低。

我們還可以采用手工布局的方式,這對于時序違例路徑集中在某一個模塊或某一個層次內(nèi)的情形較為適用。使用此方法時需要注意Pblock的大小。Pblock不能太小,否則會增加布局布線的壓力;Pblock也不能太大,否則會浪費資源。實際上,Vivado針對Pblock的資源利用率也提供了指導(dǎo)值,該指導(dǎo)值跟整個芯片的資源利用率指導(dǎo)值一致,可通過命令report_failfast查看。

Pblock的形狀也是一個重要的因素。通常建議為標(biāo)準(zhǔn)的矩形。不規(guī)則的形狀如在矩形框中挖掉一個小的矩形形成“回”字形狀會嚴(yán)重危害時序性能且導(dǎo)致編譯時間增長。Pblock的位置也是一個重要因素。可以先讓工具自動布局,在此基礎(chǔ)上觀察關(guān)鍵模塊的分布情況,然后參考此位置確定Pblock的位置。

可以看到,使用Pblock要求工程師有一定的工程經(jīng)驗,需要考慮的因素也較多。如果Pblock的位置不合理,可能會出現(xiàn)顧此失彼的情形(Pblock內(nèi)的模塊時序改善了,而其他模塊的時序又惡化了)。Pblock的另一弊端是缺乏靈活性。當(dāng)芯片型號發(fā)生改變時很有可能重新確定Pblock的大小或位置。

好在Vivado提供了一個新的約束屬性USER_CLUSTER(要求Vivado版本為2022.2或之后)。該屬性的作用是指導(dǎo)工具在布局時將指定層次/模塊下的邏輯單元放得更緊湊一些。為便于說明,我們看一個例子。在沒有使用該屬性時,布局結(jié)果如下圖所示??梢钥吹秸麄€設(shè)計的資源利用率并不高,但卻比較分散。

8a373580-0b10-11ee-962d-dac502259ad0.png

接下來我們使用屬性約束USER_CLUSTER。該屬性的屬性值為用戶定義的組名,屬性施加的對象為get_cells的返回值,也就是用戶通過get_cells指定的模塊,如下圖所示。

8a630cf0-0b10-11ee-962d-dac502259ad0.png

使用此約束之后,最終的布局結(jié)果如下圖所示。可以看到,相關(guān)資源已經(jīng)非常緊湊了。

8a81da36-0b10-11ee-962d-dac502259ad0.png

相比于手工布局,USER_CLUSTER更為靈活,更為易用。只是需要用戶確認(rèn)哪些模塊下的邏輯單元需要放置得緊湊些。



審核編輯:劉清

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

    關(guān)注

    1

    文章

    10

    瀏覽量

    6575
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    806

    瀏覽量

    66246
  • 時序仿真
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    7400
收藏 人收藏

    評論

    相關(guān)推薦

    元件庫的一些東西放哪一層

    請問做單面板元件庫時元件面的絲印和焊接面的絲印分別放在哪一層?一些注解文字放在哪一層?
    發(fā)表于 12-13 13:59

    單片機程序設(shè)計的十功力,你練到那一層了?

    操作,通常是使用時間系統(tǒng)的時間發(fā)生標(biāo)志。同時在這一層如果能夠?qū)INDOWS程序設(shè)計中的一些優(yōu)秀思想利用起來,則非常好。能夠領(lǐng)悟到這一層的,我所知道的前輩高手中少之又少。第六
    發(fā)表于 11-01 08:50

    PADS9.5 LAYOUT 設(shè)置元件 怎樣 可以重疊放置 大的中間小的 同一層的?

    PADS9.5 LAYOUT 設(shè)置元件 怎樣 可以重疊放置 大的中間小的 同一層的?
    發(fā)表于 08-04 15:39

    單片機程序設(shè)計的十功力,你練到那一層了?

    的程序是否能夠有點實用價值。譬如應(yīng)用在實際工程項目中。在這一層,應(yīng)該開始思考如何程序結(jié)構(gòu)簡單模塊化,如何合理的利用CPU的時間。我曾經(jīng)寫過這一層
    發(fā)表于 03-22 11:46

    單片機程序設(shè)計的十功力,你練到那一層了?

    的程序是否能夠有點實用價值。譬如應(yīng)用在實際工程項目中。在這一層,應(yīng)該開始思考如何程序結(jié)構(gòu)簡單模塊化,如何合理的利用CPU的時間。我曾經(jīng)寫過這一層
    發(fā)表于 09-07 10:13

    請問FPGA與DDR3是否必須放置同一層

    請問FPGA與DDR3是否必須在同一層放置,由于現(xiàn)在不在同一層,軟件調(diào)試的時候圖像有抖動,軟件說是因為FPGA與DDR3未在同一層,導(dǎo)致時序有問題。
    發(fā)表于 12-26 09:37

    請問各位個問題,PCB中不在同一層的布線形成銳角有關(guān)系嗎?

    PCB中不在同一層的線形成銳角有關(guān)系嗎?硬件工程師 說不能這樣走,但是我的想法是又不在同一層為什么不能?
    發(fā)表于 05-21 10:00

    為什么同一層鋪動態(tài)銅皮有的可以自動避讓?

    為什么同一層鋪動態(tài)銅皮,有的可以自動避讓有的就沒有呢?
    發(fā)表于 07-23 05:35

    如何在ad16層次原理圖中查看不同原理圖里面的同一網(wǎng)絡(luò)標(biāo)號?

    ad16層次原理圖里面如何查看不同原理圖里面同一網(wǎng)絡(luò)標(biāo)號?
    發(fā)表于 08-28 04:44

    PCB設(shè)計過程中的一些問題和一些技巧分享

    PCB設(shè)計過程中的一些問題和一些技巧分享 1、如何利用層次圖繪制電路原理圖? 答:層次原理是模塊
    發(fā)表于 09-07 20:08 ?17次下載

    VICOR模塊一些基本應(yīng)用

      VICOR模塊一些基本應(yīng)用
    發(fā)表于 11-24 11:42 ?17次下載

    一些文本數(shù)據(jù)量不夠大的時候可用的一些實用方法

    在這篇文章中,我將展示一些由我自己開發(fā)或是我文章、博客、論壇、Kaggle和其他一些地方發(fā)現(xiàn)的方法,看看它們是如何在沒有大數(shù)據(jù)的情況下
    的頭像 發(fā)表于 11-19 17:39 ?6692次閱讀
    <b class='flag-5'>一些</b><b class='flag-5'>在</b>文本數(shù)據(jù)量不夠大的時候可用的<b class='flag-5'>一些</b>實用<b class='flag-5'>方法</b>

    一些實用的布局、提示和技巧

    本文將為初學(xué)者提供一些實用的布局、提示和技巧,可以幫助您避免事故或解決各種問題。該系列將不定期發(fā)布。
    的頭像 發(fā)表于 08-09 16:56 ?1445次閱讀
    <b class='flag-5'>一些</b>實用的<b class='flag-5'>布局</b>、提示和技巧

    介紹一些大功率IGBT模塊應(yīng)用中的一些技術(shù)

    PPT主要介紹了大功率IGBT模塊應(yīng)用中的一些技術(shù),包括參數(shù)解讀、器件選型、驅(qū)動技術(shù)、保護(hù)方法以及失效分析等。
    發(fā)表于 09-05 11:36 ?776次閱讀

    如何同一層次模塊布局更緊湊一些

    時序分析時,我們常會碰到的類現(xiàn)象是:關(guān)鍵路徑上的邏輯單元過于分散,導(dǎo)致布線延遲過大,從而造成時序違例。對此,我們可以通過相對位置約束或絕對位置約束來限定相關(guān)邏輯的位置關(guān)系。就相對位置約束而言
    的頭像 發(fā)表于 06-15 09:26 ?402次閱讀
    如何<b class='flag-5'>讓</b><b class='flag-5'>同一層次</b>的<b class='flag-5'>模塊</b><b class='flag-5'>在</b><b class='flag-5'>布局</b>時<b class='flag-5'>更緊湊</b><b class='flag-5'>一些</b>