886868cc手机版

2019-07-10 05:28:00 来源:AET
标签:

 

为提高辐射环境中电子系统的可靠性,提出了一种基于SRAM型FPGA的实时容错自修复系统结构和设计方法。该设计方法采用粗粒度三模冗余结构和细粒度三模冗余结构对系统功能模块进行容错设计;将一种细粒度的故障检测单元嵌入到各冗余模块中对各冗余模块进行故障检测;结合动态部分重构技术可在不影响系统正常工作的前提下实现故障模块的在线修复。该设计结构于Xilinx Virtex-6 FPGA中进行了设计实现,实验结果表明系统故障修复时间和可靠性得到显著提高。
 
中图分类号: TN710
 
文献标识码: A
 
DOI:10.16157/j.issn.0258-7998.190480
 
中文引用格式: 徐伟杰,谢永乐,彭礼彪,等. 基于SRAM型FPGA的实时容错自修复系统设计方法[J].电子技术应用,2019,45(7):50-55.
 
英文引用格式: Xu Weijie,Xie Yongle,Peng Libiao,et al. SRAM based FPGA system capable of runtime fault
tolerance and recovery[J]. Application of Electronic Technique,2019,45(7):50-55.
 
SRAM based FPGA system capable of runtime fault tolerance and recovery
 
Xu Weijie1,Xie Yongle2,Peng Libiao2,Shen Beichen3
 
1.School of Information Engineering,Chang′an University,Xi′an 710064,China; 2.School of Automation
Engineering,University of Electronic Science and Technology of China,Chengdu 611731,China; 3.College of
Software Engineering,Sichuan University,Chengdu 610207,China
 
Abstract: In order to enhance the reliability of electronic system working in radiation environment, a reliability enhanced SRAM based FPGA system with runtime fault recovery is presented in this work. Coarse-grained TMR architecture and fine-grained TMR architecture are proposed to achieve the ability of fault tolerance. Fine-grained fault detection units are inserted in each redundancy module to mask the faulty module. The technique of partial dynamic reconfiguration is used to repair the faulty module without interrupting other parts of the system。The scheme is implemented in Xilinx Virtex-6 FPGA, and the results show that the improvements in recovery time and reliability are achieved by the proposed technique.
 
Key words : reliability;fault tolerance;fault recovery;TMR;dynamic reconfiguration
 
0 引言
随着航天技术的发展,空间任务日益复杂化、多样化,未来航天系统对处理器的性能要求越来越高。在一些航天设备如星载ATP等系统的电子模块设计中,基于SRAM的现场可编程门阵列(FPGA)得到了日益广泛的应用。空间环境中的电子系统设计,不仅要满足高性能,而且其数据处理、传输和控制的准确性和可靠性也必须得到保证。对于机载、星载、空间武器和其他空间应用电子系统,往往暴露在形形色色的电磁辐射环境中,如α粒子、宇宙射线、外太空强辐射等等恶劣环境,加之一些电子系统工作在地面的高电磁辐射环境中,这些辐射环境中充满了各种高能粒子,高能粒子撞击工作中的电子器件会引发辐射效应,如单粒子翻转(SEU)等,并导致器件发生故障,由辐射效应引起的软错误是导致空间环境中电子系统失效的重要原因之一[1]。
 
在提高系统可靠性与安全性方面,避错与容错技术是常用的两种关键技术。微电子抗辐射加固技术[2],通过对材料选取、工艺结构设计等方面进行加固设计,在物理层消除导致损伤的各类寄生参数, 能有效提高电子器件的抗辐射能力。但是仅在物理层上对系统进行故障防护不能满足恶劣环境中的系统可靠性要求,还需要从电路设计方面对系统功能进行保护。运用错误校正码(ECC)技术[3],在数据包的后端添加额外的校验数据位,来实现读取/写入数据的准确性,能在一定程度上对存储器进行检错和纠错。容错设计技术,如采用冗余设计来“屏蔽”或“隔离”故障,如信息冗余[4]、硬件冗余[5]等,进而在一定时期内将故障的影响掩盖起来,使发生故障的电子系统在一定时期内仍能正常工作,但这种方式并未排除故障,随着故障的累积和叠加,系统仍然可能失效,所以赋予系统故障自修复能力能有效减少故障累积,提高系统的可靠性。
 
本文从故障容错和故障自修复角度对系统进行芯片级的可靠性设计,提出了一种基于SRAM型FPGA的实时容错自修复系统结构,并将该设计结构在Xilinx Virtex-6 FPGA上进行了设计验证。
 
