基于FPGA的TMR方法改进策略

2011-09-15 17:11:29来源: 现代电子技术
   

    基于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的刷新率的经验原则是使刷新率比估算的出错率高一个数量级。而现在随着FPGA的规模越来越大,用来装载整个配置位流的时间会达到几百毫秒,刷新率更得不到保障,且系统功耗增大。

  随着部分TMR的实现,可以设计出具有检错和定位功能的表决器,当某个模块出错时,表决器的信号直接触发重构功能,动态地只对出错部分的电路进行重构。这样可以解决Scrubbing时间和功耗的问题,并为防止错误积累提供了解决途径。

  为了防止表决器出错,表决器可以采用对辐射不敏感的器件来实现而替代基于SRAM的材料,这样提高了表决器的稳健性。文献也提出了一种改进的表决器。它不再使用多数表决器对三个冗余模块的输出进行表决,而是将三个冗余模块相应的输出通过三态缓冲器和少数表决器后分别由FPGA的三个输出管脚输出,最后在印刷电路板(PCB)上“线或”为一个信号。少数表决器电路负责判断本冗余模块的信号是否是少数

  值,如果是少数值,则相对应的缓冲器输出高阻,如果不是,则使相应的信号正常输出。

  Readback是在Scrubbing的基础上发展起来的。它是指将配置数据回读与最初的配置数据进行比较,发现错误后进行重构。文献中使用了这样的方法,另外它还采用了纠错码来保护配置数据。每一个配置帧的数据被12位的see-dec汉明码保护,而且FPGA中每个基本单元的识别码都不一样,通过ICAP(InternalConfiguration Access Port)回读配置文件后,纠错码可以给出错位的位置。

  Scrubbing可以在不中断电路工作的情况下修复SEU在LUT、布线矩阵和CLB中所造成的功能错误。但是它不能改变LUT中触发器中的内容,所以它也就不能重置寄存器的状态。当存储单元的值发生了翻转,此时只能通过系统复位来得到修复。然而系统复位将使系统功能中断,严重影响系统的性能。

  2.2 小粒度TMR技术

  随着部分动态重构技术的出现,产生了小粒度的TMR方法。可以以较小的粒度为步长,采用合理的布局与布线实现TMR以达到要求的资源开销并得到最大的可靠性。文献中对在出现多个错误的情况下不同粒度TMR的容错性能进行了实验分析,结果表明小粒度TMR比以整个系统为粒度进行TMR的效果好。

  在全局TMR不可行的情况下(例如资源有限),小粒度TMR是一个较好的选择,可以在使用较少资源的情况下提高系统的可靠性。由于不是对所有的模块都采用冗余措施,所以在实现的时候必须着重于对那些可以相对更高地提高系统可靠性的模块应用TMR技术。此时表决器的数量和位置也是一个需要考虑的问题。由于采用三模冗余的模块前后需要额外的布线,而逻辑电路和布线资源都对SEU敏感,所以这样的结果会降低系统可靠性。如图2所示,图中阴影部分是对SEU敏感的,由图可以看出(c)中敏感的部分比(b)中多,这是由于表决器和额外的布线造成的。所以需要限制三模冗余电路和未采用三模冗余的电路的转变,这样可以通过集中使用三模冗余技术而提高系统可靠性。

  

[1] [2]

关键字:TMR  FPGA

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/0915/article_2476.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
TMR
FPGA

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved