隨著SoC的容量和復(fù)雜性不斷增加,交叉開關(guān)帶來了路由擁塞、硅芯片面積過度使用和功耗等挑戰(zhàn)。
在不久的過去,片上系統(tǒng) (SoC) 設(shè)備與今天的產(chǎn)品相比相對簡單。早期的 SoC 通常由 10 到 20 個(gè)IP塊組成,每個(gè)塊通常由大約 10,000 到 50,000 個(gè)邏輯門組成。大多數(shù)這些 IP,包括處理器和外圍功能,都是從第三方供應(yīng)商處獲得許可的。開發(fā)人員通常只創(chuàng)建一個(gè)或兩個(gè) IP,其中包含使他們的 SoC 區(qū)別于其他競爭產(chǎn)品的“秘密武器”。 當(dāng)需要有限數(shù)量的 IP 來相互通信的互連相對簡單時(shí),會(huì)使用經(jīng)典的總線架構(gòu)方法。負(fù)責(zé)極少數(shù)啟動(dòng)器 IP 的設(shè)計(jì)人員使用了這種方法,這些啟動(dòng)器 IP 將數(shù)據(jù)事務(wù)請求與響應(yīng)這些請求的多個(gè)目標(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ù)百個(gè) IP 塊,每個(gè)塊都比前幾代具有更多的邏輯門。通常,第三方供應(yīng)商提供大部分 IP。除了數(shù)據(jù)總線寬度、控制總線功能和工作頻率的變化之外,每個(gè) 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)。每個(gè) 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í)有多個(gè)數(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ù)情況下,單個(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)在通過器件時(shí)出現(xiàn)電阻-電容延遲。因此,信號(hào)無法再在單個(gè)時(shí)鐘周期內(nèi)遍歷設(shè)備的全部或部分。解決這個(gè)問題需要在信號(hào)通路中插入流水線寄存器。然而,優(yōu)化它們的數(shù)量和位置是一項(xiàng)艱巨的任務(wù)。
圖 1這是典型 NoC 配置和實(shí)施流程的概覽。來源:Arteris IP
SoC 的開發(fā)是雙重的——前端(上游)和后端(下游)設(shè)計(jì)(見圖1)。前端設(shè)計(jì)側(cè)重于邏輯和功能方面,例如使用哪些 IP、如何連接它們以及如何構(gòu)建網(wǎng)絡(luò)以確保預(yù)期的吞吐量和延遲。另一方面,后端設(shè)計(jì)處理芯片的物理方面,包括 IP 相對于彼此的放置位置以及時(shí)序是否可以滿足。只有在這個(gè)階段,設(shè)計(jì)人員才會(huì)知道放置流水線寄存器的數(shù)量和位置。 執(zhí)行完整的物理布局是一個(gè)耗時(shí)的過程。任何無法在后端解決的問題都必須在前端返工,這將重新啟動(dòng)耗時(shí)的物理布局過程(參見圖 2)。能夠在流程的早期主動(dòng)插入流水線寄存器對于實(shí)現(xiàn)任務(wù)的收斂和整個(gè)項(xiàng)目的周轉(zhuǎn)時(shí)間非常有價(jià)值。
圖 2長時(shí)序路徑可以跨越整個(gè) SoC。來源:Arteris IP
這給前端設(shè)計(jì)團(tuán)隊(duì)帶來了很大壓力,他們不一定擁有做出明智決策所需的所有信息。插入太少的流水線寄存器會(huì)導(dǎo)致 SoC 無法滿足物理布局中的時(shí)序要求。這導(dǎo)致通過插入太多流水線階段來過度設(shè)計(jì)問題的趨勢。盡管可能會(huì)滿足時(shí)序要求,但級(jí)數(shù)過多會(huì)增加延遲和功耗。 所有這一切的結(jié)果是,僅擁有套接字、開關(guān)、緩沖區(qū)和流水線寄存器形式的原始 NoC。為了驗(yàn)證性能和實(shí)現(xiàn)時(shí)序,NoC 的實(shí)現(xiàn)工具有必要了解它們將服務(wù)的環(huán)境。
物理感知NoC
在“物理感知”NoC IP 中,前端設(shè)計(jì)人員可以使用來自物理布局團(tuán)隊(duì)的早期 IP 布局信息來預(yù)測實(shí)現(xiàn)能力并解決任何潛在的時(shí)序問題。作為其中的一部分,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ì)并確定流水線寄存器要求和位置。 通過以這種方式改進(jìn)前端設(shè)計(jì)并向后端工具提供更詳細(xì)的信息,可以顯著改進(jìn)整個(gè)過程,尤其是第一個(gè)物理實(shí)現(xiàn)。這可以顯著減少后端到前端的迭代次數(shù),從而降低風(fēng)險(xiǎn)、提高生產(chǎn)率、降低成本并加快上市時(shí)間和資金周轉(zhuǎn)時(shí)間。
編輯:黃飛
-
寄存器
+關(guān)注
關(guān)注
31文章
5357瀏覽量
120613 -
片上網(wǎng)絡(luò)
+關(guān)注
關(guān)注
0文章
33瀏覽量
11818
原文標(biāo)題:?SoC設(shè)計(jì):什么時(shí)候片上網(wǎng)絡(luò) (NoC) 不夠用?
文章出處:【微信號(hào):IP與SoC設(shè)計(jì),微信公眾號(hào):IP與SoC設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論