当前位置: 首页 > 专利查询>汪鹏专利>正文

应用于FPGA的SEU故障容错技术制造技术

技术编号:14738795 阅读:254 留言:0更新日期:2017-03-01 12:27
本发明专利技术公开了一种FPGA的SEU故障容错设计。将可重构技术的思想用在FPGA中SEU故障的容错上,来提高系统运行的可靠性。可重构区域A实现逻辑功能的切换通过动态的加载配置文件A1.bit或者A2.bit来实现。

【技术实现步骤摘要】

本专利技术涉及一种FPGA的SEU故障容错技术,特别适用于FPGA的动态可重构技术。
技术介绍
由于太空环境中存在大量复杂的高能粒子,它们做无规则的随机运行,难免会与宇航设备中的半导体器件发生碰撞。当这些高能粒子撞击到器件中的敏感区域时,就会相应的改变器件中的逻辑连接关系,从而改变器件的功能。SRAM型FPGA中的配置存储单元对单粒子效应十分敏感,极易因高能粒子辐射发生配置位的翻转,即单粒子翻转SEU,而FPGA的配置存储器中的内容决定了FPGA的顶层电路结构,与FPGA的功能息息相关。当这些配置位发生改变时,重则使FPGA功能紊乱,引发整个系统的失效。而SRAM型FPGA的这种SEU效应属于软错误故障,用户可以采取一定的措施对其进行修复。目前,SEU故障的容错技术是国内外研究的热点。SRAM型FPGA对空间粒子辐射极其敏感,太空环境中包含各种各样的质子、中子、重离子、宇宙射线等,当单个高能粒子撞击器件时,会引发一系列的效应,称为单粒子效应SEE(SsingleEventEffects),单粒子效应包括单粒子闸所、单粒子瞬态扰动、单粒子烧毁、单粒子翻转等。太空的辐射环境中存在各种各样的高能粒子,例如,太阳活动过程中产生的中子,包装和加工材料过程中产生的α粒子等等。当这些高能粒子撞击到电子器件时,这些粒子所带的能量能够把足够的电荷移入或移出电路节点,从而改变电路节点的状态。当一个高能粒子与电子器件中p-n结的敏感区发生碰撞时,在高能粒子运动轨迹的周围会电离出足够多的电子-空穴对,这些电子-空穴对在电场力和浓度差的作用下,会发生定向的漂移运动和扩散运动,当漂移运动大于扩散运动,或者当扩散运动大于漂移运动时,瞬间会使p-n结诱发出一个纳秒级的电流脉冲,瞬态电流脉冲会改变电路节点的电势,当电势达到一定程度时,会使导通管截止或者截止管导通,引发电子器件逻辑状态的翻转。FPGA的存储单元占整个FPGA存储容量的97.4%以上,而这些存储单元,都是基于CMOS工艺的SRAM存储单元,极易受到高能粒子辐射的影响,发生单粒子翻转效应。而这些配置存储器单元中,存储了大量用于决定各个逻辑模块功能和各逻辑单元之间互连线连接方式的配置信息。也就是说,FPGA所执行的一系列操作,主要依据存放于配置存储器中的配置数据。如果配置数据有一位发生变化,即由“0”状态变为“1”状态,或者由“1”状态变为“0”状态,那么相应的电路就会改变原始的行为,执行非用户设定的操作,这种影响最终会传输到设备的输出端,使用户得到非预期的结果,或者得到错误的数据信息,引发系统的失效。只有把用户设计综合产生的配置数据重新加载到FPGA的配置存储器中后,器件才能按照用户的设计正常运行,并获得可靠的输出信息。
技术实现思路
为了克服上述现有问题,本专利技术提出了一种用于FPGA的SEU故障容错技术。本专利技术所采取的技术方案:在FPGA资源中,利用未使用的冗余资源进行部分动态可重构。将可重构技术的思想用在FPGA中SEU故障的容错上,来提高系统运行的可靠性。由于动态部分重构技术与动态全部重构技术相比,大大减小了重构范围,重构时,只对系统中的一小部分电路进行了修改,缩短了重配置的时间。如果采用这种思想对FPGA实现容错,能够降低系统的故障修复时间,提高系统的运行效率。动态部分重构技术用在FPGA中SEU故障修复问题中,降低整体硬件规模。动态部分重构是指对FPGA系统的一部分进行重新构造,而其余部分仍处于工作状态。可重构区域A实现逻辑功能的切换通过动态的加载配置文件A1.bit或者A2.bit来实现。附图说明图1为本专利技术的FPGA底层结构图。图2为本专利技术的多路选择器的不同使用方法图。图3为本专利技术的动态可重构原理图。图4为本专利技术的动态可重构区域划分图。图5为本专利技术的SEU故障修复原理图。具体实施方式下面结合附图对本专利技术进行详细描述。图1所示为SRAM型FPGA最底层的结构。图中最左侧的虚线框为CLB可编程逻辑块,对于Virtex-5系列FPGA,每个CLB由两个Slice组成,每个Slice中包含4个LUT和4个触发器。可根据用户的设计,将CLB配置成为相应的组合逻辑或者时序逻辑,也可以将其配置为分布式RAM或者分布式ROM来使用,其中CLB中的LUT主要用于实现组合逻辑,触发器主要用于实现时序逻辑和存储电路运行的中间结果。BRAM为片上存储资源,用于实现各种存储功能,可提高FPGA的整体运行效率。M为配置存储器单元,用于存储FPGA的配置数据,这些配置数据对电路中的开关和互联线等进行控制,综合实现FPGA的功能。图2所示为多路选择器的不同使用方法。R1、R2、R3分别为三个D触发器,C1、C2、C3分别为一个时钟周期的三个不同时刻,图2(a)所示为使用一个多数选择器的方法,考虑到多数选择器也会受到高能粒子辐射的影响,有人提出了使用三个多数选择器的方法,如图2(b)所示,每个D触发器的输出端都输入到三个多数选择器中,这样,当一个多数选择器发生故障时,电路仍能正常运行。图3所示为FPGA动态部分重构的原理图。用户可以根据需求对FPGA的内部逻辑资源模块进行划分,使每个区域成为一个可重构区域,在每个可重构区域中可以有多个可重构模块,这些可重构模块之间可以进行相互转换,但是在某一时刻,每个可重构区域中仅有一个可重构模块处于运行状态。模块之间的转换可以通过调用不同的配置文件来实现,由于配置文件中有该可重构模块的地址,因此动态的加载部分配置文件,就可以改变对应可重构区域的逻辑功能。动态部分重构技术与动态全部重构技术相比,重构的区域和单元数目有了大幅度的缩减,从而降低了重构的速度,提高了系统的运行效率。图4所示为本专利技术的动态可重构区域划分图。对器件进行部分可重构,在系统功能设计时就要对各个模块进行划分,首先设计顶层模块,也就是主模块,主模块主要是将各个静态子模块和动态子模块进行连接,其中的子模块以黑盒子的形式存在。静态子模块是系统中不可重构的模块,动态子模块是用于重构的模块,其中每个动态可重构区域中的动态子模块的模块名要相同,这样,在动态部分重构的过程中,才能保持与其他模块之间的电气连接关系。图4中的可重构模块A1和A2是动态可重构区域A的两个子模块,可重构模块B1和B2是动态可重构区域B的两个子模块,在某一时刻,仅有A1模块在运行,而A1和A2模块不能同时处于运行状态。可重构区域A实现逻辑功能的切换通过动态的加载配置文件A1.bit或者A2.bit来实现。图5所示为本专利技术的SEU故障修复原理图。首先要对系统进行可重构区域设计,但是与动态可重构技术不同的是,每个动态可重构区域中仅有一个动态可重构模块,当系统检测到故障时,要对故障进行定位,查找是哪个可重构区域发生了故障,然后对故障的区域进行配置信息的重新加载。如果故障发生在可重构区域A中,就将A对应的配置文件A.bit动态的重新加载到FPGA中,如果故障发生在可重构区域B中,就将B对应的配置文件B.bit动态的重新加载到FPGA中,此种方法为动态部分重构。但是如果故障发生在动态可重构区域A和B之外,那么就将整个器件的配置信息重新加载到FPGA中,即动态全部重构。图5只设计了两个动态可重构区域,在实际本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201510508886.html" title="应用于FPGA的SEU故障容错技术原文来自X技术">应用于FPGA的SEU故障容错技术</a>

【技术保护点】
一种FPGA的SEU故障容错技术,其特征包括:FPGA底层结构、多路选择器的不同使用方法、动态可重构原理、SEU修复方法;通过该设计,能自由快速的对FPGA进行故障容错。

【技术特征摘要】
1.一种FPGA的SEU故障容错技术,其特征包括:FPGA底层结构、多路选择器的不同使...

【专利技术属性】
技术研发人员:汪鹏
申请(专利权)人:汪鹏
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1