APP下载

一种XILINX 7系列FPGA的抗单粒子翻转加固技术

2020-08-12王冠雄王佳孙逸帆滕树鹏鲍迪

航天标准化 2020年2期
关键词:器件比特粒子

王冠雄 王佳 孙逸帆 滕树鹏 鲍迪

(1上海航天电子技术研究所/八院智能计算技术重点实验室,上海,201109;2上海航天技术研究院,上海,201109)

星载设备长时间工作在空间环境中,宇宙中的带电粒子会造成器件功能异常,产生存储器软错误,严重时会损坏硬件电路。近年来SRAM(静态随机存取存储器)型FPGA越来越多地应用到星载设备的研制中,SRAM FPGA拥有明显的在轨可重构优势,更适合星载设备的研发需求。但同时,SRAM FPGA固有的对空间辐射的敏感性造成其容易发生软错误。 “神舟”四号飞船上安装了单粒子事件监测器,就是用以监控在轨运行的设备上发生的单粒子事件,其在轨运行过程检测到SRAM上发生了单粒子翻转事件。

XILINX发布的SEM IP核能够对抗空间辐射对配置存储器造成的SEU(单粒子翻转)效应的影响。传统回读刷新技术是在已知被加固FPGA位流数据结构的情况下,避开动态配置区对FPGA配置区进行刷新的技术。但是XILINX公司并未发布文档公开7系列FPGA的位流结构,因此传统回读刷新技术难以用于7系列FPGA。

我们结合项目需求,利用构建的XILINX Kintex-7 FPGA验证平台,完成了SEM IP核的测试验证。根据自动注错方法的原理以及实现过程,经注错软件的运行,能够达到帧地址的覆盖率,提高测试效率。

1 SRAM型FPGA抗SEU技术概述

1.1 国内外技术现状

为应对空间辐照环境,目前国际上SRAM型FPGA的抗SEU手段主要分为器件级加固和应用级加固。 “器件级加固”是指在制作FPGA芯片时采取抗辐照工艺及其它硬件加固手段增强芯片本身对空间辐照环境的耐受力; “应用级加固”是指在系统设计过程中,通过软硬件冗余、纠错等方式增加系统中SRAM型FPGA的容错能力。结合国外元器件厂商的高等级器件对我国禁运、国产高性能抗辐照SRAM型FPGA仍处于研制阶段的现状,这里主要讨论SRAM型FPGA的应用级抗SEU加固。目前国际上主流加固做法包括以下几种。

a)周期性重构。周期性重构是指空间环境下的SRAM型FPGA定期进行重配置,以达到定期刷新配置区纠正单粒子翻转错误的目的的加固方法。以XILINX公司SRAM型FPGA为例,所有的配置位中大约有1/8的配置位为路由资源配置,即使FPGA的资源全部被占用时,FPGA发生SEU事件,只要路由资源配置位没有发生翻转,FPGA亦有可能不会发生功能中断,而且定期的重配置可以将翻转的配置位纠正。因此,在低辐照的空间环境下可以考虑使用此方法。

b)回读刷新。回读刷新是指使用一个抗辐照器件定期的从被加固的SRAM型FPGA中回读其位流。根据官方公布的器件位流的数据结构,开发者可以将位流中相应的配置位与预先存储于存储器内部的配置位相比较,若发现错误,则刷新FPGA内部配置区完成纠错。或者定期的对FPGA的配置区进行刷新。该种回读刷新方法是我国航天领域广泛使用的抗SEU加固方法,但是必须需要元器件开发商公布FPGA回读位流的数据结构,否则回读刷新控制器无法进行位流比对和配置区刷新 (回读位流的非配置位部分均随时间变化,不具备比对价值,并且刷新可变位会造成FPGA功能异常),该类回读刷新系统结构如图1所示。

图1 Virtex-4回读刷新系统

c)三模冗余 (TMR)。三模冗余是指通过将FPGA代码进行三模冗余处理 (使用TMR工具或在代码中加入TMR逻辑),将每次FPGA处理的结果都进行三方表决,即使FPGA局部发生SEU事件,依旧可以通过表决排除错误结果,保证系统功能的正常。该方法的可靠性较高,但是FPGA内部的资源开销和功耗开销大约会增加三倍,在一些资源紧张的设计中,FPGA的可编程资源或系统功耗约束无法覆盖TMR方法的开销。

d)回读刷新结合三模冗余。回读刷新结合三模冗余方法是指将上述回读刷新和三模冗余方法联合使用,以增强SRAM型FPGA的抗SEU能力。该方法可靠度较高,同时也是国际上的一种主流做法。

e)硬件冗余。硬件冗余是指使用多个SRAM型FPGA同时运行同一程序,将输出结果送入抗辐加固器件中进行表决,以达到纠错目的,该方法可靠度较高,但是会带来较大的功耗开销和硬件开销。

综上所述,几类常用的加固手段特性统计见表1。

表1 常用的加固手段特性表

1.2 基于SEM IP的回读刷新技术

元器件开发商公布FPGA回读位流的数据结构是使用传统回读刷新技术的先决条件,由于XILINX公司目前仍未公布7系列FPGA的位流数据结构[1],因此传统的回读刷新方法在7系列FPGA上不再适用。这里研究一种基于SEM IP的回读刷新技术。

XILINX发布的SEM IP具备纠正SEU软错误的能力[2]。SEM IP有3种工作模式:①修复模式,以错误检查和纠正 (error correcting code,ECC)算法为基础,对抗所有部位的单比特软错误,当配置存储器出现多比特错误且分散到每帧单比特时也可以进行纠正;②增强修复模式,以ECC和循环冗余校验 (CRC)算法为基础,能对抗所有部位单比特错误和相邻双比特错误,能覆盖任意帧地址的单比特错误和相邻双比特的SEU效应导致的软错误,当配置存储器出现多比特错误且分散到每帧单比特或每帧相邻双比特时,其也能进行纠正;③替换模式,基于数据重载的修复方式,支持任意多个比特错误,甚至当无法探测到错误的准确帧地址时,依然能够纠正错误。

