系統級晶片(SoC)的複雜設計選擇:片上網絡(NoC)

2020-12-27 電子工程專輯

Benoit在互連IP、ASIC工程和半導體IP方面擁有三十年的經驗。 他於2013年加入Arteris,擔任負責全球應用工程的應用總監,並提升為負責FlexNoC產品開發的技術副總裁。 在加入Arteris之前,他曾在歐洲的Sonics和Thomson Multimedia工作。

Benoit擁有七項發明專利,獲得巴黎Pierre et Marie Curie(UPMC)大學微電子學研究生學位。

1.什麼是片上網絡(NoC)?為什麼系統級晶片(SoC)設計需要NoC?

在介紹NoC相關歷史之前,我想提出一個觀點:NoC是一種SoC架構。從字面上看,NoC是SoC架構師在其框圖和平面圖中繪製的IP模塊之間連接的邏輯和物理實例。如此眾多的SoC設計團隊從Arm、Synopsys和Cadence等公司獲得IP模塊的授權許可,SoC設計趨向於同質化。實現SoC差異化設計的關鍵在於架構師如何選擇和連接這些IP模塊以滿足他們的系統級要求。

2.片上網絡(NoC)相比傳統的總線接口通信有什麼優點和缺點?

SoC所包含的IP模塊數量不斷增加,同時片上服務質量(QoS)、仲裁和數據流優化的複雜性越來越高, NoC逐漸取代總線和交叉開關(crossbar),而成為片上互連的行業標準。總線是共享的通信資源,除了最簡單的系統之外,總線無法提供系統所需的帶寬。交叉開關雖然可以提供足夠帶寬,但是其大小隨著所連接的IP模塊數量成倍增長,並且大型的交叉開關根本無法構建。 它們都不能很好地利用布線,而布線可是當今晶片技術中最為昂貴的東西。NoC可以極大地減少裸片面積(尤其是更少的布線),功耗更低,而且可以對片上數據流和服務質量進行微調優化,甚至可以提供數據保護功能以提高整個系統的功能安全性。

總線是系統級晶片發展的早期階段所採用的標準,那時連接的IP模塊(CPU、存儲器和外圍控制器等)可能不超過20個。 然而,隨著更多IP模塊連接到總線,它們開始爭奪優先級和可用的帶寬。總線需要集中的仲裁器和地址解碼邏輯,而隨著主機和從機數量的增加,大家競爭同一條總線資源,這反而成了SoC性能的瓶頸。

另一個問題是,針對總線定義的信令和事務沒有與傳輸通信分開。總線不會區分通常歸類為事務、傳輸和物理層的活動,因此總線結構無法適應系統架構的變化,或不能充分利用晶片工藝技術的迅速發展。

相反,片上網絡(NoC)採用獨立的事務、傳輸和物理層三層通信機制,來實現IP模塊的通信。 事務層可以接受AMBA、OCP甚至用戶定義的事務協議(讀取、寫入、響應等),然後將其發送到傳輸層以便轉換為數據包。數據包轉換可以使用任何能夠支持的事務協議來混合數據流,從而實現SoC的IP「即插即用」 。 此外,數據包轉換還可以靈活地為預期的系統級數據流特性而自定義物理層。 這樣可以針對物理組件(如交換機、防火牆等)及其連結進行帶寬、距離跨度、成本、所需功耗和數據完整性等方面的優化,而不會影響傳輸和事務層。

仍然有一些小型SoC設計會使用總線結構,例如基於Arm Cortex-M的MCU設計,其中集成的IP模塊可能只有10來個。但是我們看到,即使是這些設計也開始往NoC互連轉移,特別是那些有低功耗要求的設計,要求系統具有多個電源和時鐘域,而且相互之間要通信。在處理不同的時鐘和電源域方面,NoC比總線甚至交叉開關都要好得多。

3.高性能的SoC設計在性能、功耗和尺寸方面面臨哪些挑戰?