1 基于动态部分重构的模块修复
FPGA的配置可分为静态配置和动态配置,静态配置通常对整个FPGA模块进行重新配置,系统功能在配置过程时中断,并在配置结束后改变系统功能。动态配置,又称为动态部分重构,能够在不干扰FPGA内部其他模块工作的同时动态地对部分区域的逻辑功能进行修改。其核心思想是将FPGA内部的逻辑资源从物理布局上划分为静态区域和若干个动态区域。每个动态区域可以对应有多个配置文件,以实现不同的功能,将这些配置文件事先存放在片外存储器中。在系统运行的不同时刻,根据系统的实际需求加载不同的配置文件到同一个动态区域来实现相应的逻辑功能。在某一动态区域进行功能切换时,不影响静态区域和其他动态区域的逻辑功能,系统依然处于连续运行状态。
 
动态部分重构技术能对FPGA的部分资源实现分时复用,使芯片能够在不同时刻实现不同的功能,提高了芯片资源的利用率,已广泛应用于工业系统设计中,如文献[6]中结合动态部分重构技术对工业传感器数据采集系统进行设计,针对不同的传感器切换不同的功能。该技术还可应用于可重构计算[7]、可进化硬件[8-9]、容错设计[10-14]等方面。将动态部分重构技术和冗余技术结合,即将冗余设计中各冗余模块分别置于一动态区域中,在故障发生时通过动态重构对故障模块进行修复,可以避免故障的累积和叠加,在容错的同时赋予系统故障自修复能力。
 
2 粗粒度和细粒度的三模冗余自修复结构
2.1 粗粒度的三模冗余设计结构
典型的模块冗余技术——N模冗余设计:将功能模块复制为N份,N个模块具有相同的输入,N个模块的输出经过多数表决器表决输出。N模冗余系统在工作过程中能同时容忍不超过半数的冗余模块发生故障而不影响最终的系统输出。随着冗余模块的数量增加,系统的容错能力提高,但同时系统的硬件资源开销和功耗增大,综合考虑容错能力和资源开销,三模冗余(TMR)技术具有最高的性能表现。
 
FPGA的系统通常可以分为多个功能模块,粗粒度的三模冗余设计结构以整个功能模块为单位进行冗余设计,如图1所示,即将整个功能模块作为一个冗余单位,将整个功能模块复制三份,将每个功能单元模块FU1~FU3配置到单独的部分重构模块(PRM)中,使得每个冗余模块都可以独立被修复。表决器选择多数的输入结果进行输出。在粗粒度的三模冗余设计结构中,只要两个冗余模块的输出结果正确,就能保证整个模块输出正常,当其中任意模块发生故障时,通过系统的故障检测机制可进行故障定位,隔离故障区域并进行自修复操作。
 
 
2.2 细粒度的三模冗余设计结构
采用粗粒度设计结构能有效提高系统的可靠度,但其仍然存在一些不足,一是当多数表决器出现故障时整个自修复结构本身不可靠;二是由于模块粒度较大,一些不能导致模块功能失效的隐性故障持续累积,容易导致多个模块同时故障,使得防护结构失效。本文中细粒度的三模冗余设计结构能有效减少故障累积,该设计结构将一功能模块拆分为若干个独立的时序元件和组合逻辑部分,本文将该设计结构利用图形化表示来说明,将功能单元模块中的组合逻辑表示为CG,时序元件表示为SE,则利用有向图表示方法可以将图2(a)电路表示为图2(b)。
 
细粒度的三模冗余容错自修复结构建立在有向图表示方法基础之上,其核心思想是,将电路分割为逻辑电路和时序电路,在时序电路输出插入多数表决器,然后再对原始电路进行三模冗余设计,使得此自修复结构具有三个表决器,因此加强了此结构的故障容错能力,同时减轻了时序电路引起的错误累积,可以成功避免域交叉错误的出现。图2(a)表示的原始电路,利用有向图表示方法将原始电路分割开来如图2(b)所示,利用TMR三模冗余技术将其容错化如图2(c)所示。MV表示多数表决器(Multiple Voter)在电路时序元件输出之后插入,利用其三模冗余结构,增强了电路容错能力。当D1模块的组合、时序电路以及表决器出现故障时,D2模块和D3模块通过多数表决器可以检测到此类故障,并经中断唤醒处理器进行部分动态重构处理,使得D1部分重构区域得以自修复。
 
 
 
