FPGA 基礎知識 – 第 3 篇:Microchip Technology 的 FPGA 使用入門

作者:Clive "Max" Maxfield

資料提供者:DigiKey 北美編輯群

編者說明:最佳的處理解決方案通常由 RISC、CISC、圖形處理器與 FPGA 等組合方案提供;也可由 FPGA 本身或以處理器硬核心為部分結構的 FPGA 提供。然而,許多設計人員對 FPGA 的功能、發展歷程和使用方式不太熟悉。本系列文章包含多個部分。第 1 篇詳細介紹了 FPGA。第 2 篇著重介紹了 Lattice Semiconductor 的 FPGA 產品。本文為第 3 篇,將聚焦於 Microchip Technology 的 FPGA 元件系列與設計工具 (由子公司 Microsemi Corporation 提供)。第 4 篇和第 5 篇將介紹 AlteraXilinx 的 FPGA 與工具。

正如第 1 篇所討論,現場可編程閘極陣列 (FPGA) 具有許多特性,因此無論是獨立使用,還是在異質架構中使用,都是寶貴的運算資產;然而許多設計人員不熟悉 FPGA,也不知道如何將這些元件整合到自己的設計中。

為了克服這個障礙,我們需要深入探討主流廠商的 FPGA 架構以及相關工具。本文將介紹 Microchip Technology 的產品系列。

高階 FPGA 選項概覽

市面上有許多不同類型的 FPGA,每一種都具有不同的能力與功能組合。無論是何種 FPGA,其核心都是可編程結構。此結構以可編程邏輯區塊陣列呈現,又稱為邏輯元件 (LE) (圖 1a)。FPGA 結構再複雜一點,會包含 SRAM 區塊 (稱為區塊 RAM (BRAM))、鎖相迴路 (PLL) 以及時脈管理器等等 (圖 1b)。此外,也可加入數位訊號處理 (DSP) 區塊 (稱為 DSP 分割) 和高速串列器/解串列器 (SERDES) 區塊 (圖 1c)。

日益複雜的 FPGA 示意圖圖 1:最簡單的 FPGA 僅包含可編程結構和可配置一般用途 IO (GPIO) (a);但不同的架構會使用一些元件來擴大這一基礎結構,如 SRAM 區塊、PLL 和時脈管理器 (b);DSP 區塊和 SERDES 介面 (c);以及處理器硬核心和周邊裝置 (d)。(圖片來源:Max Maxfield)

CAN、I2C、SPI、UART 和 USB 等周邊裝置介面功能,可以實作為可編程結構中的軟核心,但許多 FPGA 都將其作為硬核心包含在矽中。同樣,微處理器也可實作為可編程結構中的軟核心,或是作為硬核心包含在矽中 (圖 1d)。具有處理器硬核心的 FPGA,稱為系統單晶片 (SoC) FPGA。不同的 FPGA 會提供不同的功能、特點、能力及容量組合,可適用於不同的市場與應用。

FPGA 廠商為數不少,其中包括 Altera (已被 Intel 收購)、Atmel (已被 Microchip Technology 收購)、Lattice Semiconductor、Microsemi (也已被 Microchip Technology 收購) 以及 Xilinx。

這些廠商全都提供多種系列的 FPGA;有些提供 SoC FPGA,有些則提供可耐受輻射且針對太空等高輻射環境設計的元件。由於可選的系列實在太多,每個都提供不同的資源,因此針對手邊的任務挑選最佳元件並不容易。

Microchip Technology 的 FPGA 簡介

Microchip Technology 的 FPGA 產品涵蓋中低端,並專注於具有出色可靠性的低功率、高安全性元件。Microchip 的 FPGA 廣泛部署於有線和無線通訊、國防、航空以及工業嵌入式應用,具有強大的 DSP 和記憶體資源,並在硬體加速、人工智慧、影像處理和邊緣運算等應用中表現出卓越的價值。

Microchip 提供三大 FPGA 系列:

  • IGLOO®2 FPGA:具有大量資源的低密度元件
  • SmartFusion®2 SoC FPGA:具有大量資源以及 32 位元處理器硬核心的低密度元件
  • PolarFire™ FPGA 與 SoC FPGA:成本最佳化且以 28 nm 製程技術實作的高效能元件

