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 中的訊號完整性
重點摘要 背鑽過孔可從鍍通孔中移除未使用的銅質孔樁,將殘留孔樁縮短至 0.15 mm(6 mil)以下。這能消除 5–10 Gbps 以上高速訊號中的阻抗不連續、反射與諧振問題。背鑽能帶來更佳的回波損耗、插入損耗、更低抖動與更清晰的眼圖,同時仍可保留簡單堆疊結構,成本也遠低於盲孔/埋孔。對任何孔樁長度超過 15 mil(0.381 mm)的設計,尤其是板厚超過 1.2 mm 的電路板,都應考慮使用背鑽,以確保 PCIe、5G 與 25G+ 設計中的可靠性能。 在 10 Gbps 及以上的高速 PCB 設計中,過孔孔樁會產生阻抗不連續,並透過反射與諧振劣化訊號品質。背鑽過孔透過在初始電鍍後,以機械方式移除未使用的銅質孔壁,只保留真正需要的電氣導通路徑,從而解決這個問題。這項製程可恢復傳輸線連續性,而不需要改變層疊結構或走線幾何。工程師會在製造說明中指定背鑽過孔,以在 5G、PCIe 與 SerDes 等多層板應用中獲得更乾淨的眼圖、更低抖動與可靠性能。 高速 PCB 需求持續成長 訊號傳輸面臨的挑戰 5 GHz 以上的高速訊號會將鍍通孔視為一段短傳輸線。當過孔只連接內層時,未使用的部分——也就是孔樁......
PCB 天線設計:類型、原理與最佳實踐
在這個被無線通訊環繞的世界中,對於小巧、廉價且可靠的天線需求從未如此之高。天線是電磁波的應用。關於天線有許多理論和實作,但只有少數獲得認可。對於無線數據傳輸,一個解決方案可以是使用印刷電路板(PCB)天線。使用 PCB 天線代表了一種方便的解決方案,可將其直接整合到電子設備中,從而消除了對笨重外部天線的需求。無論您的天線是作為印刷元件放置還是從貨架上取下,對 PCB 設計師來說,深入了解天線的工作原理都很重要。在本文中,我們將介紹天線背後的一些主要概念,以便工程師了解如何設計、選擇和放置天線。 設計良好的天線可確保無線產品達到最佳的操作距離。它能從無線電傳輸的功率越多,在給定的封包錯誤率(PER)和接收器靈敏度下,能覆蓋的距離就越大。同樣地,在接收端,調校良好的無線電可以在天線接收到最小輻射入射的情況下工作。RF 佈局以及 無線電匹配網路需要妥善設計,以確保大部分來自無線電的功率能到達天線,反之亦然。 PCB 天線基礎理論: 天線是互易性元件,它們在提供電壓和電流時會發射電磁波,或者接收電磁波並將其轉換為電壓和電流。天線基本上是一個暴露在空間中的導體。如果導體的長度是信號波長的某個特定比率或倍數,......
共面波導在高頻 PCB 設計中的優勢
重點整理 共面波導,尤其是 GCPW,可透過讓回流路徑更靠近並限制電磁場分布,改善高頻 PCB 性能,進而提升訊號完整性並降低 EMI/輻射。它也提供更高的阻抗與佈局彈性,可同時調整走線寬度與間隙;但也需要更嚴格控制製造中的間隙公差、銅箔粗糙度與材料 Dk/Df。因此,場求解器阻抗設計與 DFM 檢查非常重要,在更高 GHz 頻段則建議優先選用低損耗層壓材料。 你是否曾想過,為什麼有些 RF 與微波 PCB 設計會把接地銅箔直接佈在同一層訊號走線旁邊?這種方法稱為共面波導,並且已悄悄成為高頻 PCB 設計中最重要的傳輸線結構之一。從 5G 基地台到 77 GHz 車用雷達模組,共面波導已廣泛存在於現代電子產品中。當你的電路板工作頻率超過 1 GHz 時,所選擇的傳輸線幾何結構會直接影響訊號完整性、EMI 表現與製造良率。 微帶線與帶狀線已主導數十年,但共面波導具備一組獨特優勢,使其成為許多高頻應用中的首選。本文將說明什麼是共面波導、它為什麼重要、在高頻設計中使用此方法的主要優點、最重要的設計方法,以及哪些製造考量能確保良好結果。無論你正在設計 RF 前端模組,還是高速數位連線,了解共面波導都能讓你......
利用 PCB 傳輸線實現可靠的高速效能
重點整理 PCB 傳輸線是 USB 3.0、PCIe、DDR4 與 RF 設計中可靠高速 PCB 性能的核心。它會將一般走線轉變為受控阻抗結構,用來降低反射、串擾與衰減。設計時應依需求選擇微帶線、帶狀線或接地共面波導(GCPW)幾何結構,搭配精準阻抗計算、連續參考平面、斜切彎角與 3W 間距規則;製造端則需仰賴 JLCPCB 的精準蝕刻、銅箔輪廓控制與 TDR 測試,確保從原型到量產皆能取得一致結果。 你是否曾經追查一片所有 DRC 都通過的電路板,卻發現原型板的時脈線出現振鈴,或眼圖看起來更像模糊污漬,而不是乾淨開口?在高速設計中,銅箔走線不只是單純連接。它們是 PCB 傳輸線,而破壞訊號完整性最簡單的方法,就是把這些線當成普通導線處理。當訊號上升時間短到讓走線長度成為波長中相當大的比例時,該走線的每一個細節都會產生影響。訊號是乾淨還是失真,取決於線寬、到參考平面的距離、介電材料,甚至是轉角如何處理。 在 USB 3.0、PCIe 與 DDR4 等介面中,只要走線長度達到幾公分,就可能進入這個臨界範圍。本文將介紹 PCB 傳輸線的概念、實際設計中最重要的類型、取得受控阻抗的關鍵技術,以及會把良好......
如何為高速且可靠的設計打造完美的 PCB 疊構
重點整理 良好的 PCB 疊構設計,是高速且可靠設計的基礎,會決定訊號完整性、阻抗控制與 EMI 表現。使用對稱層結構、相鄰參考平面、適當介電層間距與銅平衡,可避免翹曲與串擾。低於 3 GHz 的設計可選用標準 FR4;更高速度或高頻應用則可選擇低損耗材料,例如 Megtron 6、Rogers,並與製造商密切合作以取得最佳結果。掌握疊構設計,是高速設計成功的關鍵。 你是否曾經完成一片漂亮的 6 層 PCB 佈局,DRC 全部通過,卻在送廠後仍擔心訊號完整性問題?很多時候,問題可能不是你的走線,而是 PCB 疊構。層疊結構是任何多層板的結構基礎;錯誤的選擇,可能悄悄破壞即使最用心佈線的設計。設計良好的 PCB 疊構會定義訊號路徑、電源分配方式,以及電路板抑制電磁干擾的能力。無論你正在設計 USB 3.0 集線器,還是 DDR4 記憶體介面,性能都從疊構開始。今天,我們將完整介紹 PCB 疊構設計所需了解的重點,從層排列與對稱設計,到材料選擇、阻抗設計與製造考量。 為什麼良好的 PCB 疊構設計如此關鍵 疊構在訊號完整性與電源完整性中的角色 PCB 上的任何高速訊號都是一條傳輸線。這條傳輸線的阻抗,......
釋放 PCB 中導孔設計的潛力:提升效能與連接性
導孔設計是印刷電路板(PCB)的關鍵環節,能實現高效的訊號傳輸、良好的散熱性能、優質的熱量散逸,以及簡便地在各層與元件之間建立連接。在本文中,我們將探討導孔設計在印刷電路板中的重要性,了解不同的導孔類型,討論它們在焊盤設計中的重要性,並提供優化導孔設計的最佳實踐。 什麼是導孔? 導孔是印刷電路板(PCB)設計中的關鍵組成部分,用於在電路板的不同層之間建立電氣連接。它作為導電通路,使訊號、電源和接地連接能夠在印刷電路板中順暢流通。 導孔通常是鑽孔,並鍍有導電材料(如銅),從而實現各層之間的電氣訊號傳輸。導孔的直徑由具體的設計要求和製造能力決定。 在建立導孔時,確保其正確放置並與印刷電路板每一層上的相應電路對齊至關重要。導孔的位置對於優化訊號傳輸、減少干擾和實現高效佈線起著重要作用。 導孔設計在印刷電路板中的重要性 導孔設計對於確保印刷電路板的最佳性能和連接性至關重要。透過策略性地設計導孔,我們可以增強訊號傳輸、實現多層設計並達成緊湊的佈局。一項研究發現,適當的導孔設計可以將訊號完整性提高多達 30%。可靠且高效的導孔設計對於滿足現代印刷電路板日益增長的需求至關重要。 了解印刷電路板設計中的導孔 導孔......