編者按:FPGA 架構的新方法帶來了更細粒度的控制和更大的靈活性,以滿足機器學習 (ML) 和人工智能 (AI) 的需求。這個由兩部分組成的系列的第 1 部分介紹了 Efinix 的一個這樣的架構,以及如何使用開發板開始使用它。第2部分討論開發板與外部設備和外設(如相機)的接口。
FPGA 在許多應用中發揮著關鍵作用,從工業控制和安全到機器人、航空航天和汽車。由于可編程邏輯內核的靈活性和廣泛的接口能力,FPGA 的一個不斷增長的用例是在部署 ML 推理時的圖像處理。FPGA 非常適合實現具有多個高速攝像頭接口的解決方案。此外,FPGA 還支持在邏輯中實現專用處理流水線,從而消除與基于 CPU 或 GPU 的解決方案相關的瓶頸。
然而,對于許多開發人員來說,他們的應用需要更多的 ML/AI 功能以及更細粒度的控制或路由和邏輯,超出了具有組合邏輯塊 (CLB) 的經典 FPGA 架構所能提供的。FPGA架構的新方法解決了這些問題。例如,Efinix的Quantum架構使用可互換邏輯和路由(XLR)模塊。
本文討論了Efinix FPGA架構的主要特性和屬性,重點介紹了其AI/ML功能并介紹了實際實現。然后,本文討論了開發人員可用于快速開始下一個 AI/ML 成像設計的開發板和相關工具。
Efinix FPGA 器件
Efinix目前提供兩個設備系列。它最初推出了Trion系列,該系列提供從4000(4K)到120K邏輯元件(LE)的邏輯密度,并使用中芯國際40LL工藝制造。最新的器件系列鈦系列提供從35K到1萬(1M)邏輯元件的邏輯密度,并在非常流行的臺積電16納米(nm)節點上制造。
這兩種產品都基于昆騰架構,這在FPGA世界中是獨一無二的。標準FPGA架構基于CLB,在最簡單的層面上,CLB包含一個查找表(LUT)和觸發器。CLB 實現邏輯方程,然后通過路由互連。Efinix的量子架構通過XLR塊擺脫了不同的邏輯和路由塊。
XLR 模塊的獨特之處在于,它可以配置為具有 LUT、寄存器和加法器或路由矩陣的邏輯單元。此方法提供了一個更細粒度的體系結構,可提供路由靈活性,使邏輯繁重或路由繁重的實現能夠實現所需的性能。
作為最新的產品系列,鈦金屬器件為開發人員提供了最先進的功能(圖 2)。與 XLR 內核一起,它們提供多千兆位串行鏈路,其運行速度為 16 Gbps 或 25.8 Gbps,具體取決于所選設備。這些千兆位鏈路對于實現片上和片外的高速數據傳輸至關重要。
鈦器件還提供廣泛的輸入/輸出 (I/O) 接口功能,可分為通用 I/O (GPIO),并且可以支持單端 I/O 標準,例如 3.3 伏、2.5 伏和 1.8 伏的低壓 CMOS (LVCMOS)。
對于高速和差分接口,鈦金器件提供高速I/O (HSIO),支持單端I/O標準,如1.2伏、1.5伏的LVCMOS,以及SSTL和HSTL。HSIO 支持的差分 I/O 標準包括低壓差分信號 (LVDS)、差分 SSTL 和 HSTL。
現代FPGA還需要緊密耦合的高帶寬存儲器,用于存儲圖像處理應用的圖像幀,信號處理的樣本數據,當然還有運行FPGA中實現的處理器的操作系統和軟件。鈦合金系列器件能夠與動態數據速率四(DDR4)和低功耗DDR4(x)(LPDDR4(x))接口。根據所選的確切鈦金設備,總線寬度支持為 x32 (J) 或 x16 (M),而某些設備不支持 LPDDR4 (L)。
鈦FPGA基于SRAM,需要配置存儲器,器件配置由主/從串行外設互連(SPI)或JTAG執行。為了確保這種配置方法的安全,鈦FPGA使用比特流的AES GCM加密,以及AES GCM和RSA-4096來提供比特流身份驗證。由于 FPGA 部署在惡意行為者可以訪問和操縱其行為的邊緣,因此需要這樣的強大安全性。
開發板介紹
開發板是FPGA評估過程的關鍵要素,因為它們可用于探索器件和原型應用的功能,從而有助于降低整體風險。第一個可用于評估鈦 FPGA 并開始原型設計應用的開發板是 Ti180 M484(圖 3)。該板具有一個FPGA夾層卡(FMC)連接器和四個Samtec QSE連接器。
該開發板安裝的 Ti180 FPGA 提供 172K XLR 單元、32 個全局時鐘、640 個數字信號處理 (DSP) 元件和 13 兆位 (Mbit) 嵌入式 RAM。DSP 元件能夠實現定點 18 x 19 乘法和 48 位乘法。此 DSP 還可以針對在雙通道或四通道配置中運行的單指令多數據 (SIMD) 操作進行優化。DSP 元素也可以配置為執行浮點運算。
與大多數開發板一樣,Ti180 開發板提供簡單的 LED 和按鈕。然而,它的真正力量在于它的接口能力。Ti180 開發板提供低引腳數 FMC 連接器,可連接各種外設。由于FMC卡是一種廣泛使用的標準,因此有許多FMC卡可以連接高速模數轉換器(ADC)、數模轉換器(DAC)、網絡和存儲器/ 存儲解決方案。
除了FMC連接外,該板還提供四個Samtec QSE連接器,使開發人員能夠添加擴展卡。這些 QSE 連接器用于提供 MIPI 輸入和輸出,每個 QSE 連接器提供 MIPI 輸入或輸出。
Ti180 板還提供 256 Mbits 的 LPDDR4,以支持圖像或信號處理應用所需的高性能存儲器。此外,該開發板還提供一系列 25、33.33、50 和 74.25 MHz 時鐘選項,可與器件鎖相環 (PLL) 配合使用,以產生不同的內部頻率。
在開發過程中,在電路板上實時重新編程和調試的能力至關重要,需要JTAG連接,JTAG通過USB-C接口在板上提供。還提供兩個 256 Mbit NOR 閃存器件形式的非易失性存儲器,可用于演示配置解決方案。
該板由包裝盒隨附的 12 伏通用電源適配器供電。還包括FMC到QSE的分線,以及用于HDMI,以太網,MIPI和LVDS的基于QSE的擴展卡。為了演示 Ti180 圖像處理能力,還提供了一張雙 RPI 子卡和兩張 IMX477 相機卡。
軟件環境
針對 Ti180 開發板實現設計使用 Efinix 軟件 Efinity。該軟件能夠通過合成、放置和路由生成比特流。它還為開發人員提供知識產權 (IP) 模塊、時序分析和片上調試。
請注意,需要開發板才能訪問Efinity軟件。但是,與其他供應商不同,該工具沒有需要額外許可的不同版本。
在Efinity中,將針對所選設備創建新項目。然后可以將 RTL 文件添加到項目中,并為時序和 I/O 設計創建約束。在Efinity中,開發人員還可以利用HSIO,GPIO和專用I / O實現I / O設計。
FPGA 設計的一個關鍵要素是利用 IP,尤其是對于復雜的 IP,如 AXI 互連、內存控制器和軟核處理器。Efinity為開發人員提供了一系列可用于加速設計過程的IP模塊。
雖然 FPGA 在實現并行處理結構方面非常出色,但許多 FPGA 設計都包含軟核處理器。這些提供了實現順序處理(如網絡通信)的能力。為了在Efinix設備中部署軟核處理器,Efinity提供了Sapphire片上系統(SoC)配置工具。Sapphire 允許開發人員定義一個多處理器系統,該系統具有跨多個處理器的緩存和緩存一致性,以及運行嵌入式 Linux 操作系統的能力。在 Sapphire 中,開發人員可以在一到四個軟核處理器之間進行選擇。
正在實現的軟核處理器是VexRiscV軟CPU,它基于RISC-V指令集架構。VexRiscV 處理器是一種 32 位實現,具有流水線擴展并提供可配置的功能集,使其成為在 Efinix 設備中實現的理想選擇。可選配置包括乘法器、原子指令、浮點擴展和壓縮指令。根據 SoC 系統的配置,性能范圍在 0.86 到 1.05 DMIPS/MHz 之間。
一旦在Efinix設備中設計和實現了硬件環境,就可以使用Ashling RiscFree IDE開發應用軟件。Ashling RiscFree是一個基于Eclipse的IDE,它支持創建和編譯應用程序軟件,以及在部署之前對目標進行調試以微調應用程序。
如果正在開發嵌入式Linux解決方案,則提供所有必要的引導工件,包括第一階段引導加載程序,OpenSBI,U-Boot和使用Buildroot的Linux。或者,如果需要實時解決方案,開發人員可以使用 FreeRTOS。
人工智能實施
基于RISC-V軟核操作的是Efinix的AI實現。這利用了RISC-V處理器的自定義指令功能來實現TensorFlow Lite解決方案的加速。RISC-V處理器的使用還使用戶能夠創建自定義指令,這些指令可用作AI推理之后的預處理或后處理的一部分,從而創建響應速度更快、確定性更強的解決方案。
要開始實施 AI,第一步是探索 Efinix 模型動物園,這是一個針對其終端技術優化的 AI/ML 模型庫。對于使用Efinix設備的開發人員,可以訪問模型動物園,并使用Jupyter Notebooks或Google Colab訓練網絡。一旦網絡經過訓練,就可以使用TensorFlow Lite轉換器將其從浮點模型轉換為量化模型。
一旦采用TensorFlow Lite格式,Efinix的tinyML加速器可用于在RISC-V解決方案上創建可部署的解決方案。tinyML 生成器使開發人員能夠自定義加速器實現并生成項目文件。以這種方式部署時,加速范圍可能在 4 倍到 200 倍之間,具體取決于所選的架構和自定義。
結論
Efinix 器件憑借其獨特的 XLR 架構為開發人員提供了靈活性。該工具鏈不僅能夠實現 RTL 設計,還可以實現部署軟核 RISC-V 處理器的復雜 SoC 解決方案。在軟核 SoC 之上構建的是一種 AI/ML 解決方案,支持部署 ML 推理。
審核編輯黃宇
-
FPGA
+關注
關注
1630文章
21759瀏覽量
604376 -
AI
+關注
關注
87文章
31155瀏覽量
269494 -
開發板
+關注
關注
25文章
5082瀏覽量
97723 -
ML
+關注
關注
0文章
149瀏覽量
34670
發布評論請先 登錄
相關推薦
評論