Saturday, April 12, 2008

反镕丝和FLASH技术FPGA对单事件翻转具有免疫能力[zz]

在设计高可靠性系统时,无论是陆地、航空或太空应用,设计人员都必须非常小心地选择器件技术。如果选择不当会导致FIT(Failures In Time)大幅度提高,即使基站应用也不例外。

军事和航空设计人员认识到半导体器件存在单事件翻转(Single Event Upset;SEU)效应,以及基于SRAM技术器件的相关软错误率(Soft Error Rate;SER)。SEU的发生是由于带电的亚原子粒子撞击触发器或SRAM单元,这个进入的粒子会沉积足够的电荷,导致触发器或存储器单元的状态改变,以致损坏所存储的数据。因为这种现象不会永久损坏存储单元,SEU常被称为软错误。

在太空应用中,SEU的威胁来自于大量宇宙射线和太阳风中的大量重离子和质子;在地球表面或大气层中,威胁来自于由宇宙射线和高层大气的相互作用而产生的高能量中子。这些中子会撞击集成电路中的硅原子,其能量能够引起硅原子破裂,产生重离子,从而引致SEU现象。

WNR中子束能量加速SEU测试

在讨论SEU对可靠性和功能性影响时,以SRAM技术为基础的FPGA代表着一类特殊的器件。与以反熔丝和Flash技术FPGA截然不同,以SRAM为基础的FPGA在SRAM开关中存储其逻辑配置。这些配置开关在SRAM FPGA中占据90%以上的总SRAM比特位。所以,除了时序逻辑单元和嵌入式SRAM的数据容易产生SEU外,以SRAM为基础的FPGA也易于产生配置翻转现象,因为电路的路由和功能性会被破坏。这些类型的错误非常难以检测和校正,而且几乎不可能防止。

配置翻转会引起系统故障,在某些情况下更可能造成灾难性后果,因为它会使系统的运作处于不确定和不可预测的状态。SRAM FPGA的配置错误通常被称作单事件功能中断(Single Event Functional Interrupt - SEFI)。

根据最近由iRoC Technologies发表的报告“对Actel、Xilinx和Altera FPGA进行的辐射SER测试结果”(Radiation Results of SER Test of Actel, Xilinx and Altera FPGA Instances),表明业界现已拥有经验化的数据来量化SEFI问题的程度。iRoC Technologies是专门从事软错误测试和减缓解决方案的独立机构,并针对以反熔丝、Flash和SRAM为基础的FPGA进行了一系列中子测试。测试采用了美国新墨西哥州洛斯阿拉莫斯国家实验室的洛斯阿拉莫斯中子科学中心(LANSCE)的武器中子研究(WNR)资源。WNR中子束的能量分布与自然发生的陆地光谱非常接近,但是通量高很多。这种光谱类似性使得 WNR适用于加速SEU测试,可与真实情况很好地互联。

SRAM-based FPGA的SEU缓解方法

来自于三个不同供应商的多种器件代表着三种不同的FPGA技术,针对这些器件进行多次中子测试。第一个实验目标是获取配置SEU,第二个目标是定量测试产生的SEFI数目(SEU基本上会造成器件的功能故障)。测试结果会转换为器件FIT率,并根据海平面的陆地环境进行规格化(纽约城),按照JEDEC标准JESD-89分别为5,000 英尺、30,000英尺和60,000英尺。
在所有测试中,以反熔丝或Flash 技术为基础的FPGA从没有检测出配置翻转或功能中断。然而,以SRAM为基础的FPGA则测出了大量的SEU和SEFI现象。这些错误表示在海平面下,每100万FPGA门出现的FIT率为300至400次。

根据这些错误数据进行预计,在30,000英尺下,以SRAM为基础的FPGA器件的FIT率为每百万FPGA门约为50,000。无论在海平面或在商业航空水平,这些FIT率通常比相同容量的反熔丝和 Flash FPGA的足足高出4至5个等级(这份报告所指出的少量但非零的FIT率纯粹是测试时间和统计算法的函数)。该报告的作者认为反熔丝和Flash FPGA具有SEFI免疫能力。

