Sram型fpga数字时序电路在线检测容错系统及方法

文档序号:5875145阅读:169来源:国知局
专利名称:Sram型fpga数字时序电路在线检测容错系统及方法
技术领域
本发明属于集成电路故障诊断领域,特别涉及一种针对SRAM型FPGA数字时序电 路的在线检测容错系统及方法。
背景技术
现在的电子系统越来越多地采用了可编程器件,特别是现场可编程门阵列(FPGA) 器件。SRAM型FPGA支持多次重构编程,资源丰富,性能优越,被广泛用于信号处理、通信、 控制等领域。而基于SRAM型FPGA实现的数字时序电路也被广泛应用于信息处理和控制 等领域。但是,在集成度和工作频率越来越高,工艺尺寸越来越小,而供电电压越来越低的 情况下,器件的噪声容限减小了,串扰或者内部噪声源也可以引起瞬态故障。尤其是随着 当前FPGA器件开始应用于空间信息处理系统中,由于FPGA对辐射很敏感,比如单粒子事件 (SEUs)和单粒子瞬时效应(SETs),因此SRAM型FPGA不能保证完全可靠。所以迫切需要提 高器件的可靠性,使得SRAM型FPGA能应用于有很高安全性要求的领域。常见的SRAM型FPGA容错方法是进行三模冗余设计,采用的是对整个电路进行三 模冗余之后导出电路最终的三个备份输出进行故障译码、定位故障、再容错整个故障系统 的方式。这种三模冗余的方法能够大大提高系统的可靠性,但是这种方法存在占用资源较 多,使得电路功率消耗较大的缺陷。