所有 FPGA 都有配置單元,用於確定每個可編程邏輯區塊的功能,以及邏輯區塊彼此之間和邏輯區塊與外部的連接方式。另外,這些單元還可用於配置 GPIO 的介面標準、輸入阻抗以及輸出迴轉率等等。

有些 FPGA 會使用 SRAM 型配置單元,但這些單元為揮發性元件,這意味著當系統斷電時,其儲存的內容會丟失。而當系統啟動電源時,必須從外部來源 (通常是快閃記憶體元件) 載入配置資料。這些 FPGA 需要花費很長的時間才能啟動電源並準備好投入使用。

有些 FPGA 則使用晶片上快閃記憶體來儲存配置資料,但仍具有 SRAM 型配置單元。在這種情況下,啟動電源時,晶片上控制器會將配置資料從快閃配置記憶體複製到 SRAM 配置單元。這些 FPGA 的啟動速度要比純粹的 SRAM FPGA 快。

Microchip 的 IGLOO2 FPGA 和 SmartFusion2 SoC FPGA 採用不同的機制,晶片上配置記憶體和晶片上配置單元均使用快閃記憶體技術來實作。以 PolarFire 元件來說,該配置單元以矽-氧化物-氮化物-氧化物-矽 (SONOS) 非揮發性記憶體 (NVM) 技術為基礎,可視之為「類似快閃記憶體,但是更好」。

由於配置資料儲存在非揮發性快閃記憶體 (即 SONOS) 單元中,Microchip 的 FPGA 和 SoC FPGA 可「即時接通」。也就是說,其啟動速度比任何其他類型的 FPGA 都要快。這些元件保留了快閃配置記憶體,這麼做的原因是,在 FPGA 繼續使用其配置單元中的現有配置運行時,可將新配置載入到這個配置記憶體中。新配置下載並驗證完畢後 (該配置可加密,並隨後進行 CRC 循環冗餘檢查),元件即可進入安全狀態,而配置記憶體內儲存的新配置可用於覆寫配置單元中儲存的原始配置。

傳統元件:IGLOO2 FPGA

IGLOO2 是出色的綜合型中低端 FPGA。此 FPGA 是許多設計人員眼中的「傳統」FPGA。這些快閃記憶體 FPGA 元件,非常適合用於通用功能,例如 Gigabit 乙太網路或雙 PCI Express 控制平面、橋接功能、輸入/輸出 (I/O) 擴充和轉換、影片和影像處理、系統管理以及安全連線等。應用範圍極為廣泛,包括通訊、工業、醫療、國防和航空等。

Microchip 的 IGLOO2 FPGA 示意圖 (按此放大)圖 2:IGLOO2 FPGA 非常適合用於通用功能,例如 Gigabit 乙太網路或雙 PCI Express 控制平面、橋接功能、I/O 擴充和轉換、影片和影像處理、系統管理以及安全連線等。(圖片來源:Microchip Technology)

IGLOO2 FPGA 可提供 5,000 至 150,000 個 LE,並具有高效能的記憶體子系統,其中包含高達 512 KB 的嵌入式快閃記憶體、兩個 32 KB 的嵌入式靜態隨機存取記憶體 (SRAM)、兩個直接記憶體存取 (DMA) 引擎以及兩個雙數據傳輸率 (DDR) 控制器。此外,這些元件還具有高達 16 個收發器通道、整合式 DSP 處理器區塊以及單粒子翻轉 (SEU) 防護/容錯記憶體。在安全性方面,此 FPGA 已進行差分功率分析 (DPA) 硬化,並使用 AES256 和 SHA256 加密以及按需 NVM 資料完整性檢查。

典型的 IGLOO2 元件範例是 M2GL025-FGG484I。此產品含有 27,696 個 LE、1,130,496 位元 RAM 以及 267 個 I/O。此外,為了讓設計人員研究和試用 IGLOO2 FPGA 系列的功能,Microchip 還推出了相應的 IGLOO2 評估套件,即 M2GL-EVAL-KIT (圖 3)。

