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

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

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

什么時候片上網(wǎng)絡(luò) (NoC) 不夠用?

半導(dǎo)體產(chǎn)業(yè)縱橫 ? 來源:半導(dǎo)體產(chǎn)業(yè)縱橫 ? 2023-06-11 10:16 ? 次閱讀

隨著SoC的容量和復(fù)雜性不斷增加,交叉開關(guān)帶來了路由擁塞、硅芯片面積過度使用和功耗等挑戰(zhàn)。

在不久的過去,片上系統(tǒng) (SoC) 設(shè)備與今天的產(chǎn)品相比相對簡單。早期的 SoC 通常由 10 到 20 個IP塊組成,每個塊通常由大約 10,000 到 50,000 個邏輯門組成。大多數(shù)這些 IP,包括處理器和外圍功能,都是從第三方供應(yīng)商處獲得許可的。開發(fā)人員通常只創(chuàng)建一個或兩個 IP,其中包含使他們的 SoC 區(qū)別于其他競爭產(chǎn)品的“秘密武器”。

當(dāng)需要有限數(shù)量的 IP 來相互通信的互連相對簡單時,會使用經(jīng)典的總線架構(gòu)方法。負(fù)責(zé)極少數(shù)啟動器 IP 的設(shè)計(jì)人員使用了這種方法,這些啟動器 IP 將數(shù)據(jù)事務(wù)請求與響應(yīng)這些請求的多個目標(biāo) IP 相結(jié)合。 隨著 IP 數(shù)量和規(guī)模的增加以及它們承擔(dān)起發(fā)起者的角色,采用交叉開關(guān)形式的更復(fù)雜的互連架構(gòu)變得很有必要。

交叉開關(guān)是有利的,因?yàn)樗试S任何發(fā)起者 IP 與任何目標(biāo) IP 對話。然而,隨著 SoC 的容量和復(fù)雜性不斷增加,交叉開關(guān)帶來了路由擁塞、硅芯片面積過度使用和功耗等挑戰(zhàn)。

輸入NoC

今天的 SoC 可以包含數(shù)百個 IP 塊,每個塊都比前幾代具有更多的邏輯門。通常,第三方供應(yīng)商提供大部分 IP。除了數(shù)據(jù)總線寬度、控制總線功能和工作頻率的變化之外,每個 IP 還可以采用多種接口協(xié)議中的一種——OCP、APB、AHB、AXI、STBus 和 DTL——這些協(xié)議已被 SoC 設(shè)計(jì)人員定義和采用. 應(yīng)對當(dāng)今 SoC 中 IP 數(shù)量不斷增加的挑戰(zhàn)的解決方案是采用片上網(wǎng)絡(luò) (NoC)。

每個 IP 都配備了與 NoC 接口的套接字功能。在發(fā)起者觸發(fā)寫訪問的情況下,套接字序列化和打包由該 IP 生成的數(shù)據(jù),并將其傳輸?shù)狡漕A(yù)期目標(biāo)。反過來,與目標(biāo)關(guān)聯(lián)的套接字將從數(shù)據(jù)包中提取要寫入的數(shù)據(jù),并將其轉(zhuǎn)換為目標(biāo)協(xié)議??梢酝瑫r有多個數(shù)據(jù)包。

什么是NoC?

NoC 可以通過多種拓?fù)浣Y(jié)構(gòu)實(shí)現(xiàn),包括不規(guī)則樹、規(guī)則環(huán)和網(wǎng)狀或圓環(huán)結(jié)構(gòu)。高維架構(gòu)也可用于某些設(shè)計(jì),包括三維立方體和四維和五維超立方體。

在大多數(shù)情況下,單個 NoC 是不夠的,設(shè)計(jì)人員經(jīng)常將其互連分解為數(shù)十個 NoC 的組合。雖然非高速緩存一致的 NoC 可以滿足大多數(shù)外設(shè)的要求,但處理器和加速器等 IP 通常受益于高速緩存一致的 NoC 的功能。此外,SoC 的某些部分,例如人工智能/機(jī)器學(xué)習(xí) (AI/ML) 處理節(jié)點(diǎn)陣列,可能會受益于網(wǎng)狀 NoC 架構(gòu)。

因此,SoC 可以輕松地結(jié)合多個 NoC 拓?fù)湟詫?shí)現(xiàn)最佳結(jié)果。 除了用于將 IP 連接到 NoC 的套接字之外,網(wǎng)絡(luò)還將包括必要的交換機(jī)和緩沖區(qū)。此外,隨著用于實(shí)現(xiàn) SoC 的工藝節(jié)點(diǎn)不斷縮小,走線的電阻增加,導(dǎo)致信號在通過器件時出現(xiàn)電阻-電容延遲。

因此,信號無法再在單個時鐘周期內(nèi)遍歷設(shè)備的全部或部分。解決這個問題需要在信號通路中插入流水線寄存器。然而,優(yōu)化它們的數(shù)量和位置是一項(xiàng)艱巨的任務(wù)。