细粒度的三模冗余容错自修复结构同时降低了时序电路引起的错误累积的概率,可以成功避免域交叉错误的产生。当D1模块的SE2电路和D3模块的CG4电路同时出现故障的时候,由于在时序电路的输出端用表决器成功地将SE2故障进行检测和隔离,不会传递积累影响下一级的CG4错误,因此可以成功避免域交叉错误的产生。
 
2.3 可靠度对比
功能模块在FPGA内部的实现可以用逻辑资源来表示,如查找表(LUTs)、触发器(Flip-Flops)、块存储器(BRAM)等。而各逻辑资源的连接和使用通过比特流文件配置来实现。比特流文件由若干个配置帧(frame)组成,配置帧又包含若干个表示配置信息的比特位。在辐射环境中,当FPGA中的电路模块发生单粒子翻转效应时,并不是模块任意比特位发生翻转就会导致模块功能失效,该模块功能往往由一些关键比特位所决定。考虑该粗粒度的三模冗余设计结构的容错能力,讨论马尔科夫模型下的三模冗余结构[15],假设功能模块在时间t内功能正常的可靠度随着时间的推移呈指数递减,其可靠度可以表示为:
 
 
 
其中λm表示功能模块m的故障率,其由比特位在单位时间内的翻转速率和模块对应的关键比特位数量所决定。对于一个三模冗余系统来说只有当两个或者两个以上的模块发生错误时系统防护功能才会失效,假设三模冗余系统表决逻辑功能正常,那么对于该粗粒度的三模冗余设计结构其可靠度可以表示为:
 
 
关注香港牛魔王微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
四管同步BuckBoost升降压变换器的具体的工作原理及设计过程
四管同步BuckBoost升降压变换器的具体的工作原理及设计过程

四管同步BuckBoost升降压变换器为单电感结构,不需要耦合电容,尽管系统需要四个开关管,控制相比较复杂,但由于采用同步的变换器,系统的效率比SEPIC高,而且体积比SEPIC小,非常适用于汽车及通讯这类系统的效率和体积要求严格的应用。

电路故障分析方法
电路故障分析方法

电路的故障类型较多,产生故障的原因也各有不同,因此排除故障的方法也不一样。当电路发生故障时,根据故障现象,通过检查、测量,分析故障产生的原因并确定故障的部位,找到发生故障的元器件的过程。

精通掌握“虚断”与“虚短”两个概念,快速计算运放放大倍数
精通掌握“虚断”与“虚短”两个概念,快速计算运放放大倍数

计算放大电路的放大倍数是模电知识集成运放里的重点内容。精通掌握“虚断”与“虚短”两个概念,计算运放的放大倍数相当简单。

运放使用常见错误
运放使用常见错误

例如一个运放芯片集成了两个独立的运算放大器,在用作电压跟随器的时候,我们只用到了一个运放,另外一个运放可能就不管了。

HF RFID阅读器的等效电路

物联网系统中的保护处理电路和HF RFID阅读器的等效电路

更多资讯
Microchip推出全新低功耗FPGA视频和图像处理解决方案, 助力客户加速智能嵌入式视觉设计

随着基于视觉的计算密集型系统在网络边缘的集成度越来越高,现场可编程门阵列(FPGA)正迅速成为下一代设计的首选灵活平台。

基于FPGA的图像直方图实时显示
基于FPGA的图像直方图实时显示

上电初始,FPGA需要通过IIC接口对CMOS Sensor进行寄存器初始化配置。这些初始化的基本参数,即初始化地址对应的初始化数据都存储在一个预先配置好的FPGA片内ROM中。

如何选择eFPGA?
如何选择eFPGA?

嵌入式FPGA(eFPGA)是指将一个或多个FPGA以IP的形式嵌入ASIC,ASSP或SoC等芯片中。

晶澳为韩国最大的PERC双面双玻电站供货高效组件

近日,全球领先的高性能光伏产品制造商晶澳太阳能宣布,为韩国最大的PERC双面双玻光伏项目供货全部高效组件,项目的建成将极大地推动PERC双面双玻组件在韩国市场的应用及当地新能源发展。

中国产模块采用率增加,RISC-V 中国市场升温

中国产的模块正在被很多产品(日本及其他海外国家)采用,最具有代表性的就是在Wi-Fi通信模块(Module)领域比较有名的乐鑫信息科技股份有限公司(以下简称为“Espressif”),其产品在行业内极其有名。我们之前也曾多次提到这家公司的产品。