基于FPGA的TMR方法改进策略
基于SRAM的FPGA对于空间粒子辐射非常敏感,很容易产生软故障,所以对基于FPGA的电子系统采取容错措施以防止此类故障的出现是非常重要的。三模冗余(TMR)方法以其实现的简单性和效果的可靠性而被广泛用于对单粒子翻转(SEL7)进行容错处理。但传统TMR方法存在系统硬件资源消耗较多且功耗较大等问题。总结了传统TMR方法存在的问题,分析了一些近年来出现的改进的TMR方法的优劣,针对其存在问题指出了改进策略,并展望了TMR技术的发展趋势。
引言
软故障是是由粒子和PN结相互作用引起的一种暂态故障,软故障对在基于SRAM的FPGA上实现的电路具有特别严重的影响。由于三模冗余(Triple Modular Redundancy,TMR)技术简单性以及高可靠性,它是一个被广泛使用的针对于FPGA上的单粒子翻转(Single-Event Upset,SEU)的容错技术。文献中表明TMR大幅度提高了FP-GA在SEU影响下的可靠性。尽管TMR能有效提高设计的可靠性,但是由于要实现额外的模块与布线,它对硬件资源以及功耗消耗较大,而且工作速度也受到影响。这都限制了传统TMR的使用。随着电子技术特别是部分可重构技术发展,出现了多种改进的TMR技术,它们都针对性地解决了传统TMR方法所存在的问题,使得TMR技术得到发展。本文首先介绍了传统TMR的原理,接着总结了其所存在的问题,然后对改进的TMR技术的优劣进行了全面的分析,最后对TMR技术发展趋势进行了展望。
1 常规TMR方法及存在的问题
TMR的基本概念是用三个相同的模块分别实现相同的功能,最后在输出口通过一个多数表决器对数据进行选择以实现容错的目的。TMR的使用是建立在某一个时刻错误只出现在一个模块里的基础上,而实际上,因为在不同的模块里同时出错的概率是比较低的,而且实现过程直接、简单,所以TMR是现在比较有效且被大量使用的一种容错的方法。TMR主要被广泛用于防止由辐射引起的SEU对系统的影响,由于它的使用使FPGA在SEU影响下的可靠性得到很大提高。常规TMR方法的基本结构如图1所示。
尽管TMR可以有效提高设计的可靠性,但是它也存在很多不足之处。主要有以下几点:
(1)它不能对出错的模块进行修复。当一个模块出错后,我们只是将错误通过多数表决器屏蔽,但是错误模块仍然存在。而且一般的TMR也不能对错误进行检测和定位,以便系统进行修复。如果出现的错误得不到及时修复,那么当再次出现错误时TMR将失效。
(2)很多研究只是考虑到单个错误的影响,而忽略了多个SEU同时出现的可能,尽管出现这种情况的概率较低,但却是存在的。实验也表明TMR对减弱单个SEU产生的影响是非常有效的,但SEU在配置存储器中积累会使效果降低。
(3)普通TMR资源开销大,资源利用率低。普通TMR是对整个设计或者较大的模块进行三模冗余,粒度比较大,它的资源开销相比原始电路增大200%。如果受到FPGA硬件资源和功耗等设计约束的限制不能对整个电路或者模块实现TMR,那么会造成资源浪费。
(4)由于电路的倍增使得功耗增大,而且由于表决器的存在以及其他一些额外的布线使得速度降低。
(5)表决器本身也可能出错,而一般的TMR的表决器没有自检错能力,也不具备抗辐射能力。
(6)当采用三模冗余的电路驱动没有采用冗余的电路时,需要一个表决器将三个信号合为一个信号。当没有采用冗余的电路驱动采用三模冗余的电路时需要通过额外的布线将一路信号扩展称为三路信号。因为逻辑电路和布线资源都对SEU敏感,所以这样的结果会降低系统可靠性。
2 改进的TMR方法
2.1 TMR与Scrubbing结合
由于TMR本身不具备错误模块修复能力,若仅一个模块出现错误时,系统功能不受影响,但如果在另一个模块出现错误前不能对已出现的错误模块进行修复,那么冗余方法会失效。所以当出现一个错误的时候,必须及时地对出错的模块进行修复。
随着动态可重构技术的发展,出现了Scrubbing这种对FPGA进行配置的方法。由于对于空间电子系统来说影响最严重的是SEU等软故障,而软故障可以通过重构来解决,所以周期性地对配置存储器进行刷新可以实现对这类错误的修复。
Scrubbing和TMR配合使用对防止SEU的产生可以起到很好的效果。但很多研究同样只考虑到单个错误的影响,而忽略了多个SEU同时出现的可能性。理论上一个快速的刷新率可以保证某一时间内只有一个错误的存在。然而实际中错误的出现是随机的,这意味着任何刷新率都不能保证在一个刷新周期内最多只出现一个错误。在实际中使用这种方法时,必须通过复杂的实验过程对SEU出现的概率进行估计。选取Scru-bbing的刷新率的经验原则是使刷新率比估算的出错率高一个数量级。而现在随
- 非规则LDPC码译码改进算法及其DSP实现(10-13)
- 总线桥在污水厂的改进应用(12-16)
- 一个改进型的4*4矩阵键盘扫描(11-30)
- 袋式除尘器PLC控制系统改进(03-04)
- 热电厂DCS控制系统的应用与改进(11-08)
- 单片机的干扰分析及MCU的改进(07-31)