現在大多數高性能SoC設計均使用10 nm以下的先進工藝節點,其中電晶體的尺寸可縮小到令人難以置信的地步。這樣就可以將數十億個電晶體集成到一顆裸片上,而幾年前同樣尺寸的裸片只能容納幾億個電晶體。然而,金屬線寬還沒有縮小到電晶體那麼小,當系統中添加更多IP模塊時,連接它們所需的金屬線數量卻隨之增加,並且數據在片上傳輸所需的距離也增加了。對於5年前的SoC設計而言,NoC可能佔裸片面積的10%,但在當今的先進高性能SoC中,這一面積比卻在增加。但是,我們也在不斷改進NoC技術,使其能夠在高性能應用的高時鐘頻率和高電壓下運行。而當NoC不需要大帶寬時,我們能夠非常快速、透明地「使之節流」至節能模式。NoC技術提供了很多「槓桿」,SoC架構師可以使用它們針對特定的性能、功耗和面積要求進行優化。

4. 5G、AI和自動駕駛等新興應用對SoC設計提出了什麼特別要求?

所有這些新興應用都在創新的獨特架構中使用人工智慧/機器學習硬體加速器IP。 SoC架構師面臨的首要挑戰是如何為這些加速器提供高帶寬數據流,這就要求優化NoC以提供所需的帶寬而又不能阻塞整個系統其餘部分的通信。

其實最具技術挑戰性的AI / ML實施是在汽車和機器人領域,這些應用會使用神經網絡邊緣推理。但有一個問題,架構師必須同時滿足實時要求(比如在擊中目標對象之前對其進行檢測和分類)和功能安全性(空氣中一點輻射變化可不能導致機器人發瘋或汽車碰撞)。NoC技術提供了基礎技術,可確保整個SoC的通信延遲、帶寬和仲裁優先級,同時還通過ECC、硬體複製和檢查等技術手段來保護數據及避免信令硬體故障。

5.有哪些跟SoC設計相關的先進技術值得關注?

當我們為無人駕駛的自動駕駛汽車開發系統時,必須確保SoC即使出現故障也可以繼續安全運行。在航空系統中,我們用到一些「宏觀」級別的傳統技術,會使用三重模式冗餘和詳盡的檢查來確保安全。這些技術已被應用到「微觀」的半導體級別,納入到SoC設計中。但是,除了簡單地三倍增加邏輯(以及導線和門)以滿足要求之外,我們還需要做更多的事情,我相信在這一領域會有很多創新。

我們認為需要採用新技術的另一個領域是使用芯粒(chiplet)來擴展SoC。我們的客戶已經表示出擔心,對於某些用例,當前的標準(例如CXL和CCIX)對系統有多大的負擔和影響。絕對需要低延遲、高帶寬的芯粒互聯,這種連接可以讓單個NoC透明地跨越多個芯粒。

責編:Amy Guan

