片上網絡(NoC)技術的發展及其給高端FPGA帶來的優勢

Speedster 7t FPGA上的二維片上網絡(2D NoC)支持高帶寬數據加速應用

1、概述

在摩爾定律的推動下,集成電路工藝取得了高速發展,單位面積上的晶體管數量不斷增加。片上系統(System-on-Chip,SoC)具有集成度高、功耗低、成本低等優勢,已經成為大規模集成電路系統設計的主流方向,解決了通信、圖像、計算、消費電子等領域的眾多挑戰性的難題。隨著片上系統SoC的應用需求越來越豐富,SoC需要集成越來越多的不同應用的IP(Intellectual Property)。另外,片上多核系統MPSoC(Multi Processor-System-on-Chip)也已經成為必然的發展趨勢。

隨著SoC的高度集成以及MPSoC的高速發展,對片上通信提出了更高的要求。片上網絡技術(Network-on-Chip,NoC)在這個時候也得到了極大的應用,它本質上就是提供一種解決芯片內不同IP或者不同核心之間數據傳輸的片上通信方案。

片上網絡技術從發明至今已有20多年的歷史,在SoC中已經有了廣泛的應用。針對片上網絡高帶寬、低延遲的特性,主流FPGA公司也開始考慮將NoC用於高端FPGA中來解決數據傳輸的高帶寬需求。Achronix的新一代7nm工藝的Speedster 7t便是最早集成了NoC的高端FPGA之一。如圖1所示。

片上網絡(NoC)技術的發展及其給高端FPGA帶來的優勢

圖1 Speedster 7t FPGA結構圖

2、片上互連架構的發展

片上互聯架構的發展主要經歷了三個階段:共享總線(Bus)、Crossbar以及片上網絡(NoC)[1]。

(1)傳統的SoC片上通信結構一般採用共享總線的方式。在共享總線結構中,所有的處理器和IP模塊共享一條或多條總線。當有多個處理器同時訪問一條總線時候需要有仲裁機制來決定總線的所有權。共享總線片上通信系統結構一般比較簡單,且硬件代價也小。但是帶寬有限,而且帶寬也沒法隨著IP的增多而進行擴展。1996年,ARM公司提出的AMBA總線廣泛應用於嵌入式微處理器的片上總線,現在已經成為事實上的工業標準。

片上網絡(NoC)技術的發展及其給高端FPGA帶來的優勢

圖2 典型的AMBA總線系統[2]

(2)對於傳統的共享總線,當多個處理器同時去訪問不同的IP的時候,因為需要仲裁機制去決定總線的所有權,所以傳統的總線方式在這種情況下就會造成一定的瓶頸,最大的問題就是訪問的延時。在這種情況下,為了滿足多處理同時訪問的需求同時提高整個系統的帶寬,一種新的解決方案Crossbar孕育而生,如圖3所示一個典型的Crossbar結構。

Crossbar保證了多路通信同時進行的實時性,只要不是訪問同一個目標設備,就不需要用到仲裁,大大減少了因為仲裁帶來的瓶頸問題。但是隨著設備數的增加,Crossbar的規模會以幾何級數增長。所以通常我們通過橋接設備去級聯多個Crossbar來支持設備的擴展。但是橋接設備可能會成為系統的瓶頸,增加傳輸的延遲。

片上網絡(NoC)技術的發展及其給高端FPGA帶來的優勢

圖3 典型的單向8x8 Crossbar

實際應用中,我們通常也會採用Crossbar和共享總線相結合的方式,用橋接器將Crossbar網絡和共享總線網絡連接起來,如圖4所示一個典型的混合型拓撲結構。

片上網絡(NoC)技術的發展及其給高端FPGA帶來的優勢

圖4 典型的混合拓撲網絡

(3)片上網絡NoC帶來了一種全新的片上通信方法,顯著優於傳統的總線式和Crossbar的性能。NoC是一種可擴展性更好的設計。在NoC架構中,每一個模塊都連接到片上路由器,模塊傳輸的數據則是形成了一個個數據包,通過路由器去送達數據包的目標模塊。如圖5所示是一個典型的NoC結構,圖中的R表示Router,所有的Router可以是同步,但每個Router所連接的PE(Processing Element)與Router異步,自成一個時鐘域(Clock Domain)。所以基於NoC的系統能更好地適應在複雜多核SoC設計中使用的全局異步局部同步時鐘機制。另外,NoC可以支持各種擴展功能,比如流量控制(flow control)、服務質量(QoS)等等。因此,NoC是多核系統的最佳互聯機制。

片上網絡(NoC)技術的發展及其給高端FPGA帶來的優勢

圖5 典型的片上網絡NoC結構

3、NoC在高端FPGA的應用

FPGA在日益增長的數據加速需求上正在發揮越來越重要的作用。為了滿足雲計算和邊緣計算中各種高性能應用的需求,FPGA作為一種可編程可定製化的高性能的器件逐步成為一條部署高吞吐量數據加速的快捷途徑。但同時這些高性能的加速應用也對高端FPGA提出了更高的要求,高算力、高帶寬的數據傳輸以及高帶寬的存儲器。