Microchip 的 M2GL-EVAL-KIT 評估套件 (適用於 IGLOO2) 圖片 (按此放大)圖 3:M2GL-EVAL-KIT 是一款適用於 IGLOO2 的評估套件。此套件整合了許多功能,並具有功率低、可靠性高以及安全性高等特點。(圖片來源:Microchip Technology)

M2GL-EVAL-KIT 有助於輕鬆地開發嵌入式應用,包括馬達控制、系統管理、工業自動化、高速序列 I/O 應用以及 PCI Express 和 Gigabit 乙太網路等。此套件整合許多功能,並具有功率低、可靠性高以及安全性高等特點。此板件亦符合小尺寸 PCIe,可讓開發人員使用任何具有 PCIe 插槽的桌上型或筆記型電腦進行原型開發。

入門級 SoC:SmartFusion2 SoC FPGA

SmartFusion2 SoC FPGA 採用 IGLOO2 元件的傳統可編程結構,並增加 32 位元處理器硬核心。由於此處理器是 Arm® Cortex® 系列的知名成員,因此 SmartFusion2 系列為進入 SoC FPGA 世界提供了一個很好的切入點。

這些 SoC FPGA 提供 5,000 至 150,000 個 LE 並搭載 166 MHz Arm Cortex-M3 處理器,其中包括嵌入式追蹤巨集單元 (ETM) 和指令快取記憶體,並且具有晶片上 eSRAM 和嵌入式 NVM (eNVM);還會包括完整的微控制器子系統,並且擴充了豐富的周邊裝置,如 CAN、TSE 和 USB。

Microchip 的 SmartFusion2 SoC FPGA 示意圖 (按此放大)圖 4:SmartFusion2 SoC FPGA 提供 5,000 至 150,000 個 LE 並搭載 166 MHz Arm Cortex-M3 處理器,其中包括 ETM 和指令快取記憶體,並且具有晶片上 eSRAM 和 eNVM;還會包括完整的微控制器子系統,並且擴充了豐富的周邊裝置,如 CAN、TSE 和 USB。(圖片來源:Microchip Technology)

這些快閃記憶體 SoC FPGA 元件,非常適合用於通用功能,例如 Gigabit 乙太網路或雙 PCI Express 控制平面、橋接功能、I/O 擴充和轉換、影片/影像處理、系統管理以及安全連線等。應用範圍同樣極為廣泛,包括通訊、工業、醫療、國防和航空等。

典型的 SmartFusion2 元件範例是 M2S025-FCSG325I。此元件含有 25,000 個 LE、256 KB 的快閃記憶體、64 KB 的 RAM 和運行速率為 166 MHz 的 32 位元 Arm Cortex-M3 處理器子系統。此外,為了讓設計人員研究和試用 SmartFusion2 SoC FPGA 系列的功能,Microchip 還推出了相應的 SmartFusion2 創客板件,即 M2S010-MKR-KIT (圖 5)。

Microchip 的 SmartFusion2 創客板件圖片圖 5:SmartFusion2 創客板件是一款適用於 SmartFusion2 SoC FPGA 的低成本評估套件。此套件將 Arm Cortex-M3 處理器與以快閃記憶體為基礎的 FPGA 結構整合在一個晶片上,並搭載許多為 SoC 使用者所熟知的周邊裝置,如 RAM 和 DSP 區塊。 (圖片來源:Microchip Technology)

SmartFusion2 創客板件成本低廉並由 DigiKey 獨家販售,可讓設計人員方便地使用 SmartFusion2 系列。這款特別的元件提供以快閃記憶體為基礎的 FPGA 結構,並在單個晶片上搭載 12,000 個 LE、32 位元 166 MHz Arm Cortex-M3 處理器、DSP 區塊、SRAM、eNVM 和 GPIO 介面。

SmartFusion2 創客板件附有乙太網路介面、環境光感測器、SPI 快閃記憶體、八個使用者 LED 以及兩個使用者按鈕。另外還有兩個空閒的連接,可支援 ESP32 以及 ESP8266 Wi-Fi/藍牙模組 (未隨附)。此板件支援透過 USB 埠進行 JTAG 編程、UART 通訊以及為板件供電。此外,此板件還具有 SPI 快閃記憶體、50 MHz 時脈來源以及 Microchip 的 VSC8541 實體層 (PHY),可實作 100 Mbit/s 或 1 Gbit/s 的乙太網路。

成本最佳化的高效能元件:PolarFire FPGA 和 SoC FPGA

PolarFire FPGA 是一款成本最佳化且以 28 nm 製程技術實作的高效能元件。這些元件可以中等密度實現最低功耗,並具有很高的安全性和可靠性。

此產品系列可提供 100,000 至 500,000 個 LE 並具有 12.7 Gbit 收發器,功耗最多可比其他同類中端 FPGA 低 50%。 這些元件適用於多個領域的應用,包括線路存取網路和行動基礎架構、國防與商業航空市場,以及工業自動化與 IoT 市場。

Microchip 的 PolarFire FPGA 可提供 100,000 至 500,000 個 LE 示意圖 (按此放大)圖 6:PolarFire FPGA 可提供 100,000 至 500,000 個 LE 並具有 12.7 Gbit 收發器,功耗最多可比其他同類中端 FPGA 低 50%。(圖片來源:Microchip Technology)

PolarFire FPGA 的功耗比同類 FPGA 最多低 50% 的主要原因是,其將 NVM 技術用於晶片上配置記憶體和晶片上配置單元。這會在配置單元之間產生較低的洩漏量,而這也意味著,這些元件在通電時也是真正的「即時接通」,而不會產生湧入電流和配置電流。

對於網路邊緣的連網元件而言,網路安全是第一要務,因此開發人員不能僅滿足設計的功能要求,還必須要確保安全性。從矽晶製造到系統的部署和運作,安全防護需要遍佈整個階段。Microchip 的 PolarFire FPGA,是業界最先進的安全可編程 FPGA。

許多應用都對複雜電子設備的設計提出一定程度的安全性要求。PolarFire FPGA 專為高可靠性和高可用性的安全與任務關鍵型系統而設計,適用於工業、航空、軍事和通訊等應用。而 PolarFire 適合這些應用的原因在於其具有以下功能:

  • 零失效率 (FIT) 的 FPGA 配置
  • 防 SEU 記憶體
  • 具有單錯修正、雙錯偵測 (SECDED) 能力的記憶體控制器
  • 內建自我測試
  • 無需外部配置元件

典型的 PolarFire 元件範例是 MPF100T-FCSG325I。此產品含有 109,000 個 LE、7,782,400 位元的 RAM 以及 170 個 I/O。此外,為了讓設計人員研究和試用 PolarFire FPGA 系列的功能,Microchip 還推出了相應的 PolarFire FPGA 評估套件,即 MPF300-EVAL-KIT (圖 7)。

Microchip 的 MPF300-EVAL-KIT FPGA 評估套件圖片 (按此放大)圖 7:為了讓設計人員研究和試用 PolarFire FPGA 系列的功能,Microchip 還推出了相應的 MPF300-EVAL-KIT FPGA 評估套件。(圖片來源:Microchip Technology)

MPF300-EVAL-KIT 能為各種等級的應用提供高效能評估。此套件非常適合用於高速收發器評估、10 Gbit 乙太網路、IEEE1588、JESD204B、SyncE 和 CPRI 等。此套件連結包括高引腳數 (HPC) FPGA 夾層卡 (FMC)、眾多 SMA、PCIe、雙通道 Gigabit 乙太網路 RJ45、SFP+、USB。其 PolarFire FPGA 具有 300,000 個 LE,以及 DDR4、DDR3 和 SPI 快閃記憶體,有助於開發各種等級的高效能設計。

PolarFire 系列還在進一步發展。在本文撰寫之時,Microchip Technology 已針對即將推出的 PolarFire SoC FPGA 系列發佈了相關細節。此系列具有經過硬化且支援 Linux 的即時、開源 64 位元 RISC-V 型微處理器子系統。

使用 Microchip Technology 的 FPGA 進行設計與開發

