FPGA 基礎知識 – 第 2 篇:Lattice Semiconductor 的 FPGA 使用入門

作者:Clive "Max" Maxfield

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

編者說明:最佳的處理解決方案通常由 RISC、CISC、圖形處理器與 FPGA 等組合方案提供;也可由 FPGA 本身或以處理器硬核心為部分結構的 FPGA 提供。然而,許多設計人員對 FPGA 的功能、發展歷程和使用方式不太熟悉。本系列文章包含多個部分。第 1 篇對 FPGA 進行詳細介紹並說明為何需要使用 FPGA。本文是第 2 篇,將重點介紹 FPGA 廠商 Lattice Semiconductor 提供的 FPGA 元件系列以及設計工具。第 345 篇將探討 AlteraMicrochipXilinx 等多家公司的 FPGA 產品。

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

為了克服這個障礙,我們需要深入探討主流廠商的 FPGA 架構以及相關工具。本文將從 Lattice Semiconductor 的產品系列展開討論。

高階 FPGA 選項概覽

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

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

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

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

這些廠商全都提供多種系列的 FPGA;有些提供系統單晶片 (SoC) FPGA (內含處理器硬核心),有些則提供可耐受輻射且針對太空等高輻射環境設計的元件。由於可選的系列實在太多,每個都提供不同的資源,因此針對手邊的任務挑選最佳元件並不容易。本文將重點介紹 Lattice Semiconductor 提供的元件系列及設計工具。

Lattice Semiconductor 的 FPGA 簡介

Lattice Semiconductor 的 FPGA 產品橫跨中低端,主要專注於低功率元件,能讓客戶在快速成長的通訊、運算、工業、汽車以及消費性市場中,因應面臨到的各種邊緣到雲端的網路問題。

Lattice 提供四大 FPGA 系列產品:

  • iCE (據稱是全球最小的超低功率 FPGA)
  • CrossLink 和 CrossLinkPlus (針對高速視訊和感測器應用進行最佳化)
  • MachXO (針對橋接、擴充以及平台管理和安全應用進行最佳化)
  • ECP (針對連線和加速應用的一般用途元件)

此外,Lattice 還提供多種設計和驗證工具套裝,包括 Lattice Diamond 軟體 (適用於 CrossLink/CrossLinkPlus、MachXO 和 ECP 元件)、Lattice Radiant 軟體 (適用於 iCE FPGA 和未來架構)、LatticeMico (用於建立微處理器軟架構設計的圖形工具),以及 Lattice sensAI 堆疊神經網路編譯器 (適用於人工智慧 (AI) 和機器學習 (ML) 設計)。

傳統系列:ECP FPGA

Lattice 的 ECP 元件是許多設計人員眼中的「傳統」FPGA。產品內含多達 85,000 (k) 的四輸入查找表 (LUT),採用 10 mm x 10 mm、間距 0.5 mm 的封裝。具有低靜態和動態功耗;與協定無關的單通道 SERDES 功能,功耗低於 0.25 W,而四通道 SERDES 功能的功耗則低於 0.5 W。

除了 SRAM 區塊、數位訊號處理 (DSP) 區塊、鎖相迴路 (PLL) 和時脈管理器以外,ECP FPGA 還具有可編程 I/O 功能,可支援 LVCMOS 33/25/18/15/12、XGMII、LVTTL、LVDS、Bus-LVDS、7:1 LVDS、LVPECL 以及 MIPI D-PHY 輸入/輸出介面。

這些 ECP FPGA 中的配置單元採用 SRAM 架構。這意味著與其他所有採用 SRAM 架構的 FPGA 一樣,當系統通電時,必須從外部來源 (如快閃記憶體元件、微處理器、微控制器) 載入配置。

