0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何利用 FPGA SoC 实现安全和互联的硬实时系统

海阔天空的专栏 来源:Jeff Shepard 作者:Jeff Shepard 2023-10-03 18:24 次阅读

作者:Jeff Shepard

现场可编程门阵列 (FPGA)、支持 LinuxRISC-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,并详细介绍了 MicrochipTechnology 的典范 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.png

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.png

以更低能耗提供更强大处理能力

这些 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.png

安全考虑

这些 FPGA SoC 的安全关键型和硬实时应用除了需要高能效和强大的处理能力外,还需要强大的安全性。这些 FPGA SoC的基本安全功能包括防差分功率分析 (DPA) 的位流编程、真随机数发生器 (TRNG) 和物理不可克隆功能(PUF)。安全功能还包括:标准和用户自定义的安全启动;物理存储器保护,其提供与机器的特权状态相关的存储器访问限制,包括机器、超级用户或用户模式;以及免受Meltdown 和 Spectre 攻击的能力。

安全始于安全的供应链管理,包括在晶圆测试和封装期间使用硬件安全模块 (HSM)。每个 FPGA SoC 中都嵌入了 768 字节的数字签名 x.509FPGA 证书,以增强供应链的安全保证。

这些 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 x19 mm。

对于需要扩展商用温度范围、标准速度、254 K 逻辑元件和 19 x 19 mm 封装的应用,设计人员可以使用
MPFS250T-FCVG484EES。对于需要 23 K 逻辑元件的更简单解决方案,设计人员可以使用 MPFS025T-FCVG484E,该元件采用 19 x19 mm 封装,也能在扩展商用温度范围内以标准速度工作。具有 254 K 逻辑元件的 MPFS250T-1FCSG536T2专为高性能汽车系统而设计,其工作温度范围为 -40 至 125°C,速度等级为 -1,时钟速度快 15%,采用紧凑型 16 x 16 mm 封装,焊球数为536,间距为 0.5 mm(图 4)。

4.png

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.png

扩展板

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子系统、高速通信接口和众多安全功能。为了帮助设计人员开始工作,相关厂商提供了包含所有必要元件的开发板和环境,包括可用于实现广泛通信和定位功能的扩展板。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21653

    浏览量

    601511
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16956

    浏览量

    350132
  • soc
    soc
    +关注

    关注

    38

    文章

    4113

    浏览量

    217852
  • RISC-V
    +关注

    关注

    44

    文章

    2222

    浏览量

    45983
收藏 人收藏

    评论

    相关推荐

    基于PowerPC405的MP3实时解码系统设计与实现

    文章介绍了一种在FPGA上用PowerPC405实现MP3实时解码SoC系统的方法。通过使用IP核搭建S
    发表于 05-28 13:42

    基于闪存工艺的SoC FPGA器件实现安全启动设计

    无论用做独立的处理单元,或者与辅助处理器联合使用,SoC FPGA器件均可以改善嵌入式处理的安全性。虽然可以利用专用安全器件来构建嵌入式处理
    发表于 06-19 06:57

    如何利用FPGA和嵌入式系统设计远程监控系统

    系统立足于利用Intemet实现核环境信息的远程采集。告诉大家,如何利用FPGA和嵌入式系统
    发表于 08-02 08:07

    请问freertos是硬实时操作系统吗?

    freertos是硬实时操作系统吗?都有哪些硬实时操作系统啊?
    发表于 06-13 09:00

    如何实现SoC系统内部的实时可视性?

    如何实现SoC系统内部的实时可视性?如何在不影响系统性能的情况下采集和上载数据点?增加SoC可视
    发表于 04-15 06:03

    如何利用FPGA实现智能传感器系统的设计

    利用FPGA具有扩展灵活实现片上系统SoC),同时具有多种IP核可供使用等优点,设计了能够控制多路模拟开关、A/D转换、快速数据处理与传输
    发表于 05-06 09:36

    Microchip FPGA 和基于 SoC 的 RISC-V 生态系统简介

    PolarFire SoC FPGA 以及相关的 IP 和库,用于简化高速接口、数字信号处理、存储器、电机控制甚至嵌入式视觉的实现,以加快解决方案的开发。对实时 Linux 的支持是
    发表于 09-07 17:59

    硬实时RTlinux系统配置

    更多技术干货,欢迎扫码关注博主微信公众号:HowieXue,一起学习探讨软硬件技术知识经验,关注就有海量学习资料免费领哦:硬实时RTlinux系统配置1. Linux内核下载2. 下载与Linux
    发表于 09-14 06:43

    实时系统和非实时系统区别的几个显著特征

    【本帖是安富莱电子原创贴】RTOS三要素,实时性,可靠性,安全性。这次我们分享下实时系统中的硬实时性。
    发表于 01-10 06:53

    为了实现硬实时中断减少关闭临界代码的延时会有哪些不良的影响?

    为了实现硬实时中断,减少关闭临界代码的延时。修改临界代码关中断配置,允许许定时器中断执行。会有哪些不良的影响?编码需要注意哪些地方?需要做哪些测试?
    发表于 04-03 14:25

    基于RTlinux的硬实时性研究

    L inux若作为一个操作系统,它无法满足实时系统严格的实时性要求。RTlinux是在L inux内核的下层实现所得的一个简单的
    发表于 04-24 10:30 10次下载

    基于RTAI的嵌入式Linux硬实时性能的研究与实现

    嵌入式Linux 系统由于不支持硬实时任务,限制了其在电能质量监控系统等高实时性领域中的应用。本文介绍了嵌入式Linux 系统
    发表于 05-25 14:48 27次下载

    一种嵌入式硬实时内核的实现

    设计了一个实用的嵌入式硬实时内核uHRT,描述了其中实现硬实时的关键设计。uHRT可在具有类似特征的应用环境中得到推广应用,具有一定的实用价值。在一些复杂的嵌入式系
    发表于 08-13 09:10 10次下载

    利用FPGA软硬件协同系统验证SoC系统的过程和方法

    设计了一种基于FPGA的验证平台及有效的SoC验证方法,介绍了此FPGA验证软硬件平台及软硬件协同验证架构,讨论和分析了利用FPGA软硬件
    发表于 11-17 03:06 4339次阅读
    <b class='flag-5'>利用</b><b class='flag-5'>FPGA</b>软硬件协同<b class='flag-5'>系统</b>验证<b class='flag-5'>SoC</b><b class='flag-5'>系统</b>的过程和方法

    DSP硬实时操作系统用户手册下载

    DSP硬实时操作系统用户手册下载
    发表于 07-14 09:54 30次下载