This website requires JavaScript.
優惠券 應用程式下載
寄往
部落格

FPGA 架構入門:FPGA 如何運作及其重要性

最初發布於 Mar 06, 2026, 更新於 Mar 06, 2026

1 分鐘

數位電路的實現通常使用 ASIC 或閘陣列型 IC。然而,還有一種可程式化的邏輯功能 IC,只需透過程式設計即可實現任何邏輯功能,這些被稱為 PLD(可程式化邏輯裝置)。市面上有許多種類,但我們今天主要聚焦於現場可程式化閘陣列(FPGA)。與固定功能的積體電路(IC)不同,FPGA 允許工程師在製造後重新配置硬體本身。現在,我只需使用一顆 FPGA,就能實現從訊號處理到機器學習與嵌入式系統等多種不同電路。但 FPGA 內部究竟是什麼?它與全球其他 IC 有何不同?要回答這個問題,我們必須深入了解 FPGA 的內部架構。本指南將介紹 FPGA 架構的關鍵元件,這些建構模組使其得以實現客製化的數位系統。


1. 可配置邏輯區塊(CLB):


每顆 FPGA 的核心都是可配置邏輯區塊(CLB)。這些是實現數位邏輯的基本單元。在 CLB 內部包含:



  • 查閱表(LUT):這些是用來實現邏輯功能的小型記憶體結構。一個 4 輸入 LUT 可表示任何 4 輸入的真值表。
  • 正反器/暫存器:正反器用於儲存單位元資料並建立循序電路。
  • 多工器:在 CLB 內部路由訊號,用於從不同 LUT 輸入中選擇其一。

每個 CLB 可被配置為執行基本邏輯運算(AND、OR、XOR)。幾乎所有複雜的組合與循序功能都能在這裡實現。透過組合數千個 CLB,設計師可建構數位電路,如加法器、多工器與計數器。


2. 互連/路由結構



若 CLB 彼此隔離,FPGA 將毫無用處。互連結構負責連接 CLB、I/O 區塊、記憶體及其他元件。除了可程式邏輯(CLB)外,還有可程式開關與佈線通道。這些互連也在程式碼中進行設定,連接內部不同區塊,所有控制皆由位元流檔案完成。互連的彈性正是 FPGA 強大之處,就像晶片內的高速公路系統,可依設計需求動態重新路由。


3. I/O 區塊(IOB)



由於 FPGA 安裝在 PCB 上,必須與外部世界通訊,I/O 區塊(IOB)便負責此任務。這些單元用於將計算結果傳送至外部裝置,並從感測器接收資料。每個 I/O 區塊皆可程式化,支援多種電壓標準(如 LVCMOS、LVTTL、LVDS)。這些輸入輸出區塊依驅動強度、轉換速率及上拉/下拉電阻進行區分。部分現代 FPGA 亦具備高速收發器,用於 PCIe 或乙太網路。IOB 讓 FPGA 在混合環境中高度靈活,能與舊系統介接。


4. DSP 切片(數位訊號處理單元)


現代 FPGA 內建專用 DSP 切片,以加速密集算術運算。包含乘加(MAC)單元,用於快速算術運算。具備 DSP 功能的 FPGA 支援定點與浮點運算。

相較於使用 LUT(速度較慢且效率較低),DSP 區塊是專為速度設計的硬體電路。例如在音訊或視訊處理管線中,DSP 區塊可高速處理濾波與轉換。


5. 區塊 RAM(BRAM)


另一項關鍵特色是晶片內記憶體,通常稱為區塊 RAM(BRAM)。其分散於 FPGA 結構中,可配置為單埠或雙埠記憶體。容量從數 KB 到數 MB 不等,視 FPGA 系列而定。對於資料緩衝、查閱表儲存或 FIFO 實作非常有用。在影像緩衝、協定處理或數位濾波等應用中,BRAM 提供比外部 DRAM 更低延遲的記憶體,且更接近邏輯電路。


6. 時脈管理區塊


為確保 FPGA 內部所有元件同步運作,時脈管理至關重要。因此 FPGA 內建時脈管理電路,包含鎖相迴路(PLL)以維持頻率穩定,混合模式時脈管理器(MMCM)用於頻率分頻與倍頻,以及低偏移的時脈分配網路。FPGA 通常需要多個時脈供不同子系統使用(一個供 CPU 核心,另一個供高速 I/O)。時脈管理區塊讓這一切成為可能。


7. 硬式 IP 核心


雖然大多數 FPGA 資源可重新配置,現代 FPGA 亦整合硬式智慧財產(Hard IP)核心。這些是針對常見任務優化的固定功能區塊。

硬式 IP 範例:

  • 高速收發器(SerDes)。
  • DDR 記憶體控制器。
  • PCI Express 介面。
  • 乙太網路 MAC。
  • 加密引擎。

相較於使用 LUT 實作(會消耗大量資源),硬式 IP 核心提供更佳效能與更低功耗,因其已完全優化。這些廣泛應用於數位設計,例如若要從感測器數位化取資料,需要 I2C、UART 或 SPI,在 FPGA 中這些皆以 IP 形式提供。


8. 配置記憶體


最後,讓 FPGA 具備現場可程式化能力的關鍵在於其配置記憶體。大多數 FPGA 使用基於 SRAM 的配置。上電時,FPGA 為空白狀態,必須從外部快閃記憶體或主處理器載入位元流。位元流定義:

  • CLB 功能。
  • 路由路徑。
  • I/O 配置。
  • DSP / BRAM 使用方式。


總結:


讓我們總結 FPGA 架構元件:

  • CLB → 可程式邏輯功能。
  • 互連結構 → 佈線高速公路。
  • IOB → 外部通訊。
  • DSP 區塊 → 高速數學單元。
  • BRAM → 本地記憶體。
  • 時脈管理器 → 穩定同步時序。
  • 硬式 IP 核心 → 固定功能加速器。
  • 配置記憶體 → 定義一切。

透過這些建構模組,工程師可在同一顆 FPGA 晶片上實現從簡單計數器到完整 CPU 與 AI 加速器的任何設計。



結論:


FPGA 不僅用於 VLSI,也在 DSP 與電源 IC 設計中扮演重要角色。由於其可重配置與平行處理能力,您可在 FPGA 內部實現任何類型的控制器。FPGA 讓設計師能建構客製化硬體架構;相比之下,微控制器僅限於循序指令處理。對初學者而言,理解 FPGA 架構就從上述八個元件開始。每個元件都有其獨特角色,共同構成一個靈活的數位遊樂場,供工程師揮灑創意。FPGA 用於彌合原型設計彈性與 ASIC 等級效能之間的落差。


持續學習