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