45ada072-074e-11ee-962d-dac502259ad0.png

圖 1這是典型 NoC 配置和實(shí)施流程的概覽。來源:Arteris IP

SoC 的開發(fā)是雙重的——前端(上游)和后端(下游)設(shè)計(jì)(見圖1)。前端設(shè)計(jì)側(cè)重于邏輯和功能方面,例如使用哪些 IP、如何連接它們以及如何構(gòu)建網(wǎng)絡(luò)以確保預(yù)期的吞吐量和延遲。另一方面,后端設(shè)計(jì)處理芯片的物理方面,包括 IP 相對于彼此的放置位置以及時序是否可以滿足。只有在這個階段,設(shè)計(jì)人員才會知道放置流水線寄存器的數(shù)量和位置。

執(zhí)行完整的物理布局是一個耗時的過程。任何無法在后端解決的問題都必須在前端返工,這將重新啟動耗時的物理布局過程(參見圖 2)。能夠在流程的早期主動插入流水線寄存器對于實(shí)現(xiàn)任務(wù)的收斂和整個項(xiàng)目的周轉(zhuǎn)時間非常有價值。

45d5022a-074e-11ee-962d-dac502259ad0.png

圖 2長時序路徑可以跨越整個 SoC。

這給前端設(shè)計(jì)團(tuán)隊(duì)帶來了很大壓力,他們不一定擁有做出明智決策所需的所有信息。插入太少的流水線寄存器會導(dǎo)致 SoC 無法滿足物理布局中的時序要求。這導(dǎo)致通過插入太多流水線階段來過度設(shè)計(jì)問題的趨勢。

盡管可能會滿足時序要求,但級數(shù)過多會增加延遲和功耗。 所有這一切的結(jié)果是,僅擁有套接字、開關(guān)、緩沖區(qū)和流水線寄存器形式的原始 NoC。為了驗(yàn)證性能和實(shí)現(xiàn)時序,NoC 的實(shí)現(xiàn)工具有必要了解它們將服務(wù)的環(huán)境。

物理感知NoC

在“物理感知”NoC IP 中,前端設(shè)計(jì)人員可以使用來自物理布局團(tuán)隊(duì)的早期 IP 布局信息來預(yù)測實(shí)現(xiàn)能力并解決任何潛在的時序問題。作為其中的一部分,NoC 工具可以自動定義 RTL 中流水線寄存器的理想數(shù)量和位置,并生成相關(guān)的實(shí)現(xiàn)約束。

當(dāng)今的 NoC 技術(shù)遠(yuǎn)遠(yuǎn)超出了許多設(shè)計(jì)人員的預(yù)期。例如,NoC 生成器利用特定于工藝技術(shù)節(jié)點(diǎn)的幾何和延遲信息。此信息使我們能夠進(jìn)一步完善時序估計(jì)并確定流水線寄存器要求和位置。 通過以這種方式改進(jìn)前端設(shè)計(jì)并向后端工具提供更詳細(xì)的信息,可以顯著改進(jìn)整個過程,尤其是第一個物理實(shí)現(xiàn)。

這可以顯著減少后端到前端的迭代次數(shù),從而降低風(fēng)險、提高生產(chǎn)率、降低成本并加快上市時間和資金周轉(zhuǎn)時間。





審核編輯:劉清

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

    關(guān)注

    68

    文章

    19833

    瀏覽量

    233882
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5426

    瀏覽量

    123665
  • 片上網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    11974
  • OCP
    OCP
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    16737
  • 硅芯片
    +關(guān)注

    關(guān)注

    0

    文章

    92

    瀏覽量

    17245

原文標(biāo)題:?SoC設(shè)計(jì):什么時候片上網(wǎng)絡(luò) (NoC) 不夠用?

