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

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

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

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

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

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

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

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

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

輸入NoC

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

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

什么是NoC?

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

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

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

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

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

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

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

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

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

圖 2長(zhǎng)時(shí)序路徑可以跨越整個(gè) SoC。

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

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

物理感知NoC

在“物理感知”NoC IP 中,前端設(shè)計(jì)人員可以使用來(lái)自物理布局團(tuán)隊(duì)的早期 IP 布局信息來(lái)預(yù)測(cè)實(shí)現(xiàn)能力并解決任何潛在的時(shí)序問(wèn)題。作為其中的一部分,NoC 工具可以自動(dòng)定義 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)一步完善時(shí)序估計(jì)并確定流水線寄存器要求和位置。 通過(guò)以這種方式改進(jìn)前端設(shè)計(jì)并向后端工具提供更詳細(xì)的信息,可以顯著改進(jìn)整個(gè)過(guò)程,尤其是第一個(gè)物理實(shí)現(xiàn)。

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





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎ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)注

    68

    文章

    18927

    瀏覽量

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

    關(guān)注

    31

    文章

    5253

    瀏覽量

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

    關(guān)注

    0

    文章

    33

    瀏覽量

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

    關(guān)注

    0

    文章

    72

    瀏覽量

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

    關(guān)注

    0

    文章

    90

    瀏覽量

    16894

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    esp32c2同時(shí)開(kāi)啟wifi藍(lán)牙內(nèi)存ram會(huì)有點(diǎn)不夠用,如何能夠多節(jié)省點(diǎn)ram空間出來(lái)嗎?

    如題 esp32c2 同時(shí)開(kāi)啟wifi藍(lán)牙 內(nèi)存ram會(huì)有點(diǎn)不夠用,有大佬知道如何能夠多節(jié)省點(diǎn)ram空間出來(lái)嗎
    發(fā)表于 06-05 06:48

    stm32f103rbt6加上exfuns_init()函數(shù)就空間不夠用了,有什么好的建議?

    主芯片用的stm32f103rbt6 加上exfuns_init()函數(shù)就空間不夠用了,有什么好的建議? 板子已實(shí)現(xiàn)u盤(pán)功能。我想通過(guò)串口使用mf_scan_files(\"0:\")之類(lèi)的命令。但主函數(shù)中加入初始化語(yǔ)句就已經(jīng)容量不夠了。
    發(fā)表于 05-17 07:23

    請(qǐng)問(wèn)stm8s003f3裝6050的dmp是不是內(nèi)存會(huì)不夠用?

    stm8s003f3裝6050的dmp是不是內(nèi)存會(huì)不夠用啊??
    發(fā)表于 05-08 07:35

    怎么解決MCU RAM空間不夠用的問(wèn)題?

    之前使用沁恒公司的一款BLE芯片CH573,隨著代碼量的增多,開(kāi)發(fā)到后期時(shí)遇到了RAM空間不夠用的問(wèn)題,當(dāng)時(shí)嚇了我一跳,以為需要重新?lián)Q更大RAM的芯片。
    的頭像 發(fā)表于 05-01 09:57 ?958次閱讀
    怎么解決MCU RAM空間<b class='flag-5'>不夠用</b>的問(wèn)題?

    如果有六個(gè)獨(dú)立的PWM通道都需要測(cè)量ADC,是不是單片的STM32H7不夠用?

    大家好, STM32H7 系列中 由三個(gè)ADC, 每個(gè)ADC的轉(zhuǎn)換可以由 PWM Timer 觸發(fā)轉(zhuǎn)換。我的問(wèn)題是,如果有六個(gè)獨(dú)立的PWM 通道都需要 測(cè)量ADC,是不是單片的 STM32H7 不夠用 (我的理解是,單個(gè)ADC只能設(shè)置一個(gè) PWM timer 觸發(fā))? 只能用量
    發(fā)表于 04-18 07:49

    FANUC外部I/O點(diǎn)數(shù)不夠用了怎么辦?可以擴(kuò)展I/O點(diǎn)數(shù)嗎?

    FANUC外部I/O點(diǎn)數(shù)不夠用了怎么辦?可以擴(kuò)展I/O點(diǎn)數(shù)嗎? 擴(kuò)展FANUC的外部I/O點(diǎn)數(shù)是一種常見(jiàn)的需求,這可以通過(guò)一些方法來(lái)實(shí)現(xiàn)。 在FANUC控制系統(tǒng)中,I/O模塊被用于將外部設(shè)備與控制器
    的頭像 發(fā)表于 02-18 15:21 ?1324次閱讀

    單片機(jī)RAM不夠用怎么解決?

    來(lái)自一位用戶的咨詢,麻煩幫忙解答。越詳細(xì)越好,有圖有真相。如有相關(guān)的視頻、文檔也可以輔助說(shuō)明,謝謝。 單片機(jī)RAM不夠用怎么辦? 單片機(jī)都有RAM,如果我們一下子定義了一大堆的變量,使得變量占的空間大于RAM,這樣單片機(jī)還能運(yùn)行嗎?電腦出現(xiàn)這種問(wèn)題是怎么解決的
    發(fā)表于 02-02 07:35

    內(nèi)存不夠用的處理方法

    內(nèi)存不夠用的處理方法 內(nèi)存不夠用是許多計(jì)算機(jī)用戶普遍面臨的問(wèn)題。當(dāng)我們的計(jì)算機(jī)內(nèi)存不足時(shí),會(huì)導(dǎo)致系統(tǒng)運(yùn)行緩慢,應(yīng)用程序無(wú)法正常運(yùn)行,甚至直接導(dǎo)致計(jì)算機(jī)崩潰。然而,幸運(yùn)的是,我們有很多
    的頭像 發(fā)表于 12-28 11:15 ?830次閱讀

    局域網(wǎng)IP地址不夠用怎么解決

    如果是在一個(gè)小型的局域網(wǎng)里可能完全不必要考慮IP地址不夠的情況,但是在超過(guò)“255臺(tái)”電腦的大型局域網(wǎng)里,就必須要考慮電腦IP地址不夠用該如何解決了。
    的頭像 發(fā)表于 12-05 10:13 ?794次閱讀
    局域網(wǎng)IP地址<b class='flag-5'>不夠用</b>怎么解決

    請(qǐng)問(wèn)BF592用于做音頻處理RAM不夠用可以外掛SDRAM或者SRAM嗎?

    1:請(qǐng)問(wèn)下BF592 用于做音頻處理RAM不夠用可以外掛SDRAM或者SRAM嗎?如果可以有沒(méi)有相關(guān)的原理圖和軟件下載? 2:592是定點(diǎn)DSP,那對(duì)音頻采樣數(shù)據(jù)存儲(chǔ)時(shí)要定義成float類(lèi)型好呢
    發(fā)表于 11-30 07:20

    stc51單片機(jī)程序存儲(chǔ)區(qū)不夠用,可否在程序存儲(chǔ)區(qū)寫(xiě)一個(gè)bootloader,用戶程序放入自身的EEPROM?

    stc51單片機(jī)程序存儲(chǔ)區(qū)不夠用,可否在程序存儲(chǔ)區(qū)寫(xiě)一個(gè)bootloader,用戶程序放入自身的EEPROM?如何實(shí)現(xiàn)?
    發(fā)表于 11-09 07:09

    嵌入式系統(tǒng)中,內(nèi)存不夠用了怎么辦?

    嵌入式系統(tǒng)中,內(nèi)存不夠用了怎么辦? 隨著技術(shù)的不斷發(fā)展,微型化、便攜化的智能化設(shè)備正逐漸成為人們生活中不可或缺的一部分。然而,在這些設(shè)備中,嵌入式系統(tǒng)的內(nèi)存空間通常都非常有限,并且需要同時(shí)支持多種
    的頭像 發(fā)表于 10-29 16:33 ?854次閱讀

    不增加擴(kuò)展芯片,如何解決51單片機(jī)端口不夠用的問(wèn)題?

    為了實(shí)現(xiàn)51單片機(jī)的多功能控制,不增加擴(kuò)展芯片要如何解決51單片機(jī)端口不夠用的情況?
    發(fā)表于 10-26 07:41

    如何解決局域網(wǎng)ip地址不夠用問(wèn)題?

    如果是在一個(gè)小型的局域網(wǎng)里可能完全不必要考慮IP地址不夠的情況,但是在超過(guò)“255臺(tái)”電腦的大型局域網(wǎng)里,就必須要考慮電腦IP地址不夠用該如何解決了。
    發(fā)表于 10-23 10:16 ?1741次閱讀
    如何解決局域網(wǎng)ip地址<b class='flag-5'>不夠用</b>問(wèn)題?

    PCB面積總是不夠用?試試這個(gè)方案唄~

    PCB面積總是不夠用?試試這個(gè)方案唄~
    的頭像 發(fā)表于 10-17 15:14 ?818次閱讀
    PCB面積總是<b class='flag-5'>不夠用</b>?試試這個(gè)方案唄~