來源:Digi-Key 作者:Jeff Shepard 現場可編程門陣列 (FPGA)、支持 Linux 的 RISC-V 微控制器單元 (MCU) 子系統、先進的存儲器架構和高性能通信接口,是設計人員的重要工具。對于安全互聯系統、安全關鍵型系統,以及人工智能 (AI) 和機器學習 (ML) 等各種硬實時確定性系統的設計人員,更是如此。 然而,將這些不同要素整合成一個安全、互聯且具確定性的系統可能極具挑戰性且非常耗時,為各種系統要素布設高速互連器件也是一樣。設計人員需要提供存儲器管理單元、存儲器保護單元、安全啟動能力以及用于高速連接的千兆級收發器。設計將需要活動和靜態功率管理以及涌流控制。一些設計要求能夠在 0°C 至 +100°C 結溫 (TJ) 的擴展商用溫度范圍內工作,而工業環境中的系統需要在 -40°C 至 +100°C 的 TJ 內工作。 為了應對這些和其他挑戰,設計人員可以借助 FPGA 片上系統 (SoC) 器件,這種器件具備低功耗、熱效率和國防級安全等特點,可實現智能、互聯、確定性的系統。 本文回顧了此類 FPGA SoC 的架構,以及它如何支持高效設計互聯確定性系統。隨后,本文簡要介紹了 EEMBC CoreMark-Pro 處理能力與功耗基準的關系,并考察了一款代表性 FPGA SoC 的基準性能。本文探討了如何將安全性植入這些 FPGA SoC,并詳細介紹了 Microchip Technology 的典范 FPGA SoC,以及能加速設計過程的開發平臺。最后,文中簡要列出了 MikroElektronika 的擴展板,這些擴展板可用于實現一系列通信接口和全球衛星導航系統 (GNSS) 定位能力。 用 FPGA 結構構建的 SoC 該 SoC 的“芯片”是 FPGA 結構,包含各種系統要素:從 FPGA 到用強化 FPGA 邏輯構建的 RISC-V MCU 子系統。MCU 子系統包括一個四核 RISC-V MCU 集群、一個 RISC-V 監視核心、一個系統控制器和一個確定性 2 級 (L2) 存儲器子系統。這些 SoC 中的 FPGA 包含多達 460 K 的邏輯元件、高達 12.7 Gbps 的收發器以及其他輸入/輸出 (I/O) 模塊,包括通用 I/O (GPIO) 和外設快速互連標準 (PCIe) 2 模塊。整體架構設計可靠。其包括用于所有存儲器的單錯誤校正和雙錯誤檢測 (SECDED)、差分功率分析 (DPA)、物理存儲器保護以及 128 Kb 閃存啟動存儲器(圖 1)。 圖 1:該 FPGA SoC 的所有要素(包括 RISC-V 子系統)都是在 FPGA 結構上實現的。(圖片來源:Microchip Technology) Microchip 提供由第三方工具和設計資源組成的 Mi-V(發音為“my five”)生態系統,以支持 RISC-V 系統的實現。該生態系統的建立是為了加快 RISC-V 指令集架構 (ISA) 在強化 RISC-V 內核和 RISC-V 軟內核中的應用。Mi-V 生態系統的要素包括: · 知識產權 (IP) 許可證 · 硬件 · 操作系統和中間件 · 調試器、編譯器和設計服務 FPGA SoC 中的強化 RISC-V MCU 包括多種調試功能,如無源運行時可配置的高級可擴展接口 (AXI) 和指令跟蹤。通過 AXI,設計人員可以監控寫入各種存儲器或從中讀取的數據,并知道數據被寫入或讀取的時間。 RISC-V MCU 子系統采用 5 級單發射有序流水線。此流水線不易受到 Spectre 或 Meltdown 漏洞(可能會導致亂序架構遭受攻擊)的影響。所有 5 個 MCU 與存儲器子系統相一致,支持各種確定性非對稱多處理 (AMP) 模式實時系統和 Linux。RISC-V 子系統的功能包括(圖 2): · 運行 Linux 和硬實時操作 · 將 L1 和 L2 配置為確定性存儲器 · DDR4 存儲器子系統 · 禁用/啟用分支預測器 · 有序流水線操作 圖 2:RISC-V 子系統包括多個處理器和存儲器元件。(圖片來源:Microchip Technology) 以更低能耗提供更強大處理能力 這些 FPGA SoC 除了系統運行優勢(包括支持硬實時處理)之外,還具有非常高的能效。EEMBC CoreMark-PRO 基準測試是比較嵌入式系統中 MCU 的效率和性能的一種行業標準,專門設計用來衡量硬件性能,并取代 Dhrystone 基準。 CoreMark-PRO 工作負載包括 4 種浮點工作負載和 5 種流行的整數工作負載,其性能特點、指令級并行和存儲器利用率各不相同。浮點工作負載包括源自 LINPACK 的線性代數例程、快速傅里葉變換、用于模式評估的神經網絡算法以及改進版的 Livermore 循環基準測試。JPEG 壓縮、XML 解析器、ZIP 壓縮和 256 位安全哈希函數算法 (SHA-256) 構成整數工作負載的基礎。 這些 SoC FPGA 的 MPFSO95T 模型,如 MPFS095TL-FCSG536E,可在 1.3 W 下實現高達 6500 Coremarks(圖 3)。 圖 3:MPFS095T FPGA SoC(橙線)在 1.3 W 下實現 6500 Coremarks。(圖片來源:Microchip Technology) 安全考慮 這些 FPGA SoC 的安全關鍵型和硬實時應用除了需要高能效和強大的處理能力外,還需要強大的安全性。這些 FPGA SoC 的基本安全功能包括防差分功率分析 (DPA) 的位流編程、真隨機數發生器 (TRNG) 和物理不可克隆功能 (PUF)。安全功能還包括:標準和用戶自定義的安全啟動;物理存儲器保護,其提供與機器的特權狀態相關的存儲器訪問限制,包括機器、超級用戶或用戶模式;以及免受 Meltdown 和 Spectre 攻擊的能力。 安全始于安全的供應鏈管理,包括在晶圓測試和封裝期間使用硬件安全模塊 (HSM)。每個 FPGA SoC 中都嵌入了 768 字節的數字簽名 x.509 FPGA 證書,以增強供應鏈的安全保證。 這些 FPGA SoC 中包含許多片上防篡改檢測器,以確保其安全可靠地運行。如果檢測到篡改,就會發出一個篡改標志信號,使系統能夠根據需要作出響應。提供的一些防篡改檢測器包括: · 電壓監控器 · 溫度傳感器 · 時鐘毛刺和時鐘頻率檢測器 · JTAG 主動檢測器 · Mesh 主動檢測器 256 位高級加密標準 (AES-256) 對稱分組密碼相關性功耗攻擊 (CPA) 防范措施、確保數據完整性的集成加密摘要功能、用于密鑰存儲的集成 PUF,以及用于 FPGA 結構和所有片上存儲器的歸零功能,進一步確保了安全性。 FPGA SoC 實例 Microchip Technology 將這些能力和技術整合到其 PolarFire FPGA SoC 中,這些 SoC 提供多種速度等級、溫度等級和不同封裝尺寸,以支持設計人員對 25 K 至 460 K 邏輯元件的廣泛解決方案需求。有 4 個溫度等級可供選擇(均為 TJ 額定值):0°C 至 +100°C 的擴展商用范圍、-40°C 至 +100°C 的工業范圍、-40°C 至 +125°C 的汽車范圍和 -55°C 至 +125°C 的軍用范圍。 設計人員可以選擇標準速度等級的器件,或選擇速度快 15% 的 -1 速度級器件。這些 FPGA SoC 可以在 1.0 V 電壓下工作以實現最低功耗,或者在 1.05 V 電壓下工作以獲得更高性能。它們提供一系列封裝尺寸,包括 11 x 11 mm、16 x 16 mm 和 19 x 19 mm。 對于需要擴展商用溫度范圍、標準速度、254 K 邏輯元件和 19 x 19 mm 封裝的應用,設計人員可以使用 MPFS250T-FCVG484EES。對于需要 23 K 邏輯元件的更簡單解決方案,設計人員可以使用 MPFS025T-FCVG484E,該元件采用 19 x 19 mm 封裝,也能在擴展商用溫度范圍內以標準速度工作。具有 254 K 邏輯元件的 MPFS250T-1FCSG536T2 專為高性能汽車系統而設計,其工作溫度范圍為 -40 至 125°C,速度等級為 -1,時鐘速度快 15%,采用緊湊型 16 x 16 mm 封裝,焊球數為 536,間距為 0.5 mm(圖 4)。 圖 4:汽車溫度 MPFS250T-1FCSG536T2 采用 16 x 16 mm 封裝,焊球數為 536,間距為 0.5 mm。(圖片來源:Microchip Technology) FPGA SoC 開發平臺 為了加快采用 PolarFire FPGA SoC 的系統設計,Microchip 提供 MPFS-ICICLE-KIT-ES PolarFire SoC Icicle 套件,其支持探索低功耗實時執行、可運行 Linux 的五核 RISC-V 微處理器子系統。該套件包括一個免費的 Libero Silver 許可證,能滿足評估設計需要。它支持單一語言編程和調試功能。 這些 FPGA SoC 在 VectorBlox 加速器軟件開發工具包 (SDK) 的支持下,可以實現低功耗、小尺寸的 AI/ML 應用。該工具包旨在簡化設計過程,設計人員事先無需具備 FPGA 設計經驗。VectorBlox 加速器 SDK 使開發人員可以使用 C/C++ 語言對高能效神經網絡進行編程。Icicle 套件提供一個全面的開發環境,具備眾多功能,包括:監視各種功率域的多軌功率傳感器系統,PCIe 根端口,用于運行 Linux 和 Raspberry Pi 的板載存儲器(包括 LPDDR4、QSPI 和 eMMC 閃存),用于一系列有線和無線連接選項的 mikroBUS 擴展端口,以及 GNSS 定位能力等功能擴展(圖 5)。 圖 5:該 FPGA SoC 綜合開發環境包括用于連接 Raspberry Pi(右上方)和 mikroBUS(右下方)擴展板的連接器。(圖片來源:Microchip Technology) 擴展板 mikroBUS 擴展板的幾個例子包括: MIKROE-986,使用串行外設接口 (SPI) 增加 CAN 總線連接。 MIKROE-1582,用于 MCU 和 RS-232 總線之間的接口。 MIKROE-989,用于與 RS422/485 通信總線連接。 MIKROE-3144,支持 LTE Cat M1 和 NB1 技術,實現與 3GPP 物聯網設備的可靠簡單連接。 MIKROE-2670,支持 GNSS 功能,可同時接收 GPS 和 Galileo 信號以及北斗或 GLONASS 信號,在城市峽谷中信號較弱或有干擾的情況下也能實現高定位精度。 總結 開發互聯、安全關鍵型和硬實時確定性系統時,設計人員可以采用 FPGA SoC。FPGA SoC 提供諸多系統要素,包括 FPGA 結構、帶有高性能存儲器的 RISC-V MCU 子系統、高速通信接口和眾多安全功能。為了幫助設計人員開始工作,相關廠商提供了包含所有必要元件的開發板和環境,包括可用于實現廣泛通信和定位功能的擴展板。 |