使用 Efinix 的 Quantum 架構 FPGA,實作低功率、高效能的邊緣運算

作者:Clive "Max" Maxfield

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

傳統的雲端運算在延遲、資料安全性、使用者隱私、可用頻寬及可靠連線方面具有眾多問題。為了解決這些問題,設計人員和系統架構人員陸續轉用邊緣運算。但是,邊緣運算也有自身的難題要處理,包括成本、尺寸、效能、功耗以及擴充性、靈活性及升級能力。若設計人員想更接近資料來源執行更多的影像處理,並實作更多的人工智慧 (AI) 與機器學習 (ML) 演算法,則更有挑戰性。

因此,設計人員不再將目光侷限於傳統的微控制器 (MCU) 或應用處理器 (AP),而是考量具有並行處理能力的現場可編程閘極陣列 (FPGA)。FPGA 的設計和實作一直在穩定改進,因此目前能滿足上述許多甚至全部的要求,既可當作獨立元件,也可搭配 MCU 和 AP 使用。但儘管如此,許多對 FPGA 不熟悉的設計人員對學習曲線有所顧慮。

本文將簡要探討如何從雲端轉移到邊緣運算,以及傳統的處理架構為何無法滿足影像處理以及 AI 和 ML 的要求。接著會概述 FPGA,以及其架構為何適合這些資料密集型邊緣應用。最後則會介紹一種新的 FPGA 做法,即 Efinix 的 Quantum 技術及其應用方法。

為何使用邊緣運算?

在傳統的雲端運算中,資料從眾多遠端位置收集而來,再饋送至雲端系統進行儲存及分析。但此做法有許多缺點,包括需要耗費成本來傳輸大量原始資料以及在傳送期間維持資料完整性和安全性;回應延遲;使用者隱私考量;常常無法可靠連接至網際網路;以及不能有效使用可用頻寬等。

顧名思義,邊緣運算意味著將處理作業 (運算及分析) 移至更靠近網際網路邊緣的地方,即產生、分析、收集和應用資料的地方。邊緣運算這個詞並非特定應用或元件專用,設計人員可以根據需求選擇僅在邊緣處理,或在雲端和邊緣之間取得平衡。

邊緣應用的範圍很廣泛,包括智慧工廠、智慧城巿、智慧家庭以及智慧運輸等等。同樣地,邊緣裝置的範圍也很廣泛,既有大型的高階邊緣伺服器,也有位於網際網路極邊緣處 (資料產生點) 且相對較小的感應器與致動器系統。

FPGA 的優點

在運算方面,傳統處理器在決策制訂和循序任務方面的效率極高,但在許多資料處理演算法 (如用於影像處理、AI 與 ML 的演算法) 方面卻效率極差。這些任務通常可拆解為大規模並行 (相較於循序) 處理管線。而這些應用恰巧就是轉移至邊緣和極邊緣的應用。

由於 FPGA 可經由編程 (配置) 來實作任何功能組合,因此能以大規模的並行方式執行影像處理、AI 及 ML 演算法,如此一來即可將延遲時間縮至最短,同時降低功耗。除了主要的可編程結構,FPGA 還配備晶片上數位訊號處理 (DSP) 區塊,其中含有特殊乘法器,可大幅加速 DSP 密集型應用。此外,FPGA 還具有晶片上記憶區塊,有助於在晶片上進行處理,因此比晶片外處理更快許多。

有許多廠商都可提供獨具特色的 FPGA。其中一家廠商 Efinix,開發出名為 Quantum 的特殊 FPGA 架構,此架構特別適合用於一般用途的邊緣運算,尤其是影像處理。基於此技術,該廠商開發出一系列的 Trion FPGA (及 Quantum ASIC),可提供優於傳統 FPGA 技術 4 倍的功率-效能-面積 (圖 1)。而橋接該 FPGA 和各個 ASIC 域的則是 Efinity 的整合開發環境 (IDE)。

Trion FPGA 滿足許多應用需求的示意圖圖 1:憑藉在功率-效能-面積上的優勢,Trion FPGA 可滿足客製化邏輯、運算加速、ML、深度學習及影像處理等應用的需求。使用 Efinity IDE 後,使用者可從 Trion FPGA 順利轉移至 Quantum ASIC,進行大規模生產。(圖片來源:Efinix)

什麼是 Quantum 技術?

與傳統 FPGA 一樣,Trion FPGA 也包含記憶體和 DSP 區塊。其區別在於可編程結構 (圖 2)。可編程邏輯的核心是邏輯元件 (LE)。而每個 LE 都包含查找表 (LUT)、多工器和暫存器,且這些元件都可依需求進行配置。傳統 FPGA 的可編程架構,可稱之為「粗粒度」。

傳統 FPGA 的架構示意圖圖 2:傳統 FPGA 的架構 (a) 為粗粒度架構,雖然邏輯和互連元件都可編程,但仍是固定資源。相比之下,以 Quantum 架構為基礎的 Trion FPGA 則具有更精細的粒度,其邏輯和佈線資源可相互交換 (圖片來源:Max Maxfield)

在粗粒度結構中,多個 LE 匯集成一個較大的叢集邏輯區塊 (CLB)。請注意,有些廠商將其稱之為可配置邏輯區塊 (CLB),有些則稱為邏輯陣列區塊 (LAB),但都是相同的結構。

請務必注意,此圖為抽象圖。在傳統 FPGA 中,CLB 與佈線開關 (可編程互連元件) 並未如圖所示以棋盤狀圖形呈現。但這些元件是固定不變的,可編程邏輯永遠都是可編程邏輯,而可編程互連元件永遠都是可編程互連元件。

與傳統架構相比,Trion FPGA 的粒度則更精細,可細至單一邏輯元件的解析度。此外,每個可互換邏輯與佈線 (XLR) 單元皆可配置,以當作 LE 或佈線矩陣的一部分。

在 Quantum 架構中使用的配置單元皆以 SRAM 為基礎,這意味著此技術「與矽無關」。這些單元可使用任何標準的 CMOS 製程製造,不像某些中階 FPGA 的替代配置技術 (例如快閃記憶體和抗熔絲) 必須使用特殊製程步驟。

Quantum 架構做法具備可軟體配置的邏輯與佈線,再加上高效能的自適應互連元件,因此相較於在相同製程技術節點上建立的傳統 SRAM 架構 FPGA,在功率-效能-面積 (PPA) 方面提高 4 倍之多。

此外,使用 Quantum 架構建立的 FPGA 僅需要 7 個金屬化層,而傳統 FPGA 則需要 12 個以上金屬化層。每增加一個金屬層,就需要執行多個遮罩和製程步驟,因此,僅使用七個金屬化層可降低設計和製造成本,並提升良率。

若設計人員要在邊緣運算和影像處理的成本、尺寸、效能和靈活性上取得優勢,這些特性和功能都非常實用。因此,Trion FPGA 不但非常適合傳統的 FPGA 應用,也適合新興的邊緣運算和影像處理應用。新興應用包括行動、物聯網 (IoT)、自動化、機器人、感測器融合、電腦視覺、AI 以及 ML。

Trion FPGA 的結構

Trion FPGA 採用的是 40 nm 低功率矽晶製程,且 LE 的數量介於 4000 個至 20 萬個,但此製程可擴充至更多的元件。所有的 Trion FPGA 均含有記憶體和 DSP 區塊,但其容量和數量要視元件大小而定。小型元件 (如 T4F81C2) 在功能上較為簡單 (即 3,888 個 LE、78,848 個記憶體位元及 59 個 GPIO),且主要用於手持式、控制面板功能。

較高階的元件 (如 T20F256C3) 則相對擁有更多資源 (即 19,728 個 LE、1,069,548 個記憶體位元及 195 個 GPIO)。T13F256C3 與 T20F256C3 類似,只不過有 12,828 個 LE。同樣地,T13/T20 這類元件提供不同的版本 (圖 3)。

Efinix 的 T13/T20 BGA256 為通用型 FPGA 示意圖圖 3:Efinix 的 T13/T20 BGA256 (a) 屬於通用型 FPGA,非常適合需要密集使用 I/O 的設計;T13/T20 BGA169 (b) 含有兩個 MIPI D-PHY/CSI-2 硬體核心區塊,適合需要支援 MIPI 攝影機介面的設計;T13/T20 BGA324 (c) 搭載一個硬體核心 x16 位元雙倍數據傳輸率 (DDR) DRAM 介面及控制器,以強化 MIPI 介面,適合需要密集使用記憶體頻寬的設計。(圖片來源:Max Maxfield)