片上網絡技術已經比較廣泛的用於SoC中,並取得了比較好的效果。近年來才慢慢用於FPGA中,Achronix創建了一種可最大限度地提高系統吞吐量的Speedster 7t FPGA芯片,創新地將二維片上網絡(2D NoC)運用到了FPGA中,可以在邏輯陣列內的處理單元與各種片上高速接口和存儲器接口之間高速地傳輸數據,真正實現了數據密集型應用吞吐量的最大化。有了片上網絡的FPGA如虎添翼,帶來了傳統FPGA所不及的很多優勢,勢必在各種數據加速應用中發揮巨大的作用。

4、NoC給Speedster 7t FPGA帶來的優勢

Achronix Speedster 7t FPGA擁有支持單通道速率112Gbps的SerDes、400G以太網MAC、PCIe GEN5控制器以及帶寬高達4Tbps帶寬的GDDR6控制器,為各種數據加速應用提供了高帶寬的I/O接口和高帶寬的存儲器。在這類應用中,會有大量的數據進入FPGA進行處理,處理後的數據會通過FPGA輸出,所以除了FPGA算力以外,數據移動速度直接決定了器件的性能以及用戶的體驗。為了提高數據傳輸速率,Achronix在Speedster 7t FPGA中專門設計了不同於傳統FPGA數據移動通道的片上網絡。如圖6所示。這是一個可橫跨和垂直跨越FPGA邏輯陣列的創新性的、高帶寬的二維片上網絡(2D NoC),它不僅可以連接到所有FPGA高速接口、高帶寬存儲器接口,還可以作為內部邏輯之間的互連。

片上網絡(NoC)技術的發展及其給高端FPGA帶來的優勢

圖6 Speedster 7t片上網絡(NoC)結構

Speedster 7t FPGA上的二維片上網絡(2D NoC)不是由可編程邏輯搭建,而是固化的ASIC邏輯實現,固定運行頻率為2GHz,每一行或者每一列的NoC都可以作為兩個單向256位實現雙向的通路,所以每個方向可提供512Gbps的帶寬,整個網絡總帶寬則能達到27Tbps。

下面的表格列出了Speedster 7t FPGA中NoC的特性。

表1 Speedster 7t FPGA中NoC特性

片上網絡(NoC)技術的發展及其給高端FPGA帶來的優勢

NoC為FPGA提供了以下幾項重要優勢:

(1)大幅提高設計性能,解決一些高性能應用如400G以太網的性能瓶頸:通常在數據流經過400G以太網MAC解包以後會是一個超高位寬且需要運行在很高頻率的處理,這在傳統FPGA邏輯單元裡面是無法實現的,而NoC就能解決性能瓶頸。我們會在後續文章具體說明。

(2)NoC是在傳統可編程邏輯之外額外增加的走線資源,所以在高資源佔用設計中可以降低佈局佈線擁塞的風險。

(3)NoC包含了異步時鐘轉換,仲裁控制等邏輯,可以去替代傳統的邏輯去做高速接口和總線管理等,所以利用NoC可以簡化用戶設計節省一部分傳統資源(LE、FIFO和佈線等)的使用。

(4)NoC部分是ASIC固化邏輯,功耗比傳統的FPGA可編程邏輯實現要低很多。

(5)利用NoC可以實現真正的模塊化設計。傳統高端FPGA設計通常是需要一個FPGA工程師團隊來完成,每個工程師設計自己模塊,在FPGA整個芯片裡調試驗證自己模塊,然後再把各個模塊連接成更大的完整設計,這時候會由於資源佔用上升,通常需要花很多時間去優化佈局甚至去修改設計以達到目標性能。而在Achronix Speedster7t 中可以讓模塊之間通過NOC互聯,再借助對於單個模塊功能性能調試完成後固定佈局技術,甚至可以達到NoC互聯後整體設計不需要額外聯調的可能。這樣可以大幅減少研發工作量和時間。

後面我們會繼續深入瞭解Speedster 7t FPGA上的二維片上網絡(2D NoC),並且會用一些具體的設計來講解如何在Speedster 7tFPGA上使用NoC以及NoC給FPGA設計帶來的好處,敬請期待。如需更多信息或者有任何疑問您可以通過Achronix公眾號裡聯繫方式聯繫我們,也可訪問Achronix公司官方網站http://www.achronix.com


參考文獻:

  1. The SoC Interconnect Fabric: A BriefHistory by Kurt Shuler 2013
  2. AMBA specification 2.0
  3. A comparison of Network-on-Chip and Bussesby Arteris
  4. 片上通信結構-共享總線和NoC的分析與比較周文彪,張巖,毛志剛 2007
  5. Achronix website www.achronix.com


作者:黃侖,Achronix資深現場應用工程師

長按識別二維碼,歡迎您關注“Achronix”頭條號:

片上網絡(NoC)技術的發展及其給高端FPGA帶來的優勢


分享到:


相關文章: