從航空航天,網絡和通信到人工智能的嵌入式FPGA的演變等

雖然FPGA芯片自20世紀80年×××始供貨,但嵌入式FPGA僅在大約五年前才推出。然而,由於其驚人的靈活性和功能集,它很快就在市場上佔據了一席之地。它現在可以從多家供應商,各種代工廠(臺積電,GlobalFoundries,SMIC和三星)以及180,40,28,22,16,14,12和7nm等工藝節點上商業化獲得。嵌入式FPGA還被廣泛應用於航空航天,通信,網絡以及最近的人工智能(AI)。
在嵌入式FPGA可用的短短几年內,該行業已經看到了幾代產品。隨着每一代新產品的出現,嵌入式FPGA變得更加靈活,更適用於新應用,所有這些都是由客戶需求驅動的。事實上,嵌入式FPGA的應用似乎是無窮無盡的,並且在未來,這種技術應該像今天的Arm處理器一樣普及。本文將回顧嵌入式FPGA的各代,以當前可用的當前功能結束。
第一代
第一代嵌入式FPGA相對簡單,通常使用4輸入LUT。爲了提供一系列陣列大小,一些供應商將其嵌入式FPGA設計爲複製瓦片陣列,頂層互連自動連接陣列範圍網狀互連中的瓦片。使用命令行界面在Verilog中完成編程。
第二代
第二代嵌入式FPGA根據客戶對第一代產品的反饋意見添加了一系列功能。這些新功能包括:
6輸入LUT與當今最先進的FPGA一樣。6輸入LUT增加了嵌入式FPGA的密度和性能。
能夠在陣列的行之間集成任何類型/大小的RAM。這爲分佈式計算提供了更多本地化內存。這是一個非常重要的補充,因爲評估嵌入式FPGA的1/3客戶正在申請此功能。
GUI界面,用於使用各種圖形工具進行編程,以加速評估和開發。
直接從GDS數據庫中提取的時序允許在任何PVT組合中評估性能。
能夠回讀配置位(在高可靠性環境中是理想的)並在操作期間重寫配置位。
DFT覆蓋率達到99%以上。
一種新的配置加載模式,可將測試時間縮短約100倍。
通過PC接口爲每個新流程提供評估板。
第三代
前幾代嵌入式FPGA執行的功能類似於FPGA芯片。然而,在第三代嵌入式FPGA中,它開始做一些未在FPGA芯片中完成的事情。第三代嵌入式FPGA的一個例子是Flex Logix的nnMAX,它是用於推理的優化嵌入式FPGAA,具有以下新特性:
它由高級神經網絡模型語言編程,如Tensorflow Lite和ONNX。nnMAX編譯器執行較低級別的Verilog編程,自動釋放客戶並實現更高的性能。
每層運行大約十億個MAC(乘法 - 累加 - 運算)的神經網絡層。nnMAX重新配置嵌入式FPGA互連和下一層的“軟邏輯”(控制狀態機),然後再次開始運行。在早期的嵌入式FPGA中,重新配置是串行完成的,類似於FPGA芯片。相反,nnMAX在高度並行模式下進行配置,以便在1GHz運行時在大約1,000個週期內重新配置完整陣列。
將AI優化的MAC(8x8整數,16x16整數和/或16x16浮點)組織成64個簇。在傳統的嵌入式FPGA中,每個MAC分別連接到互連網絡中。在AI工作負載中,矩陣乘法非常大,因此羣集是獲得更高密度和更有效地使用稀缺互連網絡資源的邏輯方法。
可以在Winograd加速模式下運行以加速3x3卷積,步長爲1乘2.25x進行整數8運算
能夠在層之間混合精度:硬件可以根據需要從整數8/16轉換爲浮點和返回。這允許模型設計者最大化吞吐量並最大化預測精度。
互連現在具有管道觸發器,可實現1GHz的吞吐量,同時每層僅增加幾個延遲週期。 
迄今爲止,上述新功能僅適用於nnMAX推理嵌入式FPGA。但是,根據客戶的興趣,其中一些功能也可能出現在未來的第三代通用嵌入式FPGA中。

從航空航天,網絡和通信到人工智能的嵌入式FPGA的演變等

雖然嵌入式FPGA最初是爲通信和網絡等應用而開發的,但隨着時間的推移,Flex Logix等公司想出瞭如何利用嵌入式FPGA中使用的相同核心互連技術來解決爆炸性AI市場的神經推理部分。在神經推理中,計算主要是數萬億次操作(乘法和累加,通常使用8位整數輸入和權重,有時使用16位整數)。最初爲嵌入式FPGA開發的技術非常適合於推理,因爲嵌入式FPGA允許每個網絡階段的可重新配置的快速控制邏輯。嵌入式FPGA中的SRAM可根據需要在神經網絡中進行重新配置,其中每個層可能需要不同的數據大小。例如,Flex Logix互連允許SRAM輸入組,MAC簇之間的可重新配置連接, 
未來
嵌入式FPGA是一種非常強大和靈活的技術,適用於廣泛的市場和應用。隨着客戶提出如何使用嵌入式FPGA的學習曲線並不斷要求供應商支持新功能和功能以改善其價值主張,它將繼續發展。真正的客戶需求將成爲嵌入式FPGA未來發展背後的驅動力,看到這項技術如何隨着時間的推移不斷髮展將是令人興奮的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章