文章出處:【微信號:ICViews,微信公眾號:半導(dǎo)體產(chǎn)業(yè)縱橫】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    芯馳科技與Arteris深化合作

    近日,上海國際車展期間,芯馳科技與IP供應(yīng)商 Arteris聯(lián)合宣布深化合作,基于Arteris上網(wǎng)絡(luò)NoC)IP,在高流量、低延遲的上總線互聯(lián)技術(shù)方面開展技術(shù)協(xié)同,共同應(yīng)對高性
    的頭像 發(fā)表于 05-06 14:37 ?386次閱讀

    單片LTM8067隔離輸出電流不夠,是否可將兩或多并聯(lián)使用?

    單片LTM8067隔離輸出電流不夠,是否可將兩或多并聯(lián)使用
    發(fā)表于 04-18 07:01

    【CW32模塊使用】16路舵機(jī)驅(qū)動模塊

    當(dāng)你在一個項(xiàng)目中碰到了微控制器芯片的PWM輸出引腳不夠用的情況,那么這款PCA968516路舵機(jī)就能很快幫助您解決這個問題了。
    的頭像 發(fā)表于 03-29 17:24 ?657次閱讀
    【CW32模塊使用】16路舵機(jī)驅(qū)動模塊

    別再說你的單片機(jī)RAM不夠用了,來看看這個吧(可下載)

    當(dāng)我們寫代碼的時候,會用到很多變量,如果隨意的定義變量,比如寫了 N 多個“unsigned char/int X;”那么代碼可能會顯的很亂,自己拐回頭看的時候都暈掉了,這個時候我們可以構(gòu)造一個復(fù)雜
    發(fā)表于 03-28 14:12 ?0次下載

    S32G DMA和Noc之間的區(qū)別是什么?

    當(dāng)我閱讀 S32G3 參考手冊時,我對 S32G DMA 和 Noc 之間的區(qū)別有疑問。由于 NoC 支持內(nèi)核、外設(shè)和 SRAM 之間的通信,并且 DMA 還可以在內(nèi)存塊和 I/O 塊之間傳輸數(shù)據(jù)(沒有內(nèi)核?我不確定)。
    發(fā)表于 03-17 08:25

    STM32f407+TOUCHGFX用CubeMX生成后編譯不通過是哪里出了問題?

    用CubeMX生成的STM32f407+TOUCHGFX,一路默認(rèn),生成文件后,一堆函數(shù)顯示找不到,還有就是RAM不夠用,是哪個沒配置好嗎?
    發(fā)表于 03-12 07:55

    STM32u585的octospi只能開啟一個CLK時鐘,AMOLED和PSRAM能否共用呢?

    想用來做一個手表,怕內(nèi)存不夠用想外擴(kuò),不知道2mb flash和768kb的sram夠不夠,打算外擴(kuò)esp-psram,8M。希望能夠有大佬能夠給出建議,感謝回答??!
    發(fā)表于 03-07 07:23

    PCB電路板上連接器插不進(jìn)去,客戶說你用力

    PCB電路板上的連接器插不去,找客戶確認(rèn),客戶說你不夠用力……
    的頭像 發(fā)表于 03-03 14:40 ?328次閱讀
    PCB電路板上連接器插不進(jìn)去,客戶說你用力

    請問Nirscan Nano DLP有沒有可在700-2500全波段使用的?

    好像該設(shè)備只支持900-1700似乎不夠用。我們想試試NIR 在纖維成分的檢測應(yīng)用上到底是否可行,各位有這方面的信息嗎?
    發(fā)表于 02-27 06:30

    hyper v 上網(wǎng),Hyper-V 上網(wǎng):Hyper-V的網(wǎng)絡(luò)連接與上網(wǎng)設(shè)置

    的數(shù)據(jù)處理解決方案。今天就為大家介紹Hyper-V上網(wǎng):Hyper-V的網(wǎng)絡(luò)連接與上網(wǎng)設(shè)置。 ? ?在Hyper-V虛擬化環(huán)境中,網(wǎng)絡(luò)連接與上網(wǎng)
    的頭像 發(fā)表于 02-07 10:30 ?2432次閱讀
    hyper v <b class='flag-5'>上網(wǎng)</b>,Hyper-V <b class='flag-5'>上網(wǎng)</b>:Hyper-V的<b class='flag-5'>網(wǎng)絡(luò)</b>連接與<b class='flag-5'>上網(wǎng)</b>設(shè)置

    ADS1204 CLKSEL置1時,如何采集數(shù)據(jù)?怎么知道什么時候是最高位?什么時候是最低位?

    當(dāng)CLKSEL置1時,如何采集數(shù)據(jù)?意思是怎么知道什么時候是最高位?什么時候是最低位?
    發(fā)表于 02-06 06:51

    AMC1304L05 PWMx可以用晶振來替代嗎?

    請問圖中的PWMx可以用晶振來替代嗎,芯片引腳不夠用
    發(fā)表于 11-28 06:29

    一般運(yùn)算放大器什么時候是數(shù)字電壓供電什么時候是模擬電壓供電?

    您好,我發(fā)現(xiàn)在有的電路中,運(yùn)算放大器是數(shù)字電源,有時候又是模擬電源供電,請問一般運(yùn)算放大器什么時候是數(shù)字電壓供電什么時候是模擬電壓供電?
    發(fā)表于 09-11 06:03

    ESP32-WROOM-32D gpio口不夠,是否可以把D0-D4用作GPIO?

    現(xiàn)在我在設(shè)計(jì)中發(fā)現(xiàn)IO不夠用,想把D0-D4用作常用的GPIO,請問需要在哪里設(shè)置?? 看資料D0為GPIO7 D1為GPIO8 D2為GPIO9 D3為GPIO10;現(xiàn)在設(shè)置為GPIO后,就會引起重啟!
    發(fā)表于 06-24 08:39

    請問ESP32S2什么時候可以支持USB HOST讀取U盤?

    請問 ESP32S2什么時候可以支持USB HOST讀取U盤
    發(fā)表于 06-21 06:07

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品