发明内容
本发明的目的就是针对现有技术的不足,提供一种既能提高系统可靠性,又能减 少实现资源,降低设计电路功耗的针对SRAM型FPGA数字时序电路的在线检测容错系统及方法。为实现上述目的,本发明的基本构思是区别于传统的对整个电路进行三模冗余 之后导出电路最终的三个备份输出进行故障译码、定位故障、再容错整个故障系统的方式, 本发明提出两级冗余的思路,将被检测容错的时序电路分割为组合逻辑和时序逻辑,分别 先后对组合逻辑和时序逻辑进行三模冗余和多数表决掩盖故障。只对组合逻辑采取重配置 恢复故障,是因为SRAM型FPGA所实现组合逻辑和时序逻辑的元件不同,在SEU干扰下,其 故障特性也不同。实现组合逻辑的SRAM型FPGA元件受到干扰后发生翻转,这是个永久性 效应,只有重新下载配置位流才能被纠正。时序逻辑由SRAM型FPGA里的触发器实现,受干 扰后,发生位翻转,能在下一刻时钟采样新的正确输入,恢复正常。因此,时序逻辑只要确保 下次采样到正确的值,即使发生故障也能自恢复,所以只要保证时序逻辑输入的正确性,本 发明通过对时序逻辑的前级电路(组合逻辑)的输出作故障掩盖以确保时序逻辑输入的正 确。组合逻辑一旦有故障必须进行纠错,才能消除故障。因此针对SRAM型FPGA所实现的 时序逻辑产生SEU效应后能自恢复特性和组合逻辑产生SEU效应后的不可自恢复特性,将 被检测容错的时序电路的组合逻辑部分与时序逻辑部分分开,并将三个冗余备份的组合逻 辑分别放入三个独立的动态重构区域,当检测到有组合逻辑产生故障时,立即对其进行重
3配置,避免了故障的累积,能达到与传统的容错整个未经分割的故障系统的设计一致的高 可靠性;不仅如此,还节省了重构容错的面积,加快容错时间,且由于只是对组合逻辑进行 重构,重构之后不须考虑与正常运行的备份系统的同步,简化了设计。具体而言,本发明的技术方案如下本发明提出的一种针对基于SRAM型FPGA数字时序电路的在线检测容错系统,包 括冗余时序电路、检测容错控制模块和配置文件存储器。冗余时序电路接受输入信号、经故障掩盖后产生无错最终功能输出,同时与检测 容错控制模块相连,冗余时序电路向检测容错控制模块发送三模冗余输出信号、检测容错 控制模块向冗余时序电路发送总线使能信号。被检测容错的时序电路分割为组合逻辑和时 序逻辑,分别先后对组合逻辑和时序逻辑进行三模冗余和多数表决掩盖故障,得到冗余时 序电路(即采用两级冗余,先对组合逻辑进行三模冗余和多数表决,三模冗余组合逻辑得 到三个冗余的组合逻辑;然后对时序逻辑进行三模冗余和多数表决,三模冗余时序逻辑得 到三个冗余的时序逻辑)。冗余时序电路在物理结构上分为三个独立的动态重构区域和一 个静态区域,由总线宏处理动态重构区域和静态区域的通信。三个冗余的组合逻辑分别物 理约束到三个独立的动态重构区域,并得到三模冗余输出信号,然后输出到检测容错控制 模块进行故障检测;如果三个冗余的组合逻辑中有一个出现故障,则重配置恢复初始电路。 三个冗余的时序逻辑物理约束在静态区域,在电路的运行过程中逻辑不改变,输入来自前 一级的输出,确保该输出经过故障掩盖。也就是说,只对组合逻辑进行故障检测和容错,时 序逻辑只需经三模冗余掩盖故障。被检测容错的时序电路经过两级冗余,通过多数表决器 传递出正确值,可以自动掩盖故障,既保证了功能的正确、持续,又提供了检测故障用的比 较值。检测容错控制模块分别与冗余时序电路和配置文件存储器相连,主要检测冗余时 序电路中是否有组合逻辑发生故障,并进行故障定位(定位哪个组合逻辑出现故障)和容 错(如果有组合逻辑出现故障,则控制调用配置文件存储器中故障组合逻辑所属动态重构 区域的部分配置文件,重新注入实现电路功能的FPGA内的配置存储器,初始化故障组合逻 辑的功能电路)。配置文件存储器与检测容错控制模块相连,用于存储整个检测容错系统的全配置 文件和动态重构区域的部分配置文件。本发明提出的一种SRAM型FPGA数字时序电路在线检测容错方法,具体步骤如 下(1)被检测容错的时序电路分割为组合逻辑和时序逻辑,分别先后对组合逻辑和 时序逻辑进行三模冗余和多数表决,得到冗余时序电路(即先对组合逻辑进行三模冗余和 多数表决,三模冗余组合逻辑得到三个冗余的组合逻辑;然后对时序逻辑进行三模冗余和 多数表决,三模冗余时序逻辑得到三个冗余的时序逻辑);冗余时序电路在物理结构上分 为三个独立的动态重构区域和一个静态区域,由总线宏处理动态重构区域和静态区域的通 信;将三个冗余的组合逻辑分别物理约束到三个独立的动态重构区域,三个冗余的时序逻 辑物理约束在静态区域。(2)冗余时序电路接收输入信号,送到三个冗余的组合逻辑的输入(第一级冗 余)。
(3)三个冗余的组合逻辑得到该输入后,同时计算出三个中间输出,将这三个中间 输出经过第一级多数表决器,表决后得到一个无错中间输出,并送到三个冗余的时序逻辑 的输入(第二级冗余)。(4)三个冗余的时序逻辑得到该输入后,同时计算出三个最终功能输出,将这三个 最终功能输出经过第二级多数表决器,表决后得到一个无错最终功能输出。通过三模冗余 和多数表决,实现了故障掩盖。(5)第(3)步骤中得到的三个中间输出作为三模冗余输出信号被检测容错控制 模块采样,检测容错控制模块将这三个中间输出进行按位比较,检测是否有故障发生;如果 三个中间输出中有一个中间输出的一位或几位不同于另外两个中间输出,则认为对应该中 间输出的组合逻辑出现故障,实现故障定位,然后执行步骤(6);如果三个中间输出完全一 致,则认为无故障发生,不再执行步骤(6)。(6)检测容错控制模块检测到故障并定位到故障的组合逻辑后,发送总线使能信 号,禁止故障组合逻辑所属的动态重构区域的输出总线宏,并从配置文件存储器中调用故 障组合逻辑所属的动态重构区域的部分配置文件,将该部分配置文件重新注入实现电路功 能的FPGA内的配置存储器,初始化故障组合逻辑的功能电路以修复故障(即对故障组合逻 辑进行重构),实现故障容错;恢复故障后,检测容错控制模块发送总线使能信号,重新使 能被禁止的总线宏。被检测容错的时序电路经过两级三模冗余,屏蔽故障,使得功能不间断运行;同时 可通过三个冗余的组合逻辑的输出两相比较,检测故障并定位故障组合逻辑。然后引进重 配置技术,重调用故障组合逻辑所属的动态重构区域的部分配置文件刷新故障组合逻辑的 功能电路,达到纠错目的。为了使系统功能不中断,未发生故障的组合逻辑仍继续运行维持 系统功能,只是部分动态重配置故障组合逻辑。与现有技术相比,本发明的有益效果是结合两级冗余和重配置技术,在不中断系 统功能正常运作的情况下,对SRAM型FPGA实现的时序电路进行故障掩盖、故障检测、故障 定位和故障修复,在线提高系统可靠性;由于只对故障的组合逻辑进行重配置,因此节省了 重构容错的面积,加快了容错时间,重构之后也无须考虑与正常运行系统的同步,进而简化 了设计,减少了实现资源,降低了设计电路功耗。