ECP 元件的典型範例為 LFE5UM5G-25F-8BG381C ECP5 5G FPGA,具有 SERDES 功能,封裝大小為 10 mm x 10 mm。為了讓設計人員更好地研究並實驗 ECP5 FPGA 系列的功能,Lattice 還提供相應的 ECP5-5G 開發板 LFE5UM5G-45F-VERSA-EVN (圖 2)。

Lattice Semiconductor 的 ECP5 評估板圖片圖 2:ECP5 評估板是具有大量邏輯、I/O、5G SERDES 和擴充排針座的原型開發板。(圖片來源:Lattice Semiconductor)

尺寸小巧但功能強大:Lattice 的 iCE FPGA

iCE 元件是目前市面上最小的 FPGA,該系列中最小的產品,能以 1.4 mm x 1.4 mm 封裝提供 18 個 I/O。iCE FPGA 提供靈活的邏輯架構,不僅有高達 5k 的四輸入型 LUT、高達 128 Kb 的 Lattice 嵌入式 sysMEM BRAM,以及 1 Mb 的單埠型 RAM (SPRAM),還有高效能 DSP 區塊以及可自訂的 I/O。

雖然 iCE FPGA 尺寸小、功耗低,睡眠電流最低為 75 µA,而且大多數應用的有功電流介於 1 至 10 mA,但功能相當強大。舉例來說,iCE FPGA 能實作人工神經網路 (ANN),進行必要的模式匹配,將全時啟動的智慧功能引進到邊緣裝置。

iCE FPGA 中的配置資料會儲存在非揮發性記憶體 (NVM) 內,代表這些元件是一次性編程 (OTP) 元件。不過,iCE FPGA 也包含 SRAM 架構的配置單元。在開發過程中,可從外部直接載入 SRAM 架構的配置單元來測試設計。設計確認之後,即可載入到 NVM。當元件通電時,儲存在 NVM 裡的配置將以大規模平行處理的方式,自動複製到 SRAM 架構的配置單元中。

ICE40UL1K-SWG16ITR1K iCE40 UltraLite 就是 iCE 元件之一,也是全球尺寸最小的 FPGA (本文發佈時),能在 1.4 mm x 1.4 mm 的封裝下提供 42 µW 的靜態功率。具有代表性的開發板則是 HM01B0-UPD-EVN Himax HM01B0 UPduino 擴充板和 sensAI 模組化展示板 (圖 3)。

Lattice Semiconductor 的 Himax HM01B0 UPduino 擴充板圖片圖 3:Himax HM01B0 UPduino 擴充板是實作人工智慧 (AI) 的完整開發套件,使用視覺和聲音作為感測輸入。(圖片來源:Lattice Semiconductor)

此套件以 UPduino 2.0 板為基礎,是一款 Arduino 樣式的快速原型開發板,具有 iCE40 UltraPlus FPGA 的效能與 I/O 能力。此套件還包含 Himax HM01B0 低功率影像感測器模組和兩個 I2S 麥克風。

專用系列:CrossLink 和 CrossLinkPlus FPGA

CrossLink 和 CrossLinkPlus 系列是專用的 FPGA;除了可編程邏輯和充沛的 I/O 能力,還包含在工業和汽車應用中廣泛使用的強化版規格。這些規格包括行動產業處理器介面 (MIPI) D-PHY 高速數據通訊實體層標準、相機序列介面 2 (CSI2) 以及顯示序列介面 2 (DSI2) 核心,全都裝在大小為 6 mm x 6 mm (CrossLink) 和 3.5 mm x 3.5 mm (CrossLinkPlus) 的封裝內。

與 iCE FPGA 一樣,CrossLink 元件中的配置資料也儲存在 OTP NVM 中,且同樣含有 SRAM 架構的配置單元,可以在開發過程中直接載入進行測試。設計確認之後,即會載入到 NVM,並在通電時以大規模平行處理的方式自動複製到 SRAM 架構的配置單元中。相比之下,CrossLinkPlus 元件中的配置單元為快閃型,代表這些元件可依據需求重新編程,並能在 10 ms 內立即啟動。

CrossLink 元件的範例為 LIF-MD6000-6JMG80I,含有 5,936 個邏輯元件/單元,184,320 個 RAM 總位元數以及 37 個 I/O。若想開始嵌入式視覺設計,設計人員可以使用 LF-EVDK1-EVN 嵌入式視覺開發套件,將 CrossLink 型 MIPI 輸入與 ECP5 FPGA 處理功能整合在一起,以利進行嵌入式視覺設計的原型開發 (圖 4)。

Lattice 的 LF-EVDK1-EVN 嵌入式視覺開發套件圖片圖 4:Lattice 的 LF-EVDK1-EVN 嵌入式視覺開發套件可為嵌入式系統設計人員提供軟硬體原型開發環境,能夠混搭輸入與輸出板,以介接多種影像感測器及顯示器。(圖片來源:Lattice Semiconductor)

適用於 I/O 和電源管理功能:MachXO FPGA

MachXO FPGA 具有數百個 I/O,最適合用於多種需要 GPIO 擴充、介面橋接、電源啟動管理功能的應用。系列近期推出的產品皆符合 NIST 標準,且提供額外的安全功能,可確保系統硬體和韌體安全無虞。

MachXO FPGA 具有一組完備的 GPIO,可提供「熱插槽」等功能,因此無論電源電軌狀態如何,都能向 I/O 施加電壓。此外,雖然大多數 FPGA 輸入預設為上拉狀態,但 MachXO 輸入預設為下拉狀態,因此非常適合控制功能應用。由於能在 10 ms 以內即時啟動,MachXO FPGA 可針對「最先啟動、最後關閉」的控制元件提供理想的解決方案,在系統通電和斷電期間對其他元件進行管理及排序。

MachXO 元件中的配置資料儲存在快閃記憶體中。MachXO 元件還包含 SRAM 架構的配置單元。當元件通電時,儲存在快閃記憶體裡的配置資料將以大規模平行處理的方式,自動複製到 SRAM 架構的配置單元中。此外,在元件運行期間,可以將新的配置載入到快閃記憶體,然後在適當的時候將新配置複製到 SRAM 單元。

MachXO 元件的範例為 LCMXO3LF-9400C-6BG256C,含有 9,400 個邏輯元件/單元,442,368 個 RAM 總位元數以及 206 個 I/O。具有代表性的開發板則是 LCMXO3LF-6900C-S-EVN MachXO3 入門套件 (MachX03L 版)。

Lattice Semiconductor 的 MachXO3L 入門套件圖片圖 5:MachXO3L 入門套件是基本的分接板,可輕鬆評估並開發以 MachXO3L 為基礎的設計。(圖片來源:Lattice Semiconductor)

此套件板提供 SPI 快閃記憶體,可用於評估外部開機或雙重開機功能。在評估 MIPI DSI 和 CSI2 I/O 時,建議使用 LCMXO3L-DSI-EVN MachXO3L DSI 分接板;評估高速差動 I/O 時,則建議使用 LCMXO3L-SMA-EVN MachXO3L SMA 分接板。

使用 Lattice Semiconductor 的 FPGA 進行設計和開發

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

RTL 設計描述饋送到合成引擎的示意圖圖 6:透過邏輯模擬功能進行驗證之後,RTL 設計描述即會連同其他設計細節一起饋送到合成引擎,如 FPGA 類型、引腳分配以及時序限制等資訊。合成引擎的輸出型式是配置檔,可直接載入到 FPGA (若為 NVM 或快閃記憶體架構的元件),或是載入到外部記憶體元件 (若為 SRAM 架構的 FPGA)。(圖片來源:Max Maxfield)。

Lattice Diamond 便屬這類工具,可針對 CrossLink、MachXO 和 ECP 元件提供整套 GUI 架構的 FPGA 設計和驗證環境。

