FPGA 架構入門:FPGA 如何運作及其重要性
1 分鐘
- 1. 可配置邏輯區塊(CLB):
- 2. 互連/路由結構
- 3. I/O 區塊(IOB)
- 4. DSP 切片(數位訊號處理單元)
- 5. 區塊 RAM(BRAM)
- 6. 時脈管理區塊
- 7. 硬式 IP 核心
- 8. 配置記憶體
- 總結:
數位電路的實現通常使用 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 等級效能之間的落差。
持續學習
理解多層 PCB 疊構
簡介 印刷電路板(PCB)是現代電子產品的骨幹。它們為電子元件及其互連提供基礎,使設備能有效運作。在各種 PCB 類型中,多層 PCB 因其複雜性以及在高速度與高密度應用中的實用性而脫穎而出。本文探討多層 PCB 疊構的細節,著重於其設計、優點與挑戰。 什麼是多層 PCB? 多層 PCB 由多層基材與銅箔組成。不同於單面或雙面 PCB 僅有一或兩層,多層 PCB 具有三層以上的導電層。這些層以介電層間隔並壓合,形成緊湊且高效的設計。多層 PCB 的複雜性使其能實現更精密且高效能的電路。 來源:blog.finxter.com/learn-the-basics-of-micropython-part-2/ PCB 疊構的重要性 多層 PCB 的疊構對其性能至關重要,決定了信號層、接地層與電源層的排列,影響信號完整性、電磁干擾(EMI)與整體電氣性能。良好的疊構設計可減少串音、控制阻抗並確保可靠運作。工程師必須仔細規劃疊構,以達到最佳功能與耐用性。 多層 PCB 疊構的關鍵組成 基材:PCB 的基礎,通常由玻璃纖維強化環氧樹脂製成,提供機械支撐與絕緣。 介電層:導電層之間的絕緣層,維持所需間距與電氣隔......
高頻電路中的 EMI 濾波
電磁干擾(EMI)是由電子設備產生的不必要干擾,可能影響附近其他設備的正常運作。EMI 是由電氣電路在開關或高頻運作時所發出的電磁輻射所引起。EMI 指的是會干擾電子設備正常運作的不必要電磁能量。 1. EMI 的類型: 傳導 EMI:透過電源線或訊號線傳播,由與 EMI 源的實體接觸所引起。 輻射 EMI:透過空氣傳播,來自發射電磁場的來源,例如天線或開關電路。 常見的 EMI 來源包括電源供應器、馬達、無線通訊系統,甚至是雷電等自然現象。若未妥善控制,EMI 可能干擾敏感電子設備、降低訊號完整性,並導致醫療設備、汽車系統與航太電子等關鍵應用發生故障。 2. 常見的 EMI 來源: EMI 來源有時是天然發生的環境事件,例如雷暴與太陽輻射;但更常見的是來自其他電子設備或電氣系統。任何電子設備都可能產生 EMI,例如: 發電機:如發電機、電源供應器、電壓調節器、開關與繼電器、電池充電器及高壓輸電線等設備與周邊裝置。 高頻設備:如振盪器、計算裝置、無線電、雷達與聲納設備等在高頻下運作的裝置。 高壓機械:使用高壓與高頻的機器,包括馬達與點火系統。 由於電子系統很少獨立運作,它們通常設計為對一定程度的 ......
使用眼圖進行訊號完整性與抖動分析
訊號在導線上的傳輸方式會因發射端與接收端而異,此時就需要錯誤識別與修正方法。然而,我們如何判斷訊號是否發生變化?不言而喻,必須在 TX-RX 兩端同時使用設備逐位元追蹤並檢視資料。為什麼訊號會偏移?能否阻止根本原因?某種程度上可行,但對於無線通道的雜訊,我們幾乎無能為力。由於 EMI 與環境因素,通道(介質)往往會改變訊號。不過,眼圖(Eye Diagrams) 可作為工具,以更直觀的方式繪製資料。眼圖能提供多種資訊,包括: 訊號位準雜訊 邊緣轉換雜訊(抖動) 工作週期失真 位元錯誤率 符號間干擾(ISI) 時脈-資料偏移 上升/下降時間不足 串擾 電源雜訊 這是一種評估符號間干擾、色散與通道雜訊對基頻脈衝傳輸系統效能影響的方法。眼圖中「眼睛」越開,表示訊號失真越小。本文探討抖動與訊號完整性的概念,以及如何利用眼圖進行量測與診斷。 什麼是訊號完整性? 訊號完整性(SI)指的是電氣訊號在 PCB 或通訊通道的走線、互連與元件中傳輸時的品質。理想情況下,數位訊號應在高與低邏輯位準之間銳利切換且無失真。然而,由於寄生電容、阻抗不匹配與反射,訊號可能失真,導致時序裕度縮小與資料損壞。 訊號完整性分析 可確......
時序分析中的傳播延遲:定義、作用與範例
時間是最重要的資產!我們非常清楚這一點。但在數位電子領域,時間就是一切。你是否曾想過,數位電路是如何知道時間的?靠的不是別的,正是由振盪器產生的時脈頻率。通常我們偏好使用晶體,因為它們精準,但有時弛張振盪器也能勝任。時間流逝、時間花費,所有這些資料在數位區塊中都依賴於時脈速度。因此,影響時序行為的最基本參數之一就是傳播延遲。本文將探討什麼是傳播延遲、它為何重要,以及它如何融入時序分析,特別是在同步數位設計中。 什麼是時序分析? 時序分析是驗證數位電路中的訊號是否在所需時間限制內到達其預定目的地的過程。在同步系統中,所有邏輯轉換必須與時脈訊號正確對齊,避免建立與保持違規等問題。時序分析可分為兩種類型: 靜態時序分析(STA):無需模擬向量即可分析所有可能路徑。 動態時序分析:使用輸入向量進行模擬,檢查即時轉換。 由於速度與覆蓋率優勢,STA 在 ASIC 與 FPGA 設計中更為常用。設計會先燒錄至 FPGA,在其中完成所有功能與時序驗證後,再進入晶片製程。 理解傳播延遲: 傳播延遲(Tpd)是指訊號從邏輯閘或電路區塊的輸入端發生變化後,到達輸出端所需的時間。簡單來說,就是給定輸入後,輸出反映出變化......
RF 微波 PCB 指南:透過精密製造實現完美訊號完整性
那麼,在 PCB 的範疇裡,RF 與微波指的是什麼?RF(射頻)簡單來說就是 3 MHz 到 300 GHz 之間的訊號,而微波則進一步聚焦在 300 MHz 到 300 GHz。實務上,在 PCB 設計中,我們通常用「RF 微波 PCB」一詞來表示一塊接收與發射 500 MHz 到 100 GHz 以上訊號的電路板,且該板並非單純的被動元件。這些頻率在現代科技中無所不在:5G 蜂巢網路運行於 sub-6 GHz 到 39 GHz 的毫米波頻段;ADAS 雷達(車用)與自駕雷達工作在 77 GHz;衛星通訊則涵蓋 L 波段(1–2 GHz)到 Ka 波段(26–40 GHz)。 雷達系統與軍用電子戰更可延伸到 100 GHz 以上。Wi-Fi 6E 與 7 就連消費級 Wi-Fi 也已導入。正是這些應用的爆炸性成長,催生了對能在如此高頻下穩定運作、訊號不衰退的 RF 微波 PCB 的龐大需求。當你想從 5G 基地台榨出最後一點覆蓋距離,或讓雷達接收器達到最佳靈敏度時,每 0.1 dB 的損耗都至關重要。 挑戰:插入損耗、串擾與熱管理 設計微波 PCB 的藝術,本質上就是在三大難題之間走鋼索,且頻率......
高速受控阻抗 PCB 的完整疊構設計
在不斷演進的電子世界中,高速受控阻抗 PCB 對於追求可靠效能的設計變得日益重要。隨著現代裝置需要更快的資料傳輸速率與最小的訊號失真,工程師在設計受控阻抗 PCB 時必須考量多項因素。本文將全面介紹受控阻抗 PCB 設計,聚焦於疊構考量、實際案例以及阻抗控制 PCB 計算器的使用。 什麼是受控阻抗 PCB? 受控阻抗指的是在 PCB 傳輸線中管理電容、電感與電阻等電氣特性,其主要目標是在訊號路徑上維持一致的阻抗位準,將反射與訊號衰減降至最低。需要阻抗控制的應用包括高速數位電路、RF 通訊系統與敏感的類比電路。 為何阻抗控制如此重要? 隨著資料速率持續提升,訊號完整性成為關鍵議題。未受控的阻抗可能導致訊號反射、串擾與電磁干擾(EMI),進而造成資料損毀、通訊錯誤,甚至系統失效。受控阻抗 PCB 透過管理傳輸線上的阻抗來維持訊號完整性。 高速受控阻抗 PCB 的疊構考量 在設計高速受控阻抗 PCB時,工程師必須考量疊構,其會影響電路板的電氣效能、製造複雜度與成本。以下為需評估的重點: 1. 層數 PCB 的層數會影響其複雜度與成本。更多層數可提供更佳的阻抗控制、降低 EMI 並實現更密集的佈線,然而也......