一种应用于FPGA数字电路的冗余容错技术的制作方法

文档序号:12120244阅读:249来源:国知局
一种应用于FPGA数字电路的冗余容错技术的制作方法与工艺

本发明涉及一种应用于FPGA数字电路的冗余容错技术,能有效减弱短沟道效应的影响,特别适用于FPGA数字电路的逻辑电路部分动态可重构技术。



背景技术:

由于太空环境中存在大量复杂的高能粒子,它们做无规则的随机运行,难免会与宇航设备中的半导体器件发生碰撞。当这些高能粒子撞击到器件中的敏感区域时,容易引起短沟道效应,从而改变器件的功能。SRAM型FPGA中的逻辑资源配置存储单元对短沟道效应十分敏感,极易发生配置位流信息的变化,而FPGA的配置存储器中的内容决定了FPGA的顶层电路结构,与FPGA的功能息息相关。当这些配置位发生改变时,重则使FPGA功能紊乱,引发整个系统的失效。而SRAM型FPGA的这种短沟道效应属于软错误故障,用户可以采取一定的措施对其进行修复。目前,配置位流信息故障的容错技术是国内外研究的热点。

太空的辐射环境中存在各种各样的高能粒子,例如,太阳活动过程中产生的中子,包装和加工材料过程中产生的α粒子等等。当这些高能粒子撞击到电子器件时,这些粒子所带的能量能够把足够的电荷移入或移出电路节点,形成短沟道效应,从而改变电路节点的状态。

当一个高能粒子与微电子器件中p-n结的敏感区发生碰撞时,在高能粒子运动轨迹的周围会电离出足够多的电子-空穴对,这些电子-空穴对在电场力和浓度差的作用下,会发生定向的漂移运动和扩散运动,当漂移运动大于扩散运动,或者当扩散运动大于漂移运动时,瞬间会使p-n结诱发出一个纳秒级的电流脉冲,瞬态电流脉冲会改变电路节点的电势,当电势达到一定程度时,会使导通管截止或者截止管导通,引发电子器件逻辑状态的翻转。

FPGA的存储单元占整个FPGA存储容量的97.4%以上,而这些存储单元,都是基于CMOS工艺的SRAM存储单元,极易受到器件尺寸和空间辐射 的影响,发生短沟道效应。而这些配置存储器单元中,存储了大量用于决定各个逻辑模块功能和各逻辑单元之间互连线连接方式的配置信息。也就是说,FPGA所执行的一系列操作,主要依据存放于配置存储器中的配置数据。

如果配置数据有一位发生变化,即由“0”状态变为“1”状态,或者由“1”状态变为“0”状态,那么相应的电路就会改变原始的行为,执行非用户设定的操作,这种影响最终会传输到设备的输出端,使用户得到非预期的结果,或者得到错误的数据信息,引发系统的失效。只有把用户设计综合产生的配置数据重新加载到FPGA逻辑资源的配置存储器中后,数字电路才能按照用户的设计正常运行,并获得可靠的输出信息。



技术实现要素:

为了克服上述现有问题,本发明提出了一种应用于FPGA数字电路的冗余容错技术。

本发明所采取的技术方案:在FPGA逻辑模块资源中,利用未使用的数字电路模块冗余逻辑资源进行部分动态可重构。将可重构技术的思想用在FPGA中电路故障的容错上,来提高系统运行的可靠性。由于动态部分重构技术与动态全部重构技术相比,大大减小了重构范围,重构时,只对系统中的一部分电路进行了修改,缩短了重配置的时间。如果采用这种思想对FPGA实现容错,能够降低系统的故障修复时间,提高系统的运行效率。动态部分重构技术用在FPGA中电路故障修复问题中,降低整体硬件规模。动态部分重构是指对FPGA系统的一部分进行重新构造,而其余部分仍处于工作状态。可重构区域A实现逻辑功能的切换通过动态的加载位流数据配置文件A1.bit或者A2.bit来实现。

附图说明

图1为本发明的FPGA底层结构图。

图2为本发明的微处理器的不同使用方法图。

图3为本发明的数字电路动态可重构原理图。

图4为本发明的数字电路动态可重构区域划分图。

图5为本发明的冗余容错故障修复原理图。

具体实施方式

下面结合附图对本发明进行详细描述。

图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所示为本发明的数字电路冗余故障修复原理图。首先要对系统进行可重构区域设计,但是与动态可重构技术不同的是,每个动态可重构区域中仅有一个动态可重构模块,当系统检测到故障时,要对故障进行定位,查找是哪个可重构区域发生了故障,然后对故障的区域进行配置信息的重新加载。如果故障发生在可重构区域A中,就将A对应的配置文件A.bit动态的重新加载到FPGA中,如果故障发生在可重构区域B中,就将B对应的配置文件B.bit动态的重新加载到FPGA中,此种方法为动态部分重构。但是如果故障发生在动态可重构区域A和B之外,那么就将整个器件的配置信息重新加载到FPGA中,即动态全部重构。图5只设计了两个动态可重构区域,在实际系统设计时,可以尽可能多的设计可重构区域的个数,以缩小每个可重构区域的面积,提高数字电路故障修复率。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1