漫谈萨德与FPGA,单粒子翻转,三模冗余,国产FPGA,以及其它
本帖最后由 lcytms 于 2017-3-30 23:30 编辑漫谈萨德与FPGA,单粒子翻转,三模冗余,国产FPGA,以及其它
信息来源:http://news.hqew.com/info-309334.html
http://www.c114.net/tech/222/a688433.html
这些天萨德入韩的事在网上被炒得沸沸扬扬。
中午在微信上看到一个萨德的技术贴《“萨德”下的产业超强科普与趋势》。
出于职业习惯,直接去找FPGA的相关部分。
果不其然,在附件部分找到了擅长做底层的FPGA的身影。
寥寥数十字,这家伙还是那么实干和低调。哥欣慰地笑了。
FPGA
Xilinx(赛灵思)是全球领先的可编程逻辑完整解决方案的供应商。
无论是红外CCD,还是航天航空级复杂计算,通信系统,都离不开Xilinx的FPGA,尤其是Virtex7以上芯片。
本帖最后由 lcytms 于 2017-3-7 15:12 编辑
然后我把这个事和李凡老师描述了一下,李凡老师评点如下:
虽然ACTEL是美国军方指定的FPGA供应商,在宇航应用等方面有不俗的表现。
但是近年来Xilinx的芯片越来越多地出现在军用系统中。
而且Xilinx有一项技术叫做三模冗余技术,能够对关键信号进行冗余设计,有效防止出错,有效应对单粒子翻转。
理论上,在FPGA中某一单元有可能发生单粒子翻转。
但连续两个相同单元同时发生单粒子翻转事件,在有限的工作时间内,几乎是不可能的。
虽然一个单元发生单粒子翻转导致错误,但其他单元不会同时发生错误,通过表决,保证了数据或信号的安全可靠。
但是Altera一直没有开发相关技术,在这方面落到了后面。
虽然我原来接触的航空电传操纵系统都有冗余设计,多年的航天工作经历也知道宇航级的芯片有防辐照设计,但是知之不详,或者是只是觉得ACTEL是这方面的行家。
忍不住查了一下网上的资料,重点查了一下两个关键词:单粒子翻转和三模冗余。
自己学习后,整理以备忘,谨供大家参考。
本帖最后由 lcytms 于 2017-3-7 15:10 编辑
空间辐照环境下的FPGA可靠性设计技术
作者李巍,刘栋斌
摘要
为了使基于SRAM结构的FPGA系统能够在空间辐照环境下稳定、安全、可靠地运行,FPGA软件的高可靠性设计便显得尤为重要。
本文分析了空间辐照条件下FPGA发生故障的原因和机理,并结合实际设计的空间载荷项目,着重从软件方面提出了防范和解决的措施和方案。
最后通过仿真和环境实验,验证了设计方案的可行性。
出版源《单片机与嵌入式系统应用》, 2011, 11(10):12-14
引言
FPGA以其集成度高、灵活性强、开发周期短的特点,在航天领域得到了越来越广泛的应用。
然而,其工作的空间环境存在着大量γ光子、辐射带电子、高能质子等高能粒子。
这些高能粒子轰击到器件上,会产生总剂量效应(Total Ionizing Dose, TID)、单粒子翻转(Single Event Upset, SEU)、单粒子锁定(Single Event Latchup, SEL)、单粒子烧毁(Single Event Bumout,SEB)、单粒子栅击穿(Single Event Gate Rupture, SEGR)、内带电效应等空间辐射效应。这些效应对基于SRAM的FPGA的影响尤为明显。
现代FPGA工艺向着低电压、高集成度方向发展,这使得发生空间辐射响应的阈值越来越低,发生故障的概率越来越大。
空间辐射效应的发生,轻则会使设备工作异常,重则会导致设备烧毁、永久失效。
因此,FPGA必须进行高可靠性设计,来最大限度地预防和解决空间辐射效应的影响。
1 空间辐照效应
据卫星资料统计,其异常记录中有70%是由空间辐射环境引起的。
主要空间辐射效应与辐射源及作用对象之间关系如表1所列。
表1 主要辐射效应、辐射源及对象
本帖最后由 lcytms 于 2017-3-7 15:04 编辑
单粒子效应(Single Event Effect,SEE)是单个高能质子或重离子入射电子元器件上引发的辐射效应。
根据效应的机理不同可分为单粒子翻转、锁定、烧毁、栅击穿等。
当单个空间高能带电粒子轰击到大规模、超大规模的逻辑型微电子器件时,沿粒子入射轨迹,在芯片的PN结附近区产生电离效应,生成一定数量的电子空穴对(载流子)。
如果芯片处于加电状态,这些由于辐射产生的载流子将在芯片内部电场作用下发生飘移和重新分布,从而改变了芯片内部正常载流子的运动分布和运动状态。
当这种改变足够大时,将引起器件电性能状态的改变,造成逻辑器件或电路的逻辑错误。
例如:存储器中数据发生翻转,使能信号被重新置位,从而引起逻辑功能混乱、计算机程序“跑飞”,甚至造成灾难性的后果。
目前,大多数FPGA基于SRAM结构。
基于SRAM的FPGA中的基本可编程通孔是一个1位的SRAM单元。
这种SRAM通孔的编程和擦写方式与其他SRAM存储器一样。
虽然SRAM通孔比一般SRAM组建更可靠,但之后的状态也很容易被空间辐射产生的电荷改写。
因此,对于FPGA软件设计而言,单粒子翻转对FPGA内部逻辑、存储器的影响尤为严重,需要进行安全可靠性设计。
图1为与FPGA相同的CMOS工艺单粒子翻转示意图和单粒子翻转敏感区域。
本帖最后由 lcytms 于 2017-3-7 15:16 编辑
2 防范措施
通常可以采用如下的方法,最大限度地防止或避免空间辐照下的单粒子效应对FPGA软件的影响。
2.1 定期重新配置FPGA
对FPGA进行重新配置,可以清除积累的任何错误。
设计者必须确定潜在错误的影响,以及这些错误蔓延所需的时间。
在这个时间段之内重新配置FPGA,或者设计检测电路,当FPGA工作错误时,及时对FPGA进行重新配置。
虽然错误仍然会蔓延,但潜在的损害被重新配置所限制。
笔者所设计的系统为CCD相机成像系统,由任务需求及功能估算,每次开机上电时间约为120 s。
开机即加载FPGA逻辑,摄像任务完成后,随即下电,准备下一次摄像任务。
因此,可以极大地避免空间辐照效应对设备的影响。
2.2 三模冗余(TMR)
对关键信号,数据进行冗余设计,是防止SEU发生的比较行之有效的方法。
冗余设计是用多个相同单元构成并联形式,最后通过表决单元输出最终的数据或信号,三模冗余是常用的冗余设计方法。
理论上,在FPGA中某一单元发生SEU的概率是存在的。但连续两个相同单元同时发生SEU事件,在有限的工作时间内,几乎是不可能的。
虽然一个单元发生SEU导致错误,但其他单元不会同时发生错误,通过表决,保证了数据或信号的安全可靠。
图2为Xilinx公司推荐的三模冗余结构。
虽然TMR带来了可靠性的提高,但是随之带来了系统最高运行速度的降低和资源的浪费,而且表决器本身也可能出错,并不具备抗空间辐照的能力。
如果系统长时间加电工作于空间辐射环境中,由于SEU的累积效应,两个或多个表决单元都发生SEU的可能还是存在的。
这就需要采取相应的设计方法,检测发生SEU的逻辑单元,将其重新置位,“拉”回正常工作状态,从而保证系统的安全可靠。
目前,Xilinx公司等FPGA制造商能够提供相应的TMR模块IP核,但目前还无法获得。
可以根据实际情况,对系统关键的部位,进行三模冗余设计。
笔者在所设计的系统中,同时设计了3个“关键数据解析”单元,将解析到的关键数据同时存储在相邻的3个块RAM中,最后通过“关键数据表决单元”,输出可靠的关键数据。
图2 Xilinx公司推荐的三模冗余逻辑
本帖最后由 lcytms 于 2017-3-7 15:17 编辑
2.3 周期擦除技术
周期擦除技术是指,在固定时间周期内,对系统内部各关键单元进行周期擦除复位,这样可以很大程度地避免单粒子翻转对系统产生的影响。
当系统中发生单粒子翻转事件时,可能会导致关键寄存器、计数器或关键使能信号等发生意外翻转,引起外围控制器件异常工作。
若这种异常的工作状态持续时间较长,会导致设备无法正常工作甚至永久损坏。
若系统采用周期擦除技术,一旦发生SEU,周期复位信号可以在很短的时间内,将错误的计数器、存储器复位到正确状态,保证系统的安全稳定。
笔者所设计的CCD成像系统,CCD探测器的各时序控制信号为关键信号。
若不幸发生SEU,可能导致CCD时序驱动信号频率大幅升高,过高的频率会导致外围驱动器失效甚至烧毁。
由于CCD时序控制信号为周期信号,故在时序设计中,系统内部自行产生周期擦除信号。
此信号同时产生3个,进行三模冗余备份,并经过FPGA时钟树网络,保证此周期复位信号安全可靠。
此信号采用同步复位,用软件仿真SEU故障,时序仿真图如图3所示。
信号cnt_fre经过周期擦除处理,而cnt_fre_r未经过相应处理。
可以看到,在某时刻,两个计数器均发生了SEU,计数值跳转到异常值76且保持。
由于采用周期擦除技术,cnt_fre在周期擦除信号有效期间,复位至初始状态,继续正常工作。
而未经周期擦除处理的cnt_fre_r则始终处于异常状态,导致系统故障。
图3 周期擦除时序仿真图
2.4 纠错电路EDAC
FPGA系统发生SEU后,会使关键寄存器、信号等处于错误状态。
尽管可以通过三模冗余技术,将这种错误状态暂时隔置,但是在长期加电工作要求的条件下,冗余单元可能继续发生错误而导致单元失效。
对各模块关键信号实时监测,并将检测到的错误信号及时纠正,防止了空间辐照对系统的影响。
纠错电路的设计需要根据系统的特点,进行相应的设计。
系统EDAC(Error Detected And Corrected)设计的功能仿真图如图4所示。
系统对关键寄存器Sta_Line(起始行寄存器)进行三模冗余,当纠错使信号EDAC_n有效时,进行3个冗余单元的三选二表决,并将表决结果暂存在表决结果寄存器reg内,更新至各冗余单元寄存器中。
由图4可知,寄存器sta_line3在某时刻发生了SEU,sta_line3寄存器故障。
在edac_n有效时,将此关键信号纠错,置回正确状态,而关键信号sta_line将始终保持正确值,保证了系统的安全可靠。
图4 EDAC功能仿真图
结语
可编程逻辑器件FPGA必将在航天领域得到更广泛的应用。
针对空间辐照效应影响的高可靠性设计,将越来越成为FPGA软硬件设计的难点和重点。
根据飞行器空间轨道的不同、辐射总剂量的差异,从硬件上,可以通过加厚屏蔽层、元器件加固等方式,尽可能地降低SEU发生的概率;
从软件上,通过定期重配置、周期擦除、三模冗余、EDAC等手段,最大程度降低或消除SEU对系统的影响。
本文提出的基于软件的空间辐照下FPGA可靠性设计方法,可以为空间航天FPGA嵌入式系统设计提供一定的参考。
参考文献
邢克飞,杨俊 ,王跃科,等. Xilinx SRAM型FPGA抗辐射设计技术研究.宇航学报,2007,28(1).
李冬梅,王志华,高文焕,等.FPGA中的空间辐射效应及加固技术.电子技术应用, 2000(10).
Xilinx.Radiation Effect & Mitigation Overview,2010.
Candice Yui,Gary Swift,Carl Carmichael.Single Event Upset Susceptibility Testing of the Xilinx Virtex II FPGA//Military and Aerospace Applications of Programmable Devices and Technologies Conference(MAPLD), Washington DC, 2002.
Microsemi Company.SingleEvent Upset(SEU) and Medical Device. Global Electronics China, 2011(2).
Fuller E,Caffrey M,Salazar A,et al. Radiation testing update,SEU mitigation,and availability analysis of the Virtex FPGA for space reconfigurable computing//4th Annual Conference on Military and Aerospace Programmable Logic Devices,Washington DC,2000.
李巍(助理研究员),主要从事空间光学CCD成像技术的研究。
作者:李巍 刘栋斌 来源:《单片机与嵌入式系统应用》 本帖最后由 lcytms 于 2017-3-7 16:22 编辑
小结:
经历此番挖掘思考之后,在我们看来Xilinx依然是满满的霸气。
大的方面,此番萨德一出,谁与争锋?
这局究竟怎么破呢?
实在是个头疼的事。
小的方面,Xilinx一家独大,Altera陪太子读书的局面,随着Intel收购Altera,是否会出现变数呢?
围绕这一切,众多高手们都在不见硝烟地忘我拼杀,成败事关产业界以及家国前途命运。
这个话题太沉重了!
且罢且罢,提前祝各位女神们节日快乐,乐享春日阳光! 楼主很细心呀!大赞!