以iRoC的测试结果为基础,SRAM FPGA在海拨60,000英尺下的FIT率为每百万FPGA门150,000。因为中子屏蔽是不切实际的,所以系统设计人员必须解决这个问题。为了缓减SEU对于SRAM FPGA配置数据的影响,系统设计人员可以选择以下两种方法:

1. 配置位流擦除─以高于预计SEU速率的速率,不断地对FPGA进行重新配置;

2. 配置位流修复─进行位流读回、循环冗余码校验(CRC)以检测错误,并进行部分重新配置以修复错误。

配置位流擦除需要使用外部配置控制器以便对整个过程进行控制和计时。所提供的“经验法则”建议擦除速度比预计的单位翻转速率快10倍,目的是要在第二个位错误发生之前重新配置FPGA。这个预测会留给设计人员。当FPGA进行配置时,配置控制器会处于写入模式,因此在系统设计中需要考虑这个时间间隔。

配置位流修复是擦除的一个聪明版本,目标是定期读回配置数据,使用CRC计算,检测哪个配置存储器结构损坏,并只对那个损坏的存储器结构进行重新配置。这项技术比擦除操作更加有效,但需要更复杂的电路来计算和比较配置存储器的CRC数据,以及附加的存储器来储存CRC数值。

除了增加器件的重量和成本之外,这两种技术均会提高设计和系统运作的复杂性,即使在实际设计中应用这些SEU缓减技术之前。系统设计人员可以选择具有SEFI免疫能力的FPGA(即以反熔丝或Flash为基础类型),从而大大地简化其工作和设计任务。

对付太空和地面应用SEU的精心设计

直至目前为止,我们讨论的FIT率仅限于SEFI,也就是FPGA配置的SEU。太空飞行设备的设计人员还必须考虑其设计中时序逻辑和存储器子系统的SEU。两种设计技术经常被采用来减轻这些SEU现象:三重模块冗余(TMR)和错误检测和纠正(Error Detection And Correction - EDAC)。

TMR用于缓减SEU对于时序逻辑的影响。采用TMR,时序电路单元(例触发器)将并行实现三次,所有三个电路的输出会通过表决电路进行比较。如果任何一个时序单元发生SEU,其输出将会被其它两个电路的表决而淘汰。当然,采用TMR的结果是所需的逻辑数量较原有设计增加两倍以上。TMR是非常有效缓减SEU的技术,直至高能量粒子的流量足以引起三个并行时序单元中两个发生SEU。

EDAC是用于校正存储器子系统SEU错误的技术。采用EDAC,需要在数据指令中增添位数,以便进行复杂的数据编码算法。视乎编码算法的设计而定,EDAC可以检测和校正数据指令中一个或多个位错误。系统设计所容忍的单个数据指令的位错误越多,EDAC电路就越复杂,所占用的资源也越多。

为了简化高可靠性应用的设计工作和降低总体系统成本,Actel已推出太空飞行FPGA系列,以SEFI免疫的反熔丝技术为基础,并让设计人员无需实施TMR以强化设计。RTSX-SU系列耐辐射FPGA可为太空应用的设计人员提供具有SEFI免疫力的百万门器件。而且,这种架构经过特别设计,可以缓减SEU对于时序单元的影响。硅器件中的每个抗SEU触发器采用三个主仆闩锁对,对于用户表现为单个D型触发器,每个触发器带有异步自校正反馈路径。每个闩锁在主或仆边的输出与其它两个闩锁在那边的输出进行表决。如果三个闩锁中的一个受到离子撞击并开始改变状态,与其它两个闩锁的表决可以通过反馈和永久闩锁方式避免这种现象发生。采用这种方法可以获得高于60 MeV-mg/cm2的LET阈值的SEU免疫能力。

正如独立测试结果所示,以SRAM为基础的FPGA会发生SEU而改变其基础配置,即使处于海平面中子流中也不例外。当用于太空领域时,这种配置翻转风险会随着高度的增加而增大,因此需要使用复杂和昂贵的缓减技术。只有以Flash和反熔丝技术为基础的FPGA具有配置翻转免疫能力,为高可靠性系统提供理想的平台。对于太空应用,更只有反熔丝FPGA能提供抗SEU逻辑选项。

No comments: