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

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

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

如何對SoC進(jìn)行手動FPGA分區(qū)

jf_5P3RKFtu ? 來源:芯播客 ? 2023-04-27 15:17 ? 次閱讀

對SoC芯片要進(jìn)行FPGA原型驗證,假如設(shè)計較大,要將SoC中不同功能模塊或者邏輯模塊分別分配到特定的FPGA,那么對SoC的分割策略尤為重要。這一點(diǎn)和大規(guī)模的多片F(xiàn)PGA設(shè)計有所不同,在設(shè)計一個大規(guī)模的FPGA產(chǎn)品之前,你可能在一開始就會考慮到如何將不同的功能模塊以及連接方式分別合理的放到不同的FPGA中,各個FPGA之間的連接在設(shè)計之初就有考慮。

但是,對于大規(guī)模SoC設(shè)計要分割到多片的FPGA中,對于出database的邏輯原型工程師而言,顯得有點(diǎn)“措手不及”,因為整體的RTL架構(gòu)代碼并未考慮在多片F(xiàn)PGA上的實(shí)現(xiàn)架構(gòu),前端SoC架構(gòu)以及前端的RTL設(shè)計工程師更多考慮的是SoC的實(shí)現(xiàn)流程。所以,這一點(diǎn)給原型驗證工程師帶來挑戰(zhàn),但是我們可以順著以下思路運(yùn)用相關(guān)軟件進(jìn)行手動分割。

分配高度連接的模塊

我們期望分割工具可以顯示模塊級互連信息,比如我們在工具中可以選擇設(shè)計的層次結(jié)構(gòu)的模塊列表(層次結(jié)構(gòu)之所以非常重要,就是因為在SoC的設(shè)計過程中,本身就會遵循以功能為大方向去寫RTL級別的代碼,然后“高內(nèi)聚,低耦”的思路劃分模塊與層次關(guān)系的),然后列表會展示相應(yīng)的模塊與模塊之間的連接關(guān)系。例如以下工具展示的模塊之間的互連:

fdc8ab4e-e4ca-11ed-ab56-dac502259ad0.png ? ? ?

這里,我們可以立即看到塊b2v_inst1和b2v_inst2共享82個相互連接,但b2v_ints3與塊的頂級IO的連接最多(106)。當(dāng)用大量相互連接的信號劃分多個塊時,重要的任務(wù)是確保這些塊放置在同一FPGA中。如果高度連接的塊被放置在不同的FPGA中,那么我們將需要大量的FPGAIO引腳來重新連接它們。

例如,當(dāng)使用64位和更大的總線時,分配到不同F(xiàn)PGA中的兩個塊很可能需要數(shù)百個額外的FPGA IO。因此,在上面的示例中,我們可能會嘗試先將b2v_inst3分配到一個FPGA中,而b2v_inst1和b2v_ins2可以一起分配到不同的FPGA中,因為它們是相互連接的,但與b2v_ins3幾乎沒有連接。

其次,我們期望工具能夠展示大致的FPGA分區(qū)信息,當(dāng)我們手動選擇相關(guān)模塊到各FPGA塊的時候,分割軟件可以及時的反饋相關(guān)分區(qū)FPGA的資源使用情況,以便我們做出最優(yōu)的手動分割選擇。

fdd48676-e4ca-11ed-ab56-dac502259ad0.png ? ? ? ?

如果不可能將高度互連的塊放在一起,因為它們溢出了一個FPGA的資源,那么我們將需要降低層次結(jié)構(gòu)級別,并在下一級查找連接較少的塊,并提取要分配到不同F(xiàn)PGA中的塊。通過這種方式,我們?nèi)匀豢梢栽黾铀璧腇PGA的IO的數(shù)量,但比將更高級別的塊分配到其他地方的情況要少。

如果在此較低級別上沒有這樣的分區(qū),則我們可能會走得更低,但在越來越細(xì)的邏輯粒度上指定分區(qū)會使分區(qū)更可能受到設(shè)計迭代的影響,因為這些更細(xì)的粒度被不同地優(yōu)化或重命名。如果我們發(fā)現(xiàn)自己必須深入層次結(jié)構(gòu)以找到解決方案,那么最好返回并使用不同的粗略分區(qū)在頂層重新啟動。

分配各種設(shè)計功能模塊

使用我們對每個塊的面積的估計,我們可以將剩余的設(shè)計塊分配給FPGA資源,從最大的塊開始。我們從較大的塊開始,因為這自然會將較小的塊留給稍后的分區(qū)過程。然后,隨著FPGA資源可能變得過滿(請記住,50%到70%的利用率是一個很好的目標(biāo)),我們可以更自由地放置粒度更細(xì)、輸入和輸出數(shù)量更少的較小塊。

當(dāng)我們進(jìn)行分區(qū)時,我們希望平衡FPGA的資源使用,同時將利用率保持在可容忍的范圍內(nèi),即低于70%的建議值。這將有助于避免長時間的運(yùn)行時間,并使其更容易達(dá)到所需的時間。

選擇了分區(qū)的候選塊后,我們可能會進(jìn)行嘗試分配,直到找到最佳解決方案,然而,在具有許多FPGA的原型中,這是低效的。我們已經(jīng)看到,對我們的任務(wù)決定進(jìn)行即時反饋是多么有用。事實(shí)上,在分配任務(wù)之前獲得反饋更為有用。這使我們能夠提前了解如果將選定塊放置在這樣或那樣的FPGA中,對IO和資源的影響。這種預(yù)警稱為影響分析。

fdda2d4c-e4ca-11ed-ab56-dac502259ad0.png

這里我們可以看到,我們選擇的塊具有672個邏輯元素的區(qū)域,從先前的資源估計中提取。如果我們選擇將塊分配給mb.uB,我們將使FPGA的面積增加672個邏輯元件(總共478080個),并將IO計數(shù)增加137個,使其總數(shù)達(dá)到150個。

我們還可以看到,如果我們將塊分配給mb.uA,那么面積仍將增加相同的數(shù)量,但I(xiàn)O需求將減少83個引腳,這可能是因為我們的塊連接到已經(jīng)分配給mb.uA的一些邏輯。我們可以根據(jù)此快速分析選擇mb.uA然后單擊分配。與所有由交互式用戶界面驅(qū)動的工具一樣,一旦我們熟悉該方法,就可以使用腳本和命令行。

在放置了主要的分層塊之后,我們可以使用相同的方法用較小的塊來填補(bǔ)空白。對于較小的塊,順序并不那么重要,我們可以通過連接和資源使用等信息來指導(dǎo)。一些工具還提供屏幕上的指導(dǎo),如基于所需連接的各種權(quán)重的“老鼠窩”線,這些線似乎將所選塊拉向最佳FPGA選擇。

在手動完成關(guān)鍵任務(wù)后,一些團(tuán)隊將在這個階段改用自動分區(qū)。如果這可以在與手動分區(qū)器相同的環(huán)境中運(yùn)行,則效率更高。我們只是到達(dá)了一個讓我們感到滿意的地步,我們已經(jīng)控制了我們的關(guān)鍵任務(wù),并按下按鈕完成剩下的任務(wù)。





審核編輯:劉清

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

    關(guān)注

    1625

    文章

    21623

    瀏覽量

    601244
  • SoC芯片
    +關(guān)注

    關(guān)注

    1

    文章

    606

    瀏覽量

    34843
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    385

    瀏覽量

    59666

原文標(biāo)題:對SoC進(jìn)行手動FPGA分區(qū)

文章出處:【微信號:于博士Jacky,微信公眾號:于博士Jacky】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    SoC FPGA有哪些作用?

     Altera公司意欲通過更先進(jìn)的制程工藝和更緊密的產(chǎn)業(yè)合作,正逐步強(qiáng)化FPGA協(xié)同處理器,大幅提升SoC FPGA的整體性能,為搶攻嵌入式系統(tǒng)市場版圖創(chuàng)造更大的差異化優(yōu)勢。隨著SoC
    發(fā)表于 08-26 07:15

    SoC內(nèi)存映射分區(qū)表分享

    SoC中各個計算模塊內(nèi)存分區(qū)映射
    發(fā)表于 09-19 07:16

    基于FPGASOC系統(tǒng)中的串口設(shè)計

    基于FPGASOC 系統(tǒng)中的串口設(shè)計 作者:葛銳 歐鋼摘要:本文在XILINX FPGA 中采用嵌入式處理器Picoblaze 進(jìn)行SOC
    發(fā)表于 02-08 09:48 ?21次下載

    PCB如何進(jìn)行分區(qū)布線?

    PCB如何進(jìn)行分區(qū)布線?    設(shè)計分區(qū)可以分解為物理分區(qū)和電氣分區(qū)。物理
    發(fā)表于 03-25 11:54 ?2411次閱讀

    Altera公司SoC FPGA 簡介

    本文是關(guān)于Altera公司SoC FPGA 的用戶手冊(英文版) 。文中主要介紹了什么是SoC FPGA、SoC
    發(fā)表于 09-05 14:03 ?153次下載
    Altera公司<b class='flag-5'>SoC</b> <b class='flag-5'>FPGA</b> 簡介

    SoC設(shè)計中嵌入FPGA(eFPGA)內(nèi)核實(shí)用評估方法

    雖然系統(tǒng)級芯片( SoC )的架構(gòu)師們已了解嵌入式FPGA( eFPGA )內(nèi)核能如何為他們的ASIC/ SoC 設(shè)計增加價值,甚至是在規(guī)劃出一個具體應(yīng)用之前就了解,但可能還不清楚如何
    的頭像 發(fā)表于 09-20 09:51 ?4123次閱讀

    新硬盤進(jìn)行重新分區(qū)的簡單技巧

    大家都知道,對于全新的電腦來說,它的硬盤也都是全新的,用戶要使用的話,首先要給新的硬盤進(jìn)行分區(qū),那么該怎么對新硬盤進(jìn)行分區(qū)呢?很多用戶都是茫然的,就讓小編來告訴大家如何為新硬盤
    的頭像 發(fā)表于 09-23 10:30 ?1.4w次閱讀

    FPGA_soc學(xué)習(xí)教程:Intel Cyclone V SoC FPGA介紹

    小梅哥最新款FPGA_SOC
    的頭像 發(fā)表于 05-28 06:09 ?4321次閱讀

    FPGA_soc學(xué)習(xí)教程:SOC FPGA開發(fā)流程簡介

    小梅哥最新款FPGA_SOC
    的頭像 發(fā)表于 08-30 06:10 ?3890次閱讀
    <b class='flag-5'>FPGA_soc</b>學(xué)習(xí)教程:<b class='flag-5'>SOC</b> <b class='flag-5'>FPGA</b>開發(fā)流程簡介

    FPGA_soc學(xué)習(xí)教程:AC501 SOC FPGA開發(fā)板黃金參考設(shè)計說明

    小梅哥最新款FPGA_SOC
    的頭像 發(fā)表于 08-30 06:08 ?2077次閱讀
    <b class='flag-5'>FPGA_soc</b>學(xué)習(xí)教程:AC501 <b class='flag-5'>SOC</b> <b class='flag-5'>FPGA</b>開發(fā)板黃金參考設(shè)計說明

    對于eFPGAFPGA SoC之間的對比分析和異同

    如果說eFPGA是往SoC里面加入FPGA的話,那么FPGA SoC的概念就是在FPGA里面加上
    的頭像 發(fā)表于 09-04 16:12 ?3969次閱讀
    對于e<b class='flag-5'>FPGA</b>與<b class='flag-5'>FPGA</b> <b class='flag-5'>SoC</b>之間的對比分析和異同

    什么是SoC、SOPC、SoC FPGA?用在什么場景?

    開始SoC FPGA的學(xué)習(xí)路程還是蠻難的,不僅要熟悉整個的設(shè)計流程,而且還要掌握FPGA以及軟件方面的知識,尤其大概看了一下后面的整體設(shè)計部分,操作起來還是較為繁瑣的,以至于讓人暈頭轉(zhuǎn)向。盡管如此
    的頭像 發(fā)表于 03-30 10:13 ?9557次閱讀

    基于FPGASoC創(chuàng)建方案

    LiteX 框架為創(chuàng)建 FPGA 內(nèi)核/SoC、探索各種數(shù)字設(shè)計架構(gòu)和創(chuàng)建完整的基于 FPGA 的系統(tǒng)提供了方便高效的基礎(chǔ)架構(gòu)。
    發(fā)表于 06-28 09:08 ?717次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>SoC</b>創(chuàng)建方案

    linux系統(tǒng)如何進(jìn)行磁盤分區(qū)?

    linux系統(tǒng)如何進(jìn)行磁盤分區(qū)? 磁盤分區(qū)是在Linux系統(tǒng)中進(jìn)行硬盤劃分的一種方法,它可以將一個物理硬盤劃分為多個邏輯分區(qū),每個
    的頭像 發(fā)表于 12-19 11:35 ?964次閱讀

    fpga芯片和soc芯片的區(qū)別

    FPGA芯片和SoC芯片在多個方面存在顯著的區(qū)別。
    的頭像 發(fā)表于 03-14 17:28 ?2720次閱讀