新闻中心

EEPW首页>EDA/PCB>设计应用> 一种基于Flash型FPGA的高可靠系统设计

一种基于Flash型FPGA的高可靠系统设计

作者: 时间:2012-09-10 来源:网络 收藏

本文设计中采用的改进型 TMR,实质上是一种 3+n模冗余,N个子系统中昀多只有三个子系统同时处于运行状态,其余的 N-3个子系统作为备份队列,当某个子系统出现错误时,表决模块用备份的子系统替换下错误的子系统,继续维持 TMR结构。当已无备份可用时, 3模冗余系统可以进行降级重构,由 3模冗余降级为 1模。由于延长了三模冗余系统的工作时间,整个系统的可靠性得到了很大提高。

考虑到资源消耗与可靠性提高的平衡,本文设计中采用了 3+1模结构,也就是 3模冗余, 1模备份。3+1模结构的工作方式为:正常时进行三模冗余表决输出,出现第 1次永久性故障时表决处理模块能够检测出错误,在输出正常信号的同时用备用子系统替换故障子系统,继续维持 TMR结构;出现第 2 次永久故障时,表决处理模块仍然能够检测出错误,在输出正常信号的同时切除故障子系统,自动降级为单模工作直至单模子系统完全损坏。这种 3+1模结构借鉴了软件容错中的恢复块技术和动态冗余结构,能够容忍至少 2个子系统错误。由于 APA300实现遥控系统资源余量较大,采用了单片片内冗余的方案,进一步简化了系统的复杂度。

3+1模结构的状态转移图如下, TMR、SMR和 Failure三个状态分别代表三模冗余、单模工作和系统失效。

在设计中,通过冗余单元的互锁机制(Inter-Lock, IL)来防止错误数据通过冗余单元边界传播,为此采用了分区约束的方法进行布局布线设计。分区设计不仅能够隔离错误,而且可以充分利用 APA300的 Spine分布,减少路径延迟。

在用户约束文件 GCF文件中作如下约束:

这四条语句把 U1~U4四个子系统分别限制在一个 spine内,除了全局时钟线和输入输出线以外,子系统之间没有直接的连接,这样分区布局布线以后就能够有效地隔离错误。

在保证可靠性的同时,3+1模设计昀大程度的保证了输出的实时性,不需要经过关机等待周期、重发指令周期或者输出不确定周期,能够连续输出正确结果直到系统完全倒向错误状态。为了避免系统重构时过快降级,考虑到很多错误是瞬时出现又随即恢复的软错误,因此设定错误出现一定次数(例如 3次)以后才去掉故障模块。

对于 3+1模结构,可靠性提高的代价是付出了 4倍的资源开销,另外输出时间延迟会略有增加,因为关键路径上的表决器增加了判断、替换的逻辑单元。因此这种结构只适用于资源充裕、系统频率不高的场合。在空间应用系统中,工作速度往往不是昀重要的,因而 3+1模结构实质上是用速度换面积(可靠性),在资源不足的情况下可以只对关键模块、错误敏感率高的模块进行冗余,以节省资源。

4 系统可靠性分析

假设单机的可靠性为(运行 5年后) , 普通 TMR和本文中改进型 TMR的可靠性分别为。由于 2个以上子系统同时发生错误的概率很小,假定同一时刻昀多只有一个子系统发生错误。

TMR可以容忍 1个子系统错误,可靠性相当于 3个子系统都正常的可靠性加上某一个子系统错误、其它两个子系统正常的可靠性:

同理,改进型 TMR的可靠性相当于以下三种情况的可靠性之和:

1)4个子系统都正常

2)1个子系统错误,其它 3个子系统正常

3)2个子系统错误,其它 2个子系统正常



关键词:FlashFPGA系统设计

评论


相关推荐

技术专区

关闭