最常用的 FPGA 開發技術之一便是語言導向設計 (LDD)。此技術涉及到使用 Verilog、VHDL 或 SystemVerilog 等硬體描述語言 (HDL),在稱為暫存器轉移層級 (RTL) 的抽象層級捕捉設計意圖。這些表述透過邏輯模擬功能進行驗證之後,即會連同其他資訊一起饋送到合成引擎,如目標 FPGA 類型、引腳分配以及時序限制 (例如最大輸入對輸出延遲) 等資訊。合成引擎的輸出型式是配置檔,可直接載入到 FPGA (若為 Microchip 的 FPGA 或 SoC FPGA),或是載入到外部記憶體元件 (若為 SRAM 架構的元件) (圖 8)。

Microchip 的 FPGA 設計與開發流程圖圖 8:透過邏輯模擬功能進行驗證之後,RTL 設計描述即會連同其他設計細節一起饋送到合成引擎,如 FPGA 類型、引腳分配以及時序限制等資訊。合成引擎的輸出是可直接載入到 FPGA 的配置檔。(圖片來源:Max Maxfield)

Microchip 的 Libero SoC 設計套件屬於此類工具。此軟體提供一整套易於學習和應用的整合式開發工具,可搭配 Microchip 的 IGLOO2 和 PolarFire FPGA,以及 SmartFusion2 和 PolarFire SoC FPGA 進行設計。此套件將業界標準 Synopsys 的 Synplify Pro 合成和 Mentor Graphics 的 ModelSim 模擬與約束條件管理以及編程和偵錯工具整合在一起,並支援安全生產編程。

除了使用 Verilog、VHDL 或 SystemVerilog 以文字格式擷取設計外,此套件還支援圖形輸入,可將系統定義成分層的連接區塊,並以低層區塊代表使用者定義的 HDL 或第三方 IP。

另外,此套件還含有 System Builder。這是一款易於使用的設計工具,可透過引導使用者回答一系列高階問題來定義目標系統。System Builder 首先會詢問需要什麼樣的系統架構,然後會添加任何其他需要在可編程結構中實作為軟核心的周邊裝置,最後會建立「設計即正確」的完整系統。

最後不得不提的是 SoftConsole 整合式開發環境 (IDE)。此環境有助於快速開發裸機和以 RTOS 為架構的 C/C++ 軟體,以用於在 Microchip 的 FPGA 和 SoC FPGA 中例項化的 32 位元軟處理器,以及 SmartFusion2 和 PolarFire SoC FPGA 中的 32 位元與 64 位元處理器硬核心。

結論

最佳的處理設計解決方案通常由處理器與 FPGA 的組合提供;也可由 FPGA 本身或以處理器硬核心為部分結構的 FPGA 提供。FPGA 技術近年來迅速發展,能在靈活性、處理速度和功率方面滿足設計的許多要求,因而可用於許多應用,包括智慧型介面、機械視覺及 AI 等。

如本文所述,Microchip Technology 的 FPGA 和 SoC FPGA 產品涵蓋中低端,並專注於具有出色可靠性的低功率、高安全性元件。這些 FPGA 具有強大的訊號處理和記憶體資源,非常適合用作各種應用的開發平台,例如通訊、工業、軍事與航空等產業的硬體加速、人工智慧、影像處理和邊緣運算等。

DigiKey logo

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Image of Max Maxfield

Clive "Max" Maxfield

Clive "Max" Maxfield 在 1980 年從英國雪菲爾哈倫大學取得控制工程學士學位,自此開始擔任大型主機電腦中央處理單元 (CPU) 的設計人員。多年來,Max 已設計眾多元件,從矽晶片到電路板,以及腦電波放大器到蒸汽龐克風格的預知引擎 (別問) 等應有盡有。他更是電子設計自動化 (EDA) 領域的先驅,經驗超過 30 年。

Max 是許多書籍的作者和/或共同作者,包括《Designus Maximus Unleashed》(在阿拉巴馬州列為禁書)、《Bebop to the Boolean Boogie》(電子學的另類指南)、《EDA: Where Electronics Begins》、《FPGAs: Instant Access, and How Computers Do Math》。請瀏覽其 Max's Cool Bean 部落格。

關於出版者

DigiKey 北美編輯群