相關焦點

  • 系統級晶片(SoC)的複雜設計選擇:內核、IP、EDA和NoC
    而「系統級晶片」這個術語常用來指功能更加強大的處理器,比如可以支持運行Windows或Linux作業系統的處理器晶片。高性能系統級晶片集成了更多更強的功能模塊,一般都配備有外部存儲器,比如快閃記憶體。此外,系統級晶片往往配置有很多外部接口,可以連接各種外部設備。為了更快地執行複雜任務,一些SoC還採用了多個處理器內核。SoC的功能、性能和應用越來越複雜,對晶片設計和晶圓製造也提出了更高的要求。
  • 系統級晶片(SoC)的複雜設計選擇:RISC-V處理器內核
    這也對晶片設計企業提出了更高的要求,在做系統級晶片(SoC)的設計規劃時,我們以應用場景為中心,同時綜合面積、功耗以及性能等需求,選擇相應的工藝節點以及IP。不是功耗最低和性能最高才是最好的,只有最符合特定應用場景實際需求的晶片才是最適合的。這也就是晶片定製化的模式,其特點就是模塊化、快捷、靈活易於開發。
  • 系統級晶片(SoC)的複雜設計選擇:RISC-V及SoC設計平臺
    以CPU為例,是否需要DSP、FPU等處理單元;存儲結構(ICache/DCache,片上指令緊耦合SRAM,片上數據緊耦合SRAM)及容量大小,以及所需要的系統總線結構等。●軟體生態和用戶習慣:軟體生態和用戶習慣是一個看不見摸不著的東西,但對SoC設計來說至關重要。軟體開發環境(IDE,SDK等),基礎工具鏈(編譯器,調試器等),作業系統支持程度...
  • 系統級晶片(SoC)的複雜設計選擇:FPGA
    rMCEETC-電子工程專輯1.在做系統級晶片(SoC)的設計規劃時,需要考慮哪些主要因素?rMCEETC-電子工程專輯我覺得一定是先從市場需求以及相關需求的時間窗口作為起點,然後根據自身的人力與技術資源,結合開發的金錢成本、時間成本和維護成本,考慮工藝和IP的選擇。舉例來說,現在如果還在用40nm的工藝技術來設計SoC,將很難應對市場普遍需要低功耗的趨勢。
  • 國民技術選擇Cadence作為先進工藝系統SOC設計的優選供應商
    全球電子設計創新領先企業Cadence設計系統公司25日宣布,中國領先的無工廠IC設計企業國民技術股份有限公司在對Cadence® Virtuoso®、Encounter®、以及系統級封裝(SiP)技術進行了縝密的評估後,認為Cadence技術和方法學的強大組合,可幫助國民技術更好地實現在先進工藝條件下,複雜的系統級SOC的高品質設計。
  • SoC設計中的片上通信體系結構研究
    而在SoC設計中,片上通信的研究是國內外SoC設計基礎研究中的關鍵技術之一。本文引用地址:http://www.eepw.com.cn/article/157785.htm1 片上通信體系結構技術介紹 國內外片上通信體系結構的研究主要有五種:共享總線結構、片上網絡結構、交叉開關、點到點通信和混合片上通信結構。
  • SoC系統開發:FinFET在系統級意味著什麼
    從這些信息中,我們可以推斷出FinFET在系統級意味著什麼。  FinFET有什麼不同?  關於FinFET及其結構理論的討論已經有很多了,這裡我們不再重複這些討論。從電路設計人員的角度看,我們更關心FinFET究竟與平面MOSFET有什麼不同。
  • 基於Cortex-M0的藍牙SOC晶片及開發系統
    上海巨微集成電路有限公司是一家高可靠,低成本的無線晶片原廠,2014年7月成立於上海張江,在香港和深圳設辦公室,在無線射頻晶片和協議技術方面擁有核心技術,研發人員超過85%,博士學位超過20%,授權多項發明專利,專注「無線傳感網絡末梢節點」通用無線晶片和方案研發,BLE產品線已經實現超過百萬顆級月銷售量
  • 採用片上網絡(NoC)的新型FPGA數據架構賦能5G網絡和數據中心智能...
    這些新的系統不僅必須要具備高度可靠性,而且還需要滿足人類思維級別的響應時間,以確保嚴格的性能保證(如圖3所示),這就需要全新的架構。Ljbednc儘管可編程邏輯提供了最佳的功能組合,以支持新一代通信和網絡系統的複雜需求,但是傳統的可編程晶片產品無法滿足這些需求。為了平衡片上的處理、互連和外部I / O,必須對整個FPGA架構進行重新考慮。
  • 晶片設計的保障者,晶片設計之可測試設計技術詳解
    晶片設計是全球比較重視的行業之一,可以說晶片設計一定程度上決定了國家的生產製造水平。晶片設計通常包含多個階段,每個晶片設計階段的重點均有所不同。為保證晶片設計過程中的可靠性,可測試設計技術顯得尤為重要。因此,本文將對晶片設計中的這項技術加以詳細介紹。
  • IC之美:晶片設計幹嘛的?崗位?薪資?
    畢業季的時候,我們也會有很明顯的感覺,找IC設計方向工作的,基本都是數字IC方向,因為公司多,崗位多。設計一個晶片,首先要根據晶片的功能,去劃分模塊,寫電路 最早期,晶片規模小,功能比較少,一個工程師就能搞定,所以崗位很少的。但現在晶片規模大,流程複雜,就需要更精細的分工,因此就有很多崗位。
  • 淺談多核心CPU和SoC晶片及其工作原理
    單裸片封裝、多裸片MCM封裝及多晶片系統的示意圖(來源:參考資料14) 另外,今天的桌面計算機CPU、手機SoC中還集成了許多圖形處理器(GPU)核心、人工智慧處理器(APU)核心等,這些是否也應該算作多核心CPU和SoC中的「核心」呢?我覺得從廣義角度上應該算吧。
  • 詳解基於CAN總線的汽車儀表系統—晶片選型與電路設計
    系統MCU的選型在整個方案設計中至關重要,是主要功能實現的關鍵元件,並直接關係到外圍元器件的配置要求和整體方案的可實現性。系統性能的穩定性、功能需求的可靠性以及市場定位要求和合理的經濟性都是在MCU方案選擇中必須考慮的。
  • lol中noc是什麼英雄?lol夢魘為什麼叫noc
    ------------------------------------- 在英雄聯盟中,一些特殊的符號代表一定的意思,而一些特殊的單詞縮寫也有其特殊的含義,就像是賞金獵人被叫做MF,伊澤瑞爾被叫做EZ,烏迪爾又稱UD,那麼lol中的noc
  • 嵌入式系統設計的三個層次,你處在哪一層?
    具體設計包括硬體設計和軟體設計。硬體設計主要是根據性能參數要求對各功能模塊所需要使用的元器件進行選擇和組合,其選擇的基本原則就是市場上可以購買到的性價比最高的通用元器件。必要時,須分別對各個沒有把握的部分進行搭試、功能檢驗和性能測試,從模塊到系統找到相對優化的方案,畫出電路原理圖。
  • 基於CC2420晶片和ARM單片機實現智能交通系統的設計
    無線傳感器網絡具備優良特性,可以為智能交通系統的信息採集提供一種有效手段,可以監測路口各個方向上的車輛,根據監測結果,改進簡化、改進信號控制算法,提高交通效率。無線傳感器網絡可以應用於執行子系統中的控制子系統和引導子系統等方面。例如可以應用該技術改進信號控制器,實現智能公交系統的公交優先功能。
  • LEON3開源軟核處理器動態圖像邊緣檢測SoC設計
    實現了多路數據並行處理和DSP模塊加速處理,配合CPU軟核的協調參數配置功能,可以充分發揮硬體設計的高速性和靈活性。此外,由於動態圖像邊緣檢測是圖像處理應用中必不可少的一部分,因此文中設計的動態圖像邊緣檢測SoC可以方便的移植到其他圖像處理應用中,具有廣泛的應用前景。
  • 具有X86到ARM二進位翻譯的SoC系統設計
    這種並行處理使得整個系統的性能與使用單核處理器串行處理相同任務相比,有了很大改進。另外,多核架構設計可以復用現有的單核處理器作為處理器核心,從而可以縮短設計和驗證周期,節省開發成本,符合SoC設計的基本思路。多核架構是未來SoC發展的一個趨勢。
  • 片上亞太赫茲系統給自動駕駛車輛更敏銳的「視力」
    傳統的系統是由產生這種信號的離散部件組成的,其不僅體積大,而且成本高。從而就有了體積更小的片上傳感器陣列,但它們產生的信號很微弱。在2月8日由IEEE固態電路雜誌在線發表的一篇論文中,研究人員描述了一個二維亞太赫茲接收陣列,它位於一個數量級更靈敏的晶片上,這意味著它可以更好地捕捉和解釋在大量信號噪聲下的亞太赫茲波長。
  • 使用MCU或片上系統 (SOC)可以簡便地提高太陽能板的效率
    在這篇文章中,我們將討論的技術是,如何在系統級提高太陽能面板效率,包括太陽能電池板最大受光定位,最大限度地從太陽能板提取現有電力,以及智能電池壽命管理。框圖圖1.框圖        我們從框圖中可以看到,該系統的主要部件是一個MCU或一個片上系統(SoC)。