基于SRAM型FPGA的实时容错自修复系统设计方法

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 )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
导通孔、盲孔、埋孔、钻孔等,这些PCB中的“孔”你都知道是怎么回事吗?
导通孔、盲孔、埋孔、钻孔等,这些PCB中的“孔”你都知道是怎么回事吗?

电路板的导通孔必须经过塞孔来达到客户的需求,在改变传统的铝片塞孔工艺中,电路板板面阻焊与塞孔利用白网完成,使其生产更加稳定,质量更加可靠,运用起来更加完善。

8421编码器、4线-2线编码器、优先编码器等,这些编码器的原理你都懂吗?
8421编码器、4线-2线编码器、优先编码器等,这些编码器的原理你都懂吗?

在数字系统里,常常需要将某一信息(输入)变换为某一特定的代码(输出)。把二进制码按一定的规律编排,例如8421码、格雷码等,使每组代码具有一特定的含义(代表某个数字或控制信号)称为编码。

在 PCB 上插装元器件时应遵循的几点原则

要根据产品的特点和企业的设备条件安排装配的顺序。如果是手工插装、焊接,应该先安装那些需要机械固定的元器件,如功率器件的散热器、支架、卡子等,然后再安装靠焊接固定的元器件。

电子电路故障检测方法,你了解几个?

电子电路故障排查一般可以通过输入到输入顺序检测,也可以从输出到输入的反向方法检测。不管从哪一方向开始,电子电路故障检测一般可以通过以下八种方法判断。

什么是线性光耦?电路应该如何设计?
什么是线性光耦?电路应该如何设计?

光隔离是一种很常用的信号隔离形式。常用光耦器件及其外围电路组成。由于光耦电路简单,在数字隔离电路或数据传输电路中常常用到,如UART协议的20mA电流环。对于模拟信号,光耦因为输入输出的线形较差,并且随温度变化较大,限制了其在模拟信号隔离的应用。

更多资讯
高通斥资 31 亿美元收购 TDK 射频前端股权,为 5G 提供强大优势?

与非网9月17日讯,据国外媒体报道,对于高通来说,一个重要但却被轻视的一个5G技术领域——射频前端(RFFE)技术,即将为该公司所有。

Qualcomm完成对RF360控股公司剩余股份的收购

Qualcomm Incorporated(NASDAQ: QCOM)宣布完成对RF360控股新加坡有限公司剩余股份的收购,这是其5G战略布局和领导力方面的又一重要里程碑,RF360控股新加坡有限公司是Qualcomm与TDK株式会社(TSE: 6762)[footnoteRef:2]成立的合资企业。

高云半导体发布GoAI--全球首例基于国产FPGA的人工智能解决方案

全球增长最快的可编程逻辑器件供应商—广东高云半导体科技股份有限公司(以下简称“高云半导体”),今日发布基于高云国产FPGA硬件平台的人工智能(AI)边缘计算最新解决方案—GoAITM

由点到面,国产FPGA产业链的突围之路漫漫

随着AI、大数据、物联网、无人驾驶等新兴技术的发展,FPGA凭借灵活性、可重构性赢得了更多增量市场。赛灵思的营收也一路高歌,在2019财年突破了30亿美元,年度增长高达24%,而全球FPGA市场规模在50-60亿美元,仅赛灵思一家就占据了半壁江山,加上英特尔PSG和Lattice拿走的市场份额,留个国产FPGA的市场空间所剩无几。

高云半导体参加FPGA全球大会

中国广州,2019年9月6日,全球发展速度最快、最具创新性的FPGA设计公司-广东高云半导体科技股份有限公司(以下简称“高云半导体”)将参加9月17日在斯德哥尔摩举行FPGA全球大会,此会议是全球最大规模的FPGA行业年度盛会。