現場可程式閘陣列(FPGA)結合硬體層級效能與可重構邏輯,重新定義數位設計的彈性。與固定功能晶片不同,FPGA 可以反覆編程以執行新任務、加速工作負載,或適應新興標準。其獨特的平行處理與即時重組能力,使其在資料中心、通訊、汽車、國防及人工智慧驅動的嵌入式系統中非常有用。

什麼是FPGA(現場可程式閘陣列)?
FPGA 是一種可重新配置的積體電路,由可程式邏輯元件與路由網路組成。與固定功能裝置的ASIC不同,FPGA可以反覆重新編程,以實現客製化數位電路、加速器或完整的片上系統。
現場可程式化意味著即使部署後也能進行邏輯更新。位元流重新配置可進行效能調校、功能升級或協定支援,無需硬體更換,降低風險與上市時間。
FPGA 是如何運作的?
FPGA 透過一個可配置邏輯區塊(CLB)矩陣運作,這些模組透過可程式路由相互連接。每個 CLB 執行專用數位邏輯,並同時執行多個區塊,實現平行且確定性運算。
Reconfiguration 使用由 HDL(VHDL 或 Verilog)產生的位元流檔案,定義邏輯、路由與 I/O 的行為。這使得單一 FPGA 只需更新其配置,即可被重複用於多個應用。
FPGA 的內部結構

FPGA 整合了彈性邏輯結構與專門硬體模組以提升效率與效能:
• 可配置邏輯區塊(CLB):每個 CLB 包含查找表(LUT)與觸發器。LUT 定義組合邏輯,而觸發器則負責序列儲存與時序控制。
• DSP 切片:執行乘法累積及訊號處理操作,用於濾波器、FFT 及 AI 推論。
• 區塊 RAM(BRAM):用於緩衝區、查找表及暫存資料的片上記憶體。
• 高速收發器:支援串列協定如 PCIe、乙太網路及 JESD,以實現高頻寬 I/O。
• I/O 區塊(IOB):將 FPGA 與外部裝置及匯流排連接,使用各種電壓標準。
FPGA 功能與能力
• 真正平行性:多條邏輯路徑同時執行,實現低延遲與確定性行為,非常適合訊號處理、即時控制及資料串流。
• 動態重組性:硬體可在現場更新,允許功能新增、錯誤修正或協定變更而無需重新設計。
• 快速硬體原型:基於HDL的設計可在數小時內完成合成與測試,加速創新並降低風險,準備ASIC製造。
• 客製化硬體加速:您可以建立針對工作負載的專屬資料路徑,用於 AI 推論、5G 基帶或網路路由,平衡速度、功耗與吞吐量。
FPGA 應用
• 數位訊號處理(DSP):FPGA 有效處理高速訊號操作,如濾波、FFT、調變/解調及馬達控制迴路。其平行處理技術使雷達、聲納及無線系統能進行精確且低延遲的計算。
• 通訊:用於網路基礎架構中,進行封包分類、協定橋接、基頻處理及路由。FPGA 提供確定性時序,並能適應不斷演進的標準,如 5G、乙太網路及光傳輸網路。
• 工業系統:驅動機器人、機器視覺及精密運動控制。FPGA 將即時反饋迴路、馬達驅動程式與感測器介面整合於單一晶片,提升系統可靠性並降低延遲。
• 汽車:應用於先進駕駛輔助系統(ADAS)、感測器融合及車載網路。它們能平行處理影像與 LiDAR 資料,同時符合嚴格的安全與功能可靠性標準(ISO 26262)。
• 醫療電子學:用於超音波、MRI及資料採集系統,快速且確定性訊號處理能確保準確性。FPGA 也支援硬體層級的資料加密與低延遲影像重建。
• 安全性與防禦:提供硬體加速,用於加密、解密、安全開機及認證。其非固定架構提升了對逆向工程的抵抗力,並允許快速更新演算法。
• 資料中心與人工智慧:用於搜尋引擎的工作負載加速、人工智慧推論、高頻交易及儲存控制器。FPGA 在許多專業任務中,能以比 GPU 更低的功耗提供平行執行。
FPGA 的優點
| 分類 | 重點 |
|---|---|
| 表現 | 硬體層級平行性與確定性時序 |
| 可重編程性 | 部署後更新與設計彈性 |
| 上市時間 | 快速迭代,即時硬體測試 |
| 成本效益 | 無需面具或製作成本;適合小到中型體積 |
| 壽命 | 現場可升級,降低報廢風險 |
FPGA 的類型
FPGA 的分類依據其配置資料的儲存方式及部署後是否能重新編程。底層儲存技術會影響啟動時間、電力行為、輻射容忍度及整體系統安全性。
基於 SRAM 的 FPGA

這些是最常見且多功能的類型。配置資料儲存在易失性 SRAM 儲存單元中,斷電時內容會遺失。啟動時,FPGA 會從外部記憶體或控制器載入其配置位元流。它們提供最高的彈性,允許頻繁重新配置與快速設計更新,非常適合原型製作及動態應用。
反保險絲FPGA系統

防熔絲裝置使用程式設計過程中形成的永久導電連結。一旦編程完成,便無法更改,因此成為一次性可程式化(OTP)。其配置本質上安全且高度抗輻射,使它們在航太、國防及關鍵任務系統中,可靠性高於可重構性時更受青睞。
基於快閃記憶體的 FPGA

基於快閃記憶體的FPGA會直接將配置儲存在晶片上的非揮發性快閃記憶體中。即使關機後,它們仍能維持原有配置,且無需外部設定記憶體即可即時啟動。它們可重新編程,但週期較 SRAM 類型有限,提供彈性與快速啟動之間的良好平衡。
基於 EEPROM 的 FPGA

這些裝置使用片上 EEPROM 單元作為配置儲存。與快閃FPGA類似,它們是非揮發性且可多次重新編程。EEPROM FPGA 耐用且可靠,適合嵌入式及工業系統,需適度重新編程與資料保留。
混合式 FPGA
混合型FPGA結合了SRAM與非揮發性儲存(如快閃記憶體),以兼顧彈性與即時啟動效能。SRAM 部分提供可重新配置性,而快閃區則存放啟動設定,允許無需外部記憶體快速開機。它們非常適合低功耗或對安全至關重要的設計,因為快速初始化與適應性是必須的。
FPGA vs ASIC vs 微控制器

