FPGA 又稱現場可程式閘陣列,是一種半導體積體電路,可提供客製化的電力功能性,以加快重要工作量的速度。

FPGA 是一種半導體 IC,無論是設計工程師、印刷電路板組裝過程,或者甚至是設備運送給「現場」客戶後,也可變更裝置內大半的電氣功能。

SoC FPGA 裝置將處理器與 FPGA 架構同時整合至單一裝置。

將處理器的高階管理功能和嚴苛的即時作業、極端的資料處理作業,或是 FPGA(可現場程式化閘道陣列)的介面功能,全部整合於單一裝置,可以打造出甚至更強大的嵌入式運算平台。

這樣一來,處理器與 FPGA 之間的整合能力更強、功率更低、主機板更小,通訊頻寬更高。它們還包含一套豐富的周邊裝置、晶片內建記憶體、FPGA 式邏輯陣列,以及高速收發器。

靈活性

每次啟動裝置電源時,皆可變更 FPGA 功能。

加速

加速產品上市,並且/或者提升系統效能。

整合

現今的 FPGA 包含晶粒內建處理器、28 Gbps(或更快)的收發器 I/O、RAM 區塊,以及 DSP 引擎等。

總擁有成本 (TCO)

雖然相較於同級 FPGA,ASIC 每單位成本或許較低,但建置 ASIC 需要非經常性費用(NRE)、昂貴的軟體工具和專業的設計團隊,而且製造週期長。

SoC FPGA 可以採用「硬式」或「軟式」SoC FPGA。硬式處理器實作於 SoC FPGA 的固定晶片邏輯,與序列收發器類似。然而,SoC FPGA 上的處理器,四周都是可用於自訂或特定用途功能的可程式化邏輯。視處理器架構、硬式處理器、時脈速率與處理器技術這類因素而定,硬式處理器的 CPU 效能比軟式處理器高。顧名思義,硬式處理器的功能組合皆為固定式,提供目的在於作為特定 SoC FPGA 的變體。SoC FPGA 之中硬式處理器的數目與類型,也是該特定 SoC FPGA 固定不變的功能。Altera® 在 Intel® Stratix® 10 SoC FPGAIntel® Arria® 10 SoC FPGAArria® V SoC FPGA 與 Cyclone® V SoC FPGA 家族提供硬式處理器。

Nios® II 處理器這類軟式處理器實作於可程式化的邏輯、採用邏輯元件、乘法器與記憶體這類晶片內建資源,而且幾乎可以在任何 FPGA 家族中執行個體化。軟式處理器的效能與成本,主要取決於處理器在哪個 FPGA 執行個體化,不過效能與成本通常比硬式處理器低。單一裝置內可執行個體化的軟式處理器數目,僅受限於裝置的資源(亦即其邏輯與記憶體)。舉例來說,高密度 FPGA 可包含數百個軟式處理器。同樣地,不同類型的軟式處理器可以下列方式實作:16 位元或 32 位元、效能最佳化、邏輯區域最佳化等。移動至閘道陣列或單元式設計時,您可選擇將軟式處理器設計移轉至硬式處理器實作環境。一或多個軟式處理器同樣也可用於 SoC FPGA 的 FPGA 部分。

嵌入式系統運用 FPGA 的方式很多。一般用途包括:

  • I/O 與周邊設備擴充:從目前的處理器新增缺少的周邊設備,例如 LCD 或記憶體控制器,或是新增乙太網路、一般用途 I/O(GPIO)或 UART 連接埠,在系統增加 I/O 通道的數目。
  • 協同處理:將運算密集型演算法,從在處理器執行的軟體移動至 FPGA 中的硬體,大幅增進系統效能。訊號處理、影像處理及封包處理這些應用,在硬體而非軟體執行時,效能大幅提升。
  • 自訂的嵌入式控制器:您自行決定要在自訂的嵌入式控制器包含哪些(及多少)處理器、周邊設備、介面、直接記憶體存取(DMA)通道和記憶體。
  • 多處理器:在多個 CPU 分配工作,加速軟體開發、改善程式碼可靠性,並且提高可維護性。您可以單一 FPGA 內自訂系統,或是增強外部 CPU 或數位單一處理器的方式,設計多處理器系統。