XILINX的官方SEM IP可以实现FPGA内部配置区文件与外部FLASH内存储的EBC文件进行比对,并对配置区进行校正。

对于配置内存错误,由于修复模式及增强修复模式纠正能力较弱,故本文选用替换模式作为SEM IP的工作模式。

SEM IP可通过将错误插入配置内存的方式来执行SEU评估。错误插入特性可提供相应方法来评估和测试SEU缓解和SEM IP核的纠错功能,而无需通过辐射效应机构进行昂贵的测试。

SEM IP具体性能见表2。

表2 全配置区扫描时间

2 系统设计

2.1 硬件架构设计

XILINX 7系列FPGA回读刷新电路如图2所示,由7系列FPGA芯片、回读刷新控制器、存储模块 (SPI FLASH)组成。

图2 XILINX 7系列FPGA回读刷新电路

其中7系列FPGA作为被加固对象,内部除运行功能性逻辑以外,还运行SEM IP核及相关控制逻辑用于对FPGA配置区进行比对和纠错。

回读刷新控制器实现FPGA加载 (SelectMap/SPI)接口的上电配置、程序重载、SPI FLASH读写、SEM状态信号和串口信息监测、遥控遥测等功能。回读刷新控制器所需逻辑资源较少,可使用小规模反熔丝FPGA(A54SX32A/A54SX72A)实现以确保控制逻辑的可靠性。存储模块由2块SPI FLASH组成,分别存储K7 FPGA的配置Bit文件和回读刷新配置EBC文件。

2.2 软件设计

软件架构主要由XILINX 7系列FPGA软件模块和回读刷新控制器软件模块两部分组成,两部分软件分别运行于XILINX 7系列FPGA和回读刷新控制器中。具体软件架构如图3所示。

图3 系统软件架构

回读刷新控制器软件工作流程如图4所示。回读刷新控制器先于XILINX 7系列FPGA上电,回读刷新控制器上电后对目标FPGA进行配置。配置成功后,回读刷新控制器进入配置数据错误检测逻辑,检测到一般错误时进行错误帧替换,若检测到致命错误 (SEM IP自身异常)时,回读刷新控制器对目标FPGA进行重配置。

图4 XILINX 7系列FPGA回读刷新软件工作流程

3 实测及分析

3.1 故障注入测试

使用一块XILINX Artix-7 FPGA实现回读刷新控制器,使用一块STM32作为故障注入器。回读刷新控制器支持选择SelectMap、SPI、BPI接口作为FPGA的配置接口,通过IO管脚互联直接监视SEM IP的状态信号,STM32通过LocalBus和UART与K7 FPGA通信,通过SEM IP的注错接口向FPGA配置区对应的配置帧内插入错误。

通过STM32完成SEM IP的纠错功能测试,注错—纠错测试试验结果见表3。

表3 注错-纠错测试试验结果

3.2 单粒子实验

2019年使用串列粒子加速器对衬底减薄后的XC7K410T芯片进行了单粒子试验。试验主要考核单机的单粒子功能中断指标。其中XC7K410T芯片使用了上述基于SEM IP的抗SEU加固技术。

试验过程中,分别记录不同粒子下出现100次功能异常时的累积注量。在4种粒子的照射下,受照器件均观察到了功能异常,但是所有功能异常均被单机自主恢复,未发生功能中断,试验结果见表4。按照试验时观察到的异常类型和恢复措施次数来分析试验数据,可以得到表5。

表4 单粒子试验结果

表5 单粒子试验异常类型分析

从试验数据结果可以发现,发生的异常类型主要是处理功能异常,其次是SEM功能异常,交互功能异常最少,而且4种粒子下的异常类型分布规律比较一致。

对所有异常次数进行统计,处理功能异常占到了总异常次数的78%,而SEM功能异常则为19.50%。分析受照器件内部的资源使用情况发现,处理功能占用的资源约为整个设计的85%左右,SEM核占用了14%左右,异常次数与资源占比基本保持一致,证明了试验数据的有效性。另一方面,交互异常仅占总异常次数的2.50%,并不是主要的功能中断来源。

SEM恢复措施恢复了除自身异常以外的所有异常,当SEM核自身发生异常后,则需要通过外部的回读刷新芯片进行恢复。所有的功能异常均得到了恢复,证明了加固技术的有效性。并且由于SEM恢复效率是回读刷新的1000倍以上,超过80%的异常通过SEM来恢复说明采用这项技术可以极大提升整体的异常恢复效率,提升加固技术的效费比。

这里所研究的一种面向XILINX 7系列FPGA的抗SEU加固技术,在技术验证测试中,为模拟辐照环境对器件的影响,利用XILINX公司的软错误缓解 (SEM)控制器IP核,搭建基于XILINX Kintex-7的验证测试平台,完成对SEM IP核的功能验证。为提高测试效率,设计了基于上述平台的自动注错方法。经过验证,该方法能够达到预期的帧地址覆盖率。实验结果表明,上述的抗SEU加固方法可以增加XLINX 7系列各等级FPGA器件在宇航环境下的可靠性。

猜你喜欢

器件比特粒子
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于Matlab GUI的云粒子图像回放及特征值提取
Finding the Extraterrestrial
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
比特币还能投资吗
比特币分裂
比特币一年涨135%重回5530元
问:超对称是什么?
神秘的比特币
通用贴片式器件及应用电路(五)电压变换器MAX860及MAX881R