與 Lattice Diamond 一樣,Lattice Radiant 也可提供整套以 GUI 為架構的 FPGA 設計和驗證環境,但 Lattice Radiant 主要用於 iCE FPGA 和未來的架構。

Lattice Radiant 具有以下特點:

  • 符合業界標準 IEEE 1735 智慧財產 (IP) 加密與 Synopsys 設計約束條件 (SDC),可提供最大互通性
  • 具有整合式工具組環境,可簡化設計導覽及除錯
  • 提供全新的流程工具列,可達到簡單的「一鍵式」設計實作
  • 提供完整封閉迴路的實體至邏輯設計實作交叉探測
  • 具有 IP 封裝能力,可供開發人員和第三方 IP 供應商以適合分發的形式將加密後的 IP 封裝

LatticeMico 系統開發工具

Lattice 提供兩個處理器軟核心,即 LatticeMico8 和 LatticeMico32。兩者均可實作為 FPGA 的可編程結構。

LatticeMico8 是 8 位元微控制器,針對 MachXO2 系列可編程邏輯元件 (PLD) 進行最佳化和全面測試,還可當作其他 FPGA 系列的公版設計。此微控制器的核心結合完整的 18 位元寬指令集與 32 個一般用途暫存器,在維持廣泛功能組合的同時,耗用最少的元件資源 (最小的配置還不到 200 個 LUT)。

LatticeMico32 是 32 位元的 Harvard 及 RISC 架構微處理器。LatticeMico32 將 32 位元寬指令集與 32 個通用暫存器整合在一起,可提供適合多種市場的效能和靈活性。此核心採用 RISC 架構,不僅耗用最少的元件資源,還能維持多種應用組合所需的效能。若想加速微處理器系統的開發,可在 LatticeMico32 中整合幾個與 WISHBONE 控制器相容的選配周邊裝置元件。

LatticeMico 系統開發工具提供圖形使用者介面,可讓使用者拖曳 LatticeMico 處理器核心和周邊裝置、將其連接到匯流排並定義每個元件的各種參數,例如在處理器位址空間內的位置。定義好系統後,這些工具便能自動產生相應的 RTL 進行模擬和合成。另外,此系統也含有相關的工具,可讓使用者產生在處理器核心上執行的軟體。

機器學習工具:Lattice sensAI 堆疊與神經網路編譯器

機器學習 (ML) 和人工智慧 (AI) 應用目前正廣泛部署於嵌入式系統和整個物聯網 (IoT),包括工業物聯網 (IIoT)。

Lattice sensAI 堆疊包含了評估、開發和部署 FPGA 架構 ML/AI 解決方案所需的一切項目,如模組化硬體平台、範例展示、公版設計、神經網路 IP 核心、開發用軟體工具以及客製化設計服務。在消費性和工業 IoT 應用中,此堆疊可幫助開發人員加速推出靈活的機器學習推斷。

Lattice 卷積神經網路 (CNN) 加速器 IP 核心是深度神經網路 (DNN) 的計算引擎。此引擎針對卷積神經網路進行最佳化,因此可用於分類或物品偵測和追蹤等視覺型應用。由於 CNN IP 核心可執行必要的計算,因此不需要額外的處理器。

同時,Lattice 神經網路編譯器可讓設計人員使用常見開發框架 (如 TensorFlow、Caffe 和 Keras) 所建立的神經網路,並可進行編譯,以實作於 Lattice CNN 和緊湊型 CNN 加速器 IP 核心中。

結論

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

如上所述,Lattice Semiconductor 的 FPGA 產品橫跨中低端,主要專注於低功率元件,能在快速成長的通訊、運算、工業、汽車以及消費性市場中,解決邊緣到雲端的網路問題。此外,Lattice 還提供多種設計和驗證工具套裝,可應對多種設計流程,包括語言型設計、圖形處理器型設計,以及專注於機器學習和人工智慧應用的相關設計。

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 北美編輯群