MIPI CSI-2 具有功率低、延遲低以及晶片對晶片連接成本低的特點,因此是行動和其他巿場中使用最廣泛的攝影機介面。此外,還支援多種高效能格式,包括 1080p、4K、8K (及以上) 視訊,以及高解析度成像。其中須特別關注的事實是,MIPI CSI-2 是邊緣應用中視覺感測器所用的主流介面。為支援這些應用的設計,T13/T20 BGA169 FPGA 含有兩個 MIPI D-PHY/CSI-2 硬體核心區塊 (再次參見圖 3)。

雖然 DDR 記憶體支援高頻寬資料傳輸,但也需要遵守嚴格的時序協定。除了強化的 MIPI D-PHY/CSI-2 介面,Trion T13/T20 BGA324 (再次參見圖 3) 還包含強化的 x-16 位元 DDR DRAM 介面和控制器,適合需要密集使用記憶體頻寬的設計。

Quantum ASIC

如前面所述,Trion FPGA 採用的配置單元以 SRAM 為基礎。因此,首次開啟系統電源時,Trion FPGA 需要從外部記憶體元件,或透過主機處理器以「位元觸發」的方式載入其配置資料。為了在大規模生產中完成此步驟,Efinix 亦提供採用 Quantum ASIC 形式的 Quantum 加速型嵌入式 FPGA (eFPGA) 解決方案。對此,Efinix 可使用 T4、T8、T13 或 T20 設計,打造無需外部配置元件,即可於內部啟動的遮罩編程型 Quantum ASIC 版本。

使用 Trion FPGA 進行設計與開發

Efinix 推出多種評估板和開發套件,協助使用者熟悉 Trion FPGA。這些產品包括 Trion T8F81C-DK T8 Trion FPGA 開發套件、Trion T20F256C-DK T20 Trion FPGA 評估板,以及 Trion T20MIPI-DK T20 MIPI D-PHY/CSI-2 開發套件。

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

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

Efinix 的 Efinity IDE 屬於此類工具。此軟體具有簡單易用的圖形使用者介面 (GUI),並支援命令列指令碼,可提供完整的 RTL 對位元流流程。有一個直覺的儀表板,可指引開發人員完成流程 (即合成、放置、佈線、位元流生成),而每個階段皆可自動或手動進行控制。開發人員可使用 Efinity 的合成引擎,充分利用 Trion FPGA 的 Quantum 架構來產生有望提升 4 倍 PPA 的元件。

除了使用 ModelSim、NCSim 或免費的 IVerilog 模擬器支援模擬流程外,Efinity IDE 還提供多種工具,包括 Interface Designer,用於限制邏輯並將引腳指派給元件周邊裝置中的區塊;Floorplan Editor,用於瀏覽設計的邏輯和佈線位置;Timing Browser 和靜態時序分析模組,用於衡量設計的效能;以及具有邏輯分析器和虛擬 I/O 除錯核心的整合式硬體除錯器。

結論

設計人員在邊緣執行更多的影像、AI 及 ML 處理,而不是採用雲端做法或令其更加完備,因此需要考慮將 FPGA 納入處理架構,以更好的方式因應成本、效能、功耗、尺寸、擴充性、靈活性和升級性方面的問題。

對於某些設計人員,可能會有學習曲線的考量;但如本文所述,FPGA 技術的進步 (例如 Efinix 的 Quantum 技術) 帶來更低的成本、更小的尺寸、更高的效能以及更大的靈活性,可快速達到投資回報。

因此,FPGA 現已非常適合傳統的 FPGA 應用,以及新興的邊緣運算應用,包括行動、IoT、自動化、機器人、感測器融合、電腦視覺、AI 及 ML 應用。

其他資源

  1. 基礎知識:IoT、IIoT、AIoT 以及這些技術是工業自動化未來的原因
  2. FPGA 的基礎知識:什麼是 FPGA?為何需要 FPGA?
  3. FPGA 基礎知識 – 第 2 篇:Lattice Semiconductor 的 FPGA 使用入門
  4. FPGA 基礎知識 – 第 3 篇:Microchip Technology 的 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 北美編輯群