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

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

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

如何讓同一層次的模塊在布局時(shí)更緊湊一些

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

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

我們還可以采用手工布局的方式,這對(duì)于時(shí)序違例路徑集中在某一個(gè)模塊或某一個(gè)層次內(nèi)的情形較為適用。使用此方法時(shí)需要注意Pblock的大小。Pblock不能太小,否則會(huì)增加布局布線(xiàn)的壓力;Pblock也不能太大,否則會(huì)浪費(fèi)資源。實(shí)際上,Vivado針對(duì)Pblock的資源利用率也提供了指導(dǎo)值,該指導(dǎo)值跟整個(gè)芯片的資源利用率指導(dǎo)值一致,可通過(guò)命令report_failfast查看。Pblock的形狀也是一個(gè)重要的因素。通常建議為標(biāo)準(zhǔn)的矩形。不規(guī)則的形狀如在矩形框中挖掉一個(gè)小的矩形形成“回”字形狀會(huì)嚴(yán)重危害時(shí)序性能且導(dǎo)致編譯時(shí)間增長(zhǎng)。Pblock的位置也是一個(gè)重要因素。可以先讓工具自動(dòng)布局,在此基礎(chǔ)上觀(guān)察關(guān)鍵模塊的分布情況,然后參考此位置確定Pblock的位置??梢钥吹?,使用Pblock要求工程師有一定的工程經(jīng)驗(yàn),需要考慮的因素也較多。如果Pblock的位置不合理,可能會(huì)出現(xiàn)顧此失彼的情形(Pblock內(nèi)的模塊時(shí)序改善了,而其他模塊的時(shí)序又惡化了)。Pblock的另一弊端是缺乏靈活性。當(dāng)芯片型號(hào)發(fā)生改變時(shí)很有可能重新確定Pblock的大小或位置。

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

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

接下來(lái)我們使用屬性約束USER_CLUSTER。該屬性的屬性值為用戶(hù)定義的組名,屬性施加的對(duì)象為get_cells的返回值,也就是用戶(hù)通過(guò)get_cells指定的模塊,如下圖所示。

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

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

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

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

審核編輯:湯梓紅

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

    關(guān)注

    453

    文章

    50262

    瀏覽量

    421176
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2659

    瀏覽量

    47298
  • 時(shí)序分析
    +關(guān)注

    關(guān)注

    2

    文章

    127

    瀏覽量

    22543
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    806

    瀏覽量

    66246

原文標(biāo)題:如何讓同一層次的模塊在布局時(shí)更緊湊一些

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    元件庫(kù)的一些東西放哪一層

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

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

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

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

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

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

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

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

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

    請(qǐng)問(wèn)FPGA與DDR3是否必須放置同一層?

    請(qǐng)問(wèn)FPGA與DDR3是否必須在同一層放置,由于現(xiàn)在不在同一層,軟件調(diào)試的時(shí)候圖像有抖動(dòng),軟件說(shuō)是因?yàn)镕PGA與DDR3未在同一層,導(dǎo)致時(shí)序有問(wèn)題。
    發(fā)表于 12-26 09:37

    請(qǐng)問(wèn)各位個(gè)問(wèn)題,PCB中不在同一層的布線(xiàn)形成銳角有關(guān)系嗎?

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

    為什么同一層鋪動(dòng)態(tài)銅皮有的可以自動(dòng)避讓?zhuān)?/a>

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

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

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

    PCB設(shè)計(jì)過(guò)程中的一些問(wèn)題和一些技巧分享

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

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

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

    APT觸摸布局一些建議詳細(xì)說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是APT觸摸布局一些建議詳細(xì)說(shuō)明。
    發(fā)表于 10-27 08:00 ?0次下載
    APT觸摸<b class='flag-5'>布局</b>的<b class='flag-5'>一些</b>建議詳細(xì)說(shuō)明

    一些實(shí)用的布局、提示和技巧

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

    介紹一些PCB布局的思路和原則

    今天給大家介紹一些PCB布局的思路和原則
    的頭像 發(fā)表于 05-17 10:00 ?1066次閱讀
    介紹<b class='flag-5'>一些</b>PCB<b class='flag-5'>布局</b>的思路和原則

    同一層次模塊布局時(shí)更緊湊一些的方法

    時(shí)序分析時(shí),我們常會(huì)碰到的類(lèi)現(xiàn)象是:關(guān)鍵路徑上的邏輯單元過(guò)于分散,導(dǎo)致布線(xiàn)延遲過(guò)大,從而造成時(shí)序違例。
    的頭像 發(fā)表于 06-15 09:23 ?1321次閱讀
    <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>時(shí)<b class='flag-5'>更緊湊</b><b class='flag-5'>一些</b>的方法