搭建硬實時系統(tǒng)太難了?用它試一下!
現場可編程門陣列 (FPGA)、支持 Linux 的RISC-V 微控制器單元 (MCU) 子系統(tǒng)、先進的存儲器架構和高性能通信接口,是設計人員的重要工具。對于安全互聯系統(tǒng)、安全關鍵型系統(tǒng),以及人工智能 (AI) 和機器學習 (ML) 等各種硬實時確定性系統(tǒng)的設計人員,更是如此。
本文引用地址:http://www.ex-cimer.com/article/202309/450908.htm然而,將這些不同要素整合成一個安全、互聯且具確定性的系統(tǒng)可能極具挑戰(zhàn)性且非常耗時,為各種系統(tǒng)要素布設高速互連器件也是一樣。設計人員需要提供存儲器管理單元、存儲器保護單元、安全啟動能力以及用于高速連接的千兆級收發(fā)器。設計將需要活動和靜態(tài)功率管理以及涌流控制。一些設計要求能夠在 0°C 至 +100°C 結溫 (TJ) 的擴展商用溫度范圍內工作,而工業(yè)環(huán)境中的系統(tǒng)需要在 -40°C 至 +100°C 的 TJ 內工作。
為了應對這些和其他挑戰(zhàn),設計人員可以借助 FPGA 片上系統(tǒng) (SoC) 器件,這種器件具備低功耗、熱效率和國防級安全等特點,可實現智能、互聯、確定性的系統(tǒng)。
本文回顧了此類 FPGA SoC 的架構,以及它如何支持高效設計互聯確定性系統(tǒng)。隨后,本文簡要介紹了EEMBC CoreMark-Pro 處理能力與功耗基準的關系,并考察了一款代表性 FPGA SoC 的基準性能。本文探討了如何將安全性植入這些 FPGA SoC,并詳細介紹了 Microchip Technology 的典范 FPGA SoC,以及能加速設計過程的開發(fā)平臺。最后,文中簡要列出了 MikroElektronika 的擴展板,這些擴展板可用于實現一系列通信接口和全球衛(wèi)星導航系統(tǒng)(GNSS) 定位能力。
用 FPGA 結構構建的 SoC
該 SoC 的“芯片”是 FPGA 結構,包含各種系統(tǒng)要素:從 FPGA 到用強化 FPGA 邏輯構建的 RISC-V MCU 子系統(tǒng)。MCU 子系統(tǒng)包括一個四核 RISC-V MCU 集群、一個 RISC-V 監(jiān)視核心、一個系統(tǒng)控制器和一個確定性 2 級 (L2) 存儲器子系統(tǒng)。這些SoC 中的 FPGA 包含多達 460 K 的邏輯元件、高達 12.7 Gbps 的收發(fā)器以及其他輸入/輸出 (I/O) 模塊,包括通用 I/O (GPIO) 和外設快速互連標準 (PCIe) 2 模塊。整體架構設計可靠。其包括用于所有存儲器的單錯誤校正和雙錯誤檢測(SECDED)、差分功率分析 (DPA)、物理存儲器保護以及128 Kb 閃存啟動存儲器(圖 1)。
圖 1:該 FPGA SoC 的所有要素(包括 RISC-V 子系統(tǒng))都是在 FPGA 結構上實現的。(圖片來源:Microchip Technology)
Microchip 提供由第三方工具和設計資源組成的 Mi-V(發(fā)音為“my five”)生態(tài)系統(tǒng),以支持 RISC-V 系統(tǒng)的實現。該生態(tài)系統(tǒng)的建立是為了加快 RISC-V 指令集架構 (ISA) 在強化 RISC-V 內核和 RISC-V 軟內核中的應用。Mi-V 生態(tài)系統(tǒng)的要素包括:
● 知識產權 (IP) 許可證
● 硬件
● 操作系統(tǒng)和中間件
● 調試器、編譯器和設計服務
FPGA SoC 中的強化 RISC-V MCU 包括多種調試功能,如無源運行時可配置的高級可擴展接口 (AXI) 和指令跟蹤。通過 AXI,設計人員可以監(jiān)控寫入各種存儲器或從中讀取的數據,并知道數據被寫入或讀取的時間。
RISC-V MCU 子系統(tǒng)采用 5 級單發(fā)射有序流水線。此流水線不易受到 Spectre 或 Meltdown 漏洞(可能會導致亂序架構遭受攻擊)的影響。所有 5 個 MCU 與存儲器子系統(tǒng)相一致,支持各種確定性非對稱多處理 (AMP) 模式實時系統(tǒng)和 Linux。RISC-V 子系統(tǒng)的功能包括(圖 2):
● 運行 Linux 和硬實時操作
● 將 L1 和 L2 配置為確定性存儲器
● DDR4 存儲器子系統(tǒng)
● 禁用/啟用分支預測器
● 有序流水線操作
圖 2:RISC-V 子系統(tǒng)包括多個處理器和存儲器元件。(圖片來源:Microchip Technology)
以更低能耗提供更強大處理能力
這些 FPGA SoC 除了系統(tǒng)運行優(yōu)勢(包括支持硬實時處理)之外,還具有非常高的能效。EEMBC CoreMark-PRO 基準測試是比較嵌入式系統(tǒng)中 MCU 的效率和性能的一種行業(yè)標準,專門設計用來衡量硬件性能,并取代 Dhrystone 基準。
CoreMark-PRO工作負載包括 4 種浮點工作負載和 5 種流行的整數工作負載,其性能特點、指令級并行和存儲器利用率各不相同。浮點工作負載包括源自 LINPACK 的線性代數例程、快速傅里葉變換、用于模式評估的神經網絡算法以及改進版的Livermore 循環(huán)基準測試。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) 的位流編程、真隨機數發(fā)生器 (TRNG) 和物理不可克隆功能 (PUF)。安全功能還包括:標準和用戶自定義的安全啟動;物理存儲器保護,其提供與機器的特權狀態(tài)相關的存儲器訪問限制,包括機器、超級用戶或用戶模式;以及免受 Meltdown 和 Spectre 攻擊的能力。
安全始于安全的供應鏈管理,包括在晶圓測試和封裝期間使用硬件安全模塊 (HSM)。每個 FPGA SoC 中都嵌入了 768 字節(jié)的數字簽名 x.509 FPGA 證書,以增強供應鏈的安全保證。
這些 FPGA SoC 中包含許多片上防篡改檢測器,以確保其安全可靠地運行。如果檢測到篡改,就會發(fā)出一個篡改標志信號,使系統(tǒng)能夠根據需要作出響應。提供的一些防篡改檢測器包括:
● 電壓監(jiān)控器
● 溫度傳感器
● 時鐘毛刺和時鐘頻率檢測器
● 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 的工業(yè)范圍、-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 專為高性能汽車系統(tǒng)而設計,其工作溫度范圍為 -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 開發(fā)平臺
為了加快采用 PolarFire FPGA SoC 的系統(tǒng)設計,Microchip 提供 MPFS-ICICLE-KIT-ES PolarFire SoC Icicle 套件,其支持探索低功耗實時執(zhí)行、可運行 Linux 的五核 RISC-V 微處理器子系統(tǒng)。該套件包括一個免費的 Libero Silver 許可證,能滿足評估設計需要。它支持單一語言編程和調試功能。
這些 FPGA SoC 在 VectorBlox 加速器軟件開發(fā)工具包 (SDK) 的支持下,可以實現低功耗、小尺寸的 AI/ML 應用。該工具包旨在簡化設計過程,設計人員事先無需具備 FPGA 設計經驗。VectorBlox 加速器 SDK 使開發(fā)人員可以使用 C/C++ 語言對高能效神經網絡進行編程。Icicle 套件提供一個全面的開發(fā)環(huán)境,具備眾多功能,包括:監(jiān)視各種功率域的多軌功率傳感器系統(tǒng),PCIe 根端口,用于運行 Linux 和 Raspberry Pi 的板載存儲器(包括 LPDDR4、QSPI 和 eMMC 閃存),用于一系列有線和無線連接選項的 mikroBUS 擴展端口,以及 GNSS 定位能力等功能擴展(圖 5)。
圖 5:該 FPGA SoC 綜合開發(fā)環(huán)境包括用于連接 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 信號,在城市峽谷中信號較弱或有干擾的情況下也能實現高定位精度。
總結
開發(fā)互聯、安全關鍵型和硬實時確定性系統(tǒng)時,設計人員可以采用 FPGA SoC。FPGA SoC 提供諸多系統(tǒng)要素,包括 FPGA 結構、帶有高性能存儲器的 RISC-V MCU 子系統(tǒng)、高速通信接口和眾多安全功能。為了幫助設計人員開始工作,相關廠商提供了包含所有必要元件的開發(fā)板和環(huán)境,包括可用于實現廣泛通信和定位功能的擴展板。
小編的話
設計一個高完整度的硬實時確定性系統(tǒng)面臨諸多挑戰(zhàn),相信有不少系統(tǒng)設計工程師朋友都有過在安全、互聯和高效及低功耗這些方面要如何配置子系統(tǒng)才能實現最佳性能的困擾。本文介紹的利用FPGA架構進行SoC設計的方法,提供了一個高效靈活的實現路徑。您認為應用FPGA架構進行系統(tǒng)芯片設計是一個理想的方法嗎?您是否有采用過文中提到的器件和開發(fā)平臺進行系統(tǒng)開發(fā)?
作者:Jeff Shepard 來源:DigiKey
評論