隨著SoC的容量和復雜性不斷增加,交叉開關(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)品的“秘密武器”。
當需要有限數(shù)量的 IP 來相互通信的互連相對簡單時,會使用經(jīng)典的總線架構(gòu)方法。負責極少數(shù)啟動器 IP 的設(shè)計人員使用了這種方法,這些啟動器 IP 將數(shù)據(jù)事務(wù)請求與響應(yīng)這些請求的多個目標 IP 相結(jié)合。 隨著 IP 數(shù)量和規(guī)模的增加以及它們承擔起發(fā)起者的角色,采用交叉開關(guān)形式的更復雜的互連架構(gòu)變得很有必要。
交叉開關(guān)是有利的,因為它允許任何發(fā)起者 IP 與任何目標 IP 對話。然而,隨著 SoC 的容量和復雜性不斷增加,交叉開關(guān)帶來了路由擁塞、硅芯片面積過度使用和功耗等挑戰(zhàn)。
輸入NoC
今天的 SoC 可以包含數(shù)百個 IP 塊,每個塊都比前幾代具有更多的邏輯門。通常,第三方供應(yīng)商提供大部分 IP。除了數(shù)據(jù)總線寬度、控制總線功能和工作頻率的變化之外,每個 IP 還可以采用多種接口協(xié)議中的一種——OCP、APB、AHB、AXI、STBus 和 DTL——這些協(xié)議已被 SoC 設(shè)計人員定義和采用. 應(yīng)對當今 SoC 中 IP 數(shù)量不斷增加的挑戰(zhàn)的解決方案是采用片上網(wǎng)絡(luò) (NoC)。
每個 IP 都配備了與 NoC 接口的套接字功能。在發(fā)起者觸發(fā)寫訪問的情況下,套接字序列化和打包由該 IP 生成的數(shù)據(jù),并將其傳輸?shù)狡漕A(yù)期目標。反過來,與目標關(guān)聯(lián)的套接字將從數(shù)據(jù)包中提取要寫入的數(shù)據(jù),并將其轉(zhuǎn)換為目標協(xié)議。可以同時有多個數(shù)據(jù)包。
什么是NoC?
NoC 可以通過多種拓撲結(jié)構(gòu)實現(xiàn),包括不規(guī)則樹、規(guī)則環(huán)和網(wǎng)狀或圓環(huán)結(jié)構(gòu)。高維架構(gòu)也可用于某些設(shè)計,包括三維立方體和四維和五維超立方體。
在大多數(shù)情況下,單個 NoC 是不夠的,設(shè)計人員經(jīng)常將其互連分解為數(shù)十個 NoC 的組合。雖然非高速緩存一致的 NoC 可以滿足大多數(shù)外設(shè)的要求,但處理器和加速器等 IP 通常受益于高速緩存一致的 NoC 的功能。此外,SoC 的某些部分,例如人工智能/機器學習 (AI/ML) 處理節(jié)點陣列,可能會受益于網(wǎng)狀 NoC 架構(gòu)。
因此,SoC 可以輕松地結(jié)合多個 NoC 拓撲以實現(xiàn)最佳結(jié)果。 除了用于將 IP 連接到 NoC 的套接字之外,網(wǎng)絡(luò)還將包括必要的交換機和緩沖區(qū)。此外,隨著用于實現(xiàn) SoC 的工藝節(jié)點不斷縮小,走線的電阻增加,導致信號在通過器件時出現(xiàn)電阻-電容延遲。
因此,信號無法再在單個時鐘周期內(nèi)遍歷設(shè)備的全部或部分。解決這個問題需要在信號通路中插入流水線寄存器。然而,優(yōu)化它們的數(shù)量和位置是一項艱巨的任務(wù)。
圖 1這是典型 NoC 配置和實施流程的概覽。來源:Arteris IP
SoC 的開發(fā)是雙重的——前端(上游)和后端(下游)設(shè)計(見圖1)。前端設(shè)計側(cè)重于邏輯和功能方面,例如使用哪些 IP、如何連接它們以及如何構(gòu)建網(wǎng)絡(luò)以確保預(yù)期的吞吐量和延遲。另一方面,后端設(shè)計處理芯片的物理方面,包括 IP 相對于彼此的放置位置以及時序是否可以滿足。只有在這個階段,設(shè)計人員才會知道放置流水線寄存器的數(shù)量和位置。
執(zhí)行完整的物理布局是一個耗時的過程。任何無法在后端解決的問題都必須在前端返工,這將重新啟動耗時的物理布局過程(參見圖 2)。能夠在流程的早期主動插入流水線寄存器對于實現(xiàn)任務(wù)的收斂和整個項目的周轉(zhuǎn)時間非常有價值。
圖 2長時序路徑可以跨越整個 SoC。
這給前端設(shè)計團隊帶來了很大壓力,他們不一定擁有做出明智決策所需的所有信息。插入太少的流水線寄存器會導致 SoC 無法滿足物理布局中的時序要求。這導致通過插入太多流水線階段來過度設(shè)計問題的趨勢。
盡管可能會滿足時序要求,但級數(shù)過多會增加延遲和功耗。 所有這一切的結(jié)果是,僅擁有套接字、開關(guān)、緩沖區(qū)和流水線寄存器形式的原始 NoC。為了驗證性能和實現(xiàn)時序,NoC 的實現(xiàn)工具有必要了解它們將服務(wù)的環(huán)境。
物理感知NoC
在“物理感知”NoC IP 中,前端設(shè)計人員可以使用來自物理布局團隊的早期 IP 布局信息來預(yù)測實現(xiàn)能力并解決任何潛在的時序問題。作為其中的一部分,NoC 工具可以自動定義 RTL 中流水線寄存器的理想數(shù)量和位置,并生成相關(guān)的實現(xiàn)約束。
當今的 NoC 技術(shù)遠遠超出了許多設(shè)計人員的預(yù)期。例如,NoC 生成器利用特定于工藝技術(shù)節(jié)點的幾何和延遲信息。此信息使我們能夠進一步完善時序估計并確定流水線寄存器要求和位置。 通過以這種方式改進前端設(shè)計并向后端工具提供更詳細的信息,可以顯著改進整個過程,尤其是第一個物理實現(xiàn)。
這可以顯著減少后端到前端的迭代次數(shù),從而降低風險、提高生產(chǎn)率、降低成本并加快上市時間和資金周轉(zhuǎn)時間。
審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
19811瀏覽量
233589 -
寄存器
+關(guān)注
關(guān)注
31文章
5421瀏覽量
123371 -
片上網(wǎng)絡(luò)
+關(guān)注
關(guān)注
0文章
33瀏覽量
11960 -
OCP
+關(guān)注
關(guān)注
0文章
80瀏覽量
16718 -
硅芯片
+關(guān)注
關(guān)注
0文章
92瀏覽量
17230
原文標題:?SoC設(shè)計:什么時候片上網(wǎng)絡(luò) (NoC) 不夠用?
文章出處:【微信號:ICViews,微信公眾號:半導體產(chǎn)業(yè)縱橫】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
芯馳科技與Arteris深化合作
別再說你的單片機RAM不夠用了,來看看這個吧(可下載)
S32G DMA和Noc之間的區(qū)別是什么?
STM32f407+TOUCHGFX用CubeMX生成后編譯不通過是哪里出了問題?
STM32u585的octospi只能開啟一個CLK時鐘,AMOLED和PSRAM能否共用呢?
請問Nirscan Nano DLP有沒有可在700-2500全波段使用的?
hyper v 上網(wǎng),Hyper-V 上網(wǎng):Hyper-V的網(wǎng)絡(luò)連接與上網(wǎng)設(shè)置

評論