| 特色 | FPGA | ASIC | 微控制器(MCU) |
|---|---|---|---|
| 執行模型 | 平行 — 自訂硬體路徑 | 固定電晶體電平邏輯 | 序列 CPU 指令執行 |
| 可重編程性 | 完全可重新配置的硬體 | 製造後無 | 僅韌體層級 |
| 表現 | 高 — 應用特定平行性 | 非常高 — 最佳化的矽 | 中等 — 一般用途控制 |
| 電力效率 | 中等,視使用率而定 | 優秀 — 自訂優化 | 適合低功耗系統 |
| NRE 費用 | 低–中 | 非常高 | 低 |
| 上市時間 | 快速 — 可重新編程且可反覆 | 慢速 — 完整遮罩/製造過程 | 快速 — 現成硬體 |
| 彈性 | 優秀 — 硬體隨時重新定義 | 無 — 固定架構 | 有限 — 僅軟體彈性 |
| 理想用途 | 即時、確定性工作負載 | 大量生產,固定邏輯 | 控制任務與簡單內嵌函數 |
FPGA 開發工具
FPGA 設計需要專門的軟體套件,涵蓋開發的每個階段——綜合、模擬、時序分析、佈局與佈線,以及最終裝置程式設計。這些整合工具鏈同時提供除錯、硬體監控及優化工具,以簡化工作流程。
主要的 FPGA 工具鏈:
• Xilinx(AMD):Vivado Design Suite 與 ISE WebPACK 支援透過 HDL 或方塊圖進行設計輸入,提供進階時序優化、IP 整合及片上除錯工具如 ChipScope。
• Intel:Quartus Prime 提供統一平台用於 HDL 設計、綜合與驗證,具備 Signal Tap 等工具可即時除錯,並支援 Platform Designer 系統整合。
• 格點半導體:Radiant 與 Diamond 工具針對低功耗且成本優化的裝置,提供圖形設計環境及功率分析功能。
• Microchip(Microsemi):Libero SoC 整合了公司 PolarFire 與 IGLOO FPGA 的綜合、模擬與 SmartDebug 工具。
大多數工具鏈也包含預先驗證的 IP 核心,用於介面(SPI、UART、PCIe、乙太網路)、DSP 區塊及記憶體控制器,促進設計快速重用並縮短上市時間。此外,像 ModelSim 或 Vivado Simulator 這類模擬環境,有助於在硬體測試前驗證邏輯。
領先的FPGA製造商
全球FPGA市場由少數主要製造商主導,每家廠商專注於獨特的效能層級與應用領域。其產品系列在邏輯密度、功耗效率、嵌入式特性及目標產業上有所不同。
| 製造商 | 裝置家族 | 主要焦點 / 優勢 |
|---|---|---|
| AMD(賽靈思) | 斯巴達、阿提克斯、金泰克斯、維爾泰克斯、Zynq | 提供從具成本效益的 Spartan 裝置到高階 Virtex 與 Zynq SoC 的廣泛產品組合。專注於嵌入式系統、人工智慧加速與高速通訊。Zynq 系列整合了用於混合 FPGA-CPU 架構的 ARM 處理器。 |
| Intel(前身為 Altera) | 旋風號、阿里亞號、斯特拉提克斯號 | 提供可擴展的效能,適用於低功耗 Cyclone 裝置到高通量 Stratix 系列。在資料中心、網路及雲端加速領域擁有強大存在感,並與英特爾的運算生態系統緊密整合。 |
| 晶格半導體 | iCE40、ECP5、CrossLink | 專精於小型且節能的FPGA,優化於邊緣運算、視覺及物聯網應用。以即時啟動能力及低功耗聞名,非常適合行動或電池供電系統。 |
| 微晶片(Microsemi) | PolarFire、SmartFusion | 專注於航太、國防及工業控制的耐輻射且安全的FPGA。PolarFire 裝置在低功耗與強大的 DSP 與 SERDES 功能間取得平衡,而 SmartFusion 則整合 FPGA 架構與 ARM Cortex-M 核心。 |
常見的FPGA設計挑戰
設計 FPGA 系統涉及在速度、功耗與邏輯利用率之間取得平衡。常見挑戰包括:
• 時序閉合:確保所有邏輯路徑在多個時脈域中符合設置/保持時序要求。
• 電力與熱管理:高利用率提升動態電力;像是時鐘閘控和電源感知放置等技術可以減少熱量。
• 資源利用:有效利用 LUT、BRAM 與 DSP 區塊可防止擁塞或利用不足。
• 設計複雜度:將演算法轉換成平行硬體需要強大的 HDL 與時序限制技能。
未來FPGA趨勢
FPGA 正從可重構的邏輯裝置演進為完整的混合運算平台。主要發展包括:
• 人工智慧與機器學習加速:將矩陣與張量運算引擎整合於神經網路與分析領域。
• 混合型SoC平台:結合嵌入式CPU核心(例如ARM Cortex)與FPGA邏輯,實現統一軟硬體設計。
• 先進半導體節點:7奈米及更小幾何形狀,提升密度、性能與能源效率。
• 部分與動態重組:允許即時更新硬體區段,以支援自適應及關鍵任務系統。
• 雲端託管FPGA服務:AWS F1與Azure NP等平台整合FPGA,實現可擴展且按需加速。
結論
FPGA 結合軟體適應性與硬體精準度,賦予下一代運算無與倫比的靈活性與速度。隨著科技朝向人工智慧加速、混合型SoC及即時邊緣智慧發展,FPGA持續展現其價值,提供一套能適應、擴展並創新的未來解決方案,以配合快速變遷的數位環境。
常見問題 [常見問題]
程式設計 FPGA 使用的是什麼語言?
FPGA 通常使用硬體描述語言(HDL)程式設計,如 VHDL 和 Verilog。這些語言描述的是電路行為與結構,而非序列指令。現代工具也支援高階合成(HLS),讓開發者能使用 C/C++ 或 Python 自動產生 HDL。
FPGA 能像 CPU 一樣執行作業系統嗎?
不,FPGA 不會原生執行作業系統,因為它們實作的是硬體電路,而非指令管線。然而,SoC FPGA(如 Xilinx Zynq)整合了 ARM 處理器,使 Linux 或嵌入式作業系統能與可程式邏輯並行運行,實現硬體與軟體混合設計。
FPGA 與 GPU 有何不同?
GPU 針對固定架構上的平行數學運算進行優化,而 FPGA 則允許設計師為特定任務打造客製化硬體管線。FPGA 提供更低的延遲與更高的確定性,而 GPU 則在 AI 與圖形工作負載的吞吐量與浮點運算效能上表現優異。
為什麼 FPGA 在 AI 和機器學習中很重要?
FPGA 能打造精確匹配神經網路模型的客製化資料流架構,降低延遲並最大化能源效率。它們被用於 AI 推論、即時分析和邊緣智慧,這些領域中彈性、可升級性與低功耗比純計算密度更為重要。
如何在現場更新或重新編程 FPGA?
FPGA 的重新程式設計是透過上傳新的位元流檔案,通常由 HDL 或 HLS 設計工具產生。此更新可透過 JTAG、快閃記憶體或遠端乙太網路設定進行。這種重新編程允許硬體層級的功能更新,而無需更換實體晶片。