RISC-V与FPGA结合带来全新设计解决方案
作者:Jim Harrison, 贸泽电子专稿
(来源:Yurchanka Siarhei/Shutterstock.com)
RISC-V的应用领域
基于RISC-V的处理器可用于诸多应用,包括成像和传感器接口、军事和航空航天、物联网 (IoT)、汽车和铁路运输以及工业控制。RISC-V设计可提供多种应用所需的高数据吞吐量,这些应用包括智能嵌入式视觉、混合动力和电动汽车、无线通信基础设施以及机器人技术。
采用其他内核/指令集架构 (ISA) 的处理器很少对基于网络的安全攻击具有免疫力,尤其是涉及物联网应用时。RISC-V不仅仅依赖于隔离和通信安全性,还具有其他与众不同的特性, 其中包括计算安全性,以阻止缓冲区溢出,并保护处理器免受通过网络发起并利用代码漏洞的网络攻击破坏。
某些RISC-V实现甚至具有针对安全性关键型和任务关键型设计的高可靠性和资源。当前,有两个工作组在针对基本ISA安全扩展进行着讨论,分别围绕加密扩展和可信执行环境。
可用的应用程序特定扩展还包括有限脉冲响应 (FIR) 滤波器、CRC32(32位循环冗余校验)和3DES(三重数据加密标准)算法。将这些优化型密码算法扩展添加到RISC-V内核中,可以显著提升这些功能的性能,同时节省大量功耗。
实现示例
Microsemi/Microchip有两个现场可编程门阵列 (FPGA) 系列(加上一个耐辐射系列)采用了RISC-V软核。它们的Mi-V RISC-V生态系统包括FPGA软核和片上系统 (SoC) 硬核实现。
IGLOO2 FPGA提供5K至150K逻辑单元 (LE),具有高性能存储器子系统、最大容量512KB的嵌入式闪存,2 x 32KB嵌入式SRAM、两个DMA引擎和两个内存控制器。您可以实现最多16条收发通道,分别用于外围组件互连 (PCI) Express Gen 2、XAUI/XGXS+或3.2G的通用ePCS模式。此器件还具有最高5Mbit的SRAM、4Mbit eNVM、DSP模块和667Mbps DDR2/3硬控制器, 以及低至7mW的待机功耗。
低成本的M2GL-EVAL-KIT让我们可以通过IGLOO2轻松开发各种嵌入式应用,包括开发电机控制、系统管理、工业自动化和高速串行I/O应用等。该套件用于开发基于收发器I/O的FPGA设计,以构建基于PCI Express和千兆以太网的系统。它符合小型PCIe物理外形规范,允许使用任何具有PCIe插槽的台式PC进行快速原型设计。
PolarFire是逻辑单元为100K至500K的中端FPGA系列。此器件具有4至24个优化型12.7Gbps收发器,其功耗是同类产品的一半,并具有DDR4和1.6Gbps LVDS接口。集成的硬IP包括一个双PCIe端点/根端口和一个加密处理器。这些芯片为安全关键型设计和许多安全性功能提供了系统控制器挂起模式。
Microchip/Microsemi的PolarFire视频套件 (MPF300-VIDEO-KIT-NS) 采用双摄像头传感器以及诸多显示接口,可对4K图像处理和渲染进行高性能评估。该套件展示各类常用成像和视频协议,包括MIPI CSI-2 TX、MIPI CSI-2 RX、HDMI 1.4 TX、HDMI 2.0、DSI和HD/3G SDI。该套件采用300K LE PolarFire FPGA、DDR4和SPI闪存,适合低功耗中带宽成像应用。
安全性功能和FPGA配置
这些FPGA的安全性功能包括差分功率分析 (DPA) 位流保护、物理不可克隆功能 (PUF)、56Kb安全eNVM、篡改检测器和对策、FPGA、μPROM和sNVM的摘要完整性检查、真随机数发生器以及CRI DPA对策直通许可证。内存支持单错纠正和双错检测。CPU设计对Spectre和Meltdown攻击免疫,而内置加密处理器对侧通道攻击免疫。此内核是与SiFive和UltraSoC联手开发的。
在任一器件中实现RISC-V软处理器都需要在基本配置中使用10k个门电路,在具有单精度浮点版本中使用26k个门电路(表1)。用户使用面向嵌入式开发人员的Libero® SoC 12.3 FPGA设计套件和基于Eclipse的SoftConsole 6.2 IDE可马上开始设计。现在,设计人员甚至可以使用Antmicro的Renode(一种微处理器子系统的虚拟模型)来调试其嵌入式应用。
表1:RISC-V软处理器门配置 (来源:作者)
|
RISC-V软CPU |
LE |
CoreMark评分 |
浮点 |
|
10K |
0.17-2.77 |
不适用 |
|
|
26K |
2.01 |
单精度 |
|
|
10K |
2.01 |
不适用 |
|
|
10K |
2.01 |
不适用 |
另一个软核示例
Lattice Semiconductor RISC-V MC CPU软IP也是一个出色的FPGA/RISC-V组合示例,其包括一个32位处理器内核、可选定时器以及可编程中断控制器 (PIC)。CPU内核支持RV32I指令集、外部中断、JTAG、GDB和OpenOCD调试。其具有五级流水线,并支持AHB-L总线标准。
芯片设计是使用Lattice Propel Builder软件在Verilog HDL中实现的。此器件可用于具有2.5Gbps Hardened MIPI D-PHY、5Gbps PCIe、1.5Gbps可编程I/O和DDR3接口的CrossLink-NX器件,或具有硬件信任根和双启动以及4300或9600 LE的MachXO3D高安全性FPGA。
高性能RISC-V硬核处理器
Microchip/Microsemi还推出了RISC-V硬核处理器,其具有五个内核,即四个处理器内核和一个监控内核,且均为RV64 64位系统。该SoC具有包括18 x 18 MACC、PLL和DLL的PolarFire FPGA架构(图1)。
它是第一款具有确定性、一致性RISC-V CPU集群和确定性L2内存子系统并支持Linux和实时应用的SoC FPGA。PolarFire SoC在1.3W下的Coremark评分为6.5k。
该芯片有五个版本。MPFS025T版本具有23k逻辑单元、68个数学模块和四个12.5Gbps SERDES通道。MPFS460T是最大的版本,具有461k LE、1420个数学模块和20个SERDES通道。
图1:功能强大的五核PolarFire SoC(片上系统)FPGA有四个版本,封装尺寸从11 mm x 11 mm至16 mm x 16 mm不等 (资料来源:Microchip)
PolarFire SoC Icicle套件是一款低成本开发平台,用于评估支持五核Linux的RISC-V微处理器子系统。它具有板载内存(LPDDR4、SPI和eMMC闪存),可立即运行Linux,并具有用于监视各种电源域的多轨电源传感器。
结论
正如文章开头所说,使用RISC具有很低的安全性风险。RISC-V ISA可用于建立跨越多代设备和产品的MCU框架。对于真正苛刻的应用,从此可轻松获得采用FPGA架构和带有矢量扩展 (RVV) 内核的硬实现。
新的实现方式为:首先指定一个指令集,然后选择一家供应商或自己构建内核,最后添加扩展。请记住,RISC-V不是内核或CPU,而是指令集规范。您可以通过以下方式获得内核:FPGA自带内核、从多家开源供应商(至少有十几家)获取内核设计,或者从商业内核提供商那里购买内核/处理器。