图1是在线检测容错系统的结构示意图。图2是冗余时序电路的示意图。图3是在线检测容错方法的流程示意图。图4是实施例1中检测容错控制模块的架构示意图。图5是图4中用户定制IP(故障检测)的硬件架构示意图。
具体实施例方式下面结合附图,对本发明的优选实施例作进一步的描述。如图1、图2、图3、图4、图5所示。构建基于SRAM型FPGA实现的数字时序电路的 在线检测容错系统,包括冗余时序电路、检测容错控制模块和配置文件存储器(如图1、图2所示)。所述冗余时序电路接受输入信号、经故障掩盖后产生无错最终功能输出,同时与检 测容错控制模块相连,冗余时序电路向检测容错控制模块发送三模冗余输出信号、检测容 错控制模块向冗余时序电路发送总线使能信号;被检测容错的时序电路分割为组合逻辑和 时序逻辑,分别先后对组合逻辑和时序逻辑进行三模冗余和多数表决掩盖故障,得到冗余 时序电路;冗余时序电路在物理结构上分为三个独立的动态重构区域和一个静态区域,由 总线宏处理动态重构区域和静态区域的通信;三个冗余的组合逻辑分别物理约束到三个独 立的动态重构区域,并得到三模冗余输出信号,然后输出到检测容错控制模块进行故障检 测;三个冗余的时序逻辑物理约束在静态区域。所述检测容错控制模块分别与冗余时序电 路和配置文件存储器相连,主要检测冗余时序电路中是否有组合逻辑发生故障,并进行故 障定位和容错。所述配置文件存储器与检测容错控制模块相连,用于存储整个检测容错系 统的全配置文件和动态重构区域的部分配置文件。选取Xilinx公司型号为xc4vfxl2_10ff668的FPGA芯片作为硬件平台。以内嵌 于FPGA芯片内部的PoWerPC405为检测容错控制模块的微处理器,使用PLB总线和OPB总 线作桥梁,根据功能需要,调用EDK所提供的IP核和创建新的用户定制IP核,扩展微处理 器外围功能,共同实现检测容错控制模块的故障检测功能、故障定位功能和故障容错功能 (如图4、图5所示)。使用SystemACE配置环境,CF卡为配置文件存储器。使用verilog 作为硬件描述语言在该FPGA芯片中分别实现冗余时序电路和检测容错控制模块的检测部 分,使用C语言在内嵌于FPGA芯片的微处理器中分别实现故障定位、故障容错、外围IP初 始化和中断的处理。采用自动售饮料机的状态机电路作为被检测容错的时序电路,包含两个类别的投 币输入以及两个输出,分别指示输出饮料和输出找零,使用有限状态机设计电路。如图3所 示,具体的在线检测容错方法步骤如下(1)被检测容错的时序电路(有限状态机)采用两段式描写方式,将状态转移条 件的判断(即组合逻辑)和次态与现态的转移(即时序逻辑)分割开。分别先后对判断条 件的组合逻辑和转移状态的时序逻辑进行三模冗余和多数表决掩盖故障,得到冗余时序电 路;冗余时序电路在物理结构上分为三个独立的动态重构区域和一个静态区域,由总线宏 处理动态重构区域和静态区域的通信;三个冗余的判断条件的组合逻辑分别物理约束到三 个独立的动态重构区域,三个冗余的转移状态的时序逻辑物理约束在静态区域。(2)冗余时序电路接收投币输入信号,送到三个冗余的判断条件的组合逻辑的输 入。(3)三个冗余的判断条件的组合逻辑得到该输入后,同时计算出三个中间输出,将 这三个中间输出经过第一级多数表决器,表决后得到一个无错中间输出,并送到三个冗余 的时序逻辑的输入。(4)三个冗余的转移状态的时序逻辑得到该输入后,同时计算出三个最终功能输 出,将这三个最终功能输出经过第二级多数表决器,表决后得到一个无错最终功能输出。(5)第(3)步骤中得到的三个中间输出作为三模冗余输出信号被检测容错控制模 块采样,即是被挂接到POwerPC405外围的用户定制IP采样,用户定制IP将这三个中间输 出进行按位比较,检测是否有故障发生;如果三个中间输出中有一个中间输出的一位或几 位不同于另外两个中间输出,则用户定制IP检测到有故障,产生中断通知微处理器有中断产生,微处理器响应中断后,对发生故障的组合逻辑进行定位(三个中间输出中有一个中 间输出的一位或几位不同于另外两个中间输出,则微处理器认为对应该中间输出的组合逻 辑出现故障)。 (6)检测容错控制模块检测到故障并定位到故障的组合逻辑后,微处理器通过用 户定制IP核发送总线使能信号,禁止故障组合逻辑所属的动态重构区域的输出总线宏,并 通过System ACE控制器从配置文件存储器CF卡里调用故障组合逻辑所属的动态重构区域 的部分配置文件,然后通过HWICAP将该部分配置文件重新注入实现电路功能的FPGA内的 配置存储器,初始化故障组合逻辑的功能电路以修复故障,实现故障容错;恢复故障后,微 处理器通过用户定制IP核发送总线使能信号,重新使能被禁止的总线宏。
权利要求
SRAM型FPGA数字时序电路在线检测容错系统,其特征在于包括冗余时序电路、检测容错控制模块和配置文件存储器;冗余时序电路接受输入信号、经故障掩盖后产生无错最终功能输出,同时与检测容错控制模块相连,冗余时序电路向检测容错控制模块发送三模冗余输出信号、检测容错控制模块向冗余时序电路发送总线使能信号;被检测容错的时序电路分割为组合逻辑和时序逻辑,分别先后对组合逻辑和时序逻辑进行三模冗余和多数表决掩盖故障,得到冗余时序电路;冗余时序电路在物理结构上分为三个独立的动态重构区域和一个静态区域,由总线宏处理动态重构区域和静态区域的通信;三个冗余的组合逻辑分别物理约束到三个独立的动态重构区域,并得到三模冗余输出信号,然后输出到检测容错控制模块进行故障检测;三个冗余的时序逻辑物理约束在静态区域;检测容错控制模块分别与冗余时序电路和配置文件存储器相连,主要检测冗余时序电路中是否有组合逻辑发生故障,并进行故障定位和容错;配置文件存储器与检测容错控制模块相连,用于存储整个检测容错系统的全配置文件和动态重构区域的部分配置文件。
2. SRAM型FPGA数字时序电路在线检测容错方法,其特征在于所述SRAM型FPGA数字 时序电路在线检测容错方法步骤如下(1)被检测容错的时序电路分割为组合逻辑和时序逻辑,分别先后对组合逻辑和时序 逻辑进行三模冗余和多数表决,得到冗余时序电路;冗余时序电路在物理结构上分为三个 独立的动态重构区域和一个静态区域,由总线宏处理动态重构区域和静态区域的通信;将 三个冗余的组合逻辑分别物理约束到三个独立的动态重构区域,三个冗余的时序逻辑物理 约束在静态区域;(2)冗余时序电路接收输入信号,送到三个冗余的组合逻辑的输入;(3)三个冗余的组合逻辑得到该输入后,同时计算出三个中间输出,将这三个中间输出 经过第一级多数表决器,表决后得到一个无错中间输出,并送到三个冗余的时序逻辑的输 入;(4)三个冗余的时序逻辑得到该输入后,同时计算出三个最终功能输出,将这三个最终 功能输出经过第二级多数表决器,表决后得到一个无错最终功能输出;(5)第(3)步骤中得到的三个中间输出作为三模冗余输出信号被检测容错控制模块采 样,检测容错控制模块将这三个中间输出进行按位比较,检测是否有故障发生;如果三个中 间输出中有一个中间输出的一位或几位不同于另外两个中间输出,则认为对应该中间输出 的组合逻辑出现故障,实现故障定位;(6)检测容错控制模块检测到故障并定位到故障的组合逻辑后,发送总线使能信号, 禁止故障组合逻辑所属的动态重构区域的输出总线宏,并从配置文件存储器中调用故障组 合逻辑所属的动态重构区域的部分配置文件,将该部分配置文件重新注入实现电路功能的 FPGA内的配置存储器,初始化故障组合逻辑的功能电路以修复故障,实现故障容错;恢复 故障后,检测容错控制模块发送总线使能信号,重新使能被禁止的总线宏。全文摘要
本发明公开了SRAM型FPGA数字时序电路在线检测容错系统及方法。本发明中被检测容错的时序电路分割为组合逻辑和时序逻辑,分别先后对组合逻辑和时序逻辑进行三模冗余和多数表决掩盖故障,得到冗余时序电路;冗余时序电路在物理结构上分为三个独立的动态重构区域和一个静态区域,由总线宏处理动态重构区域和静态区域的通信;三个冗余的组合逻辑分别物理约束到三个独立的动态重构区域,三个冗余的时序逻辑物理约束在静态区域。与现有技术相比,本发明结合两级冗余和重配置技术,既能在线提高系统可靠性,又能减少实现资源,降低设计电路功耗。
文档编号G01R31/317GK101930052SQ20101023264
公开日2010年12月29日 申请日期2010年7月21日 优先权日2010年7月21日
发明者孟劲松, 张靖悉, 李西峰, 王林景, 谢永乐 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1