一种针对FPGA的细粒度自修复电路和方法技术

技术编号:33913053 阅读:21 留言:0更新日期:2022-06-25 19:47
本发明专利技术涉及FPGA容错设计技术领域,涉及一种针对FPGA的细粒度自修复电路和方法,包括FPGA中的自修复电路、用户的功能电路以及将二者相连接的接口电路;自修复电路包括配置控制模块、下载模块、检测模块和修复模块;功能电路为用户设计的电路;通过自修复电路对功能电路的位流信息进行分析实现故障检测、定位和修复;方法包括骤:(1)通过自修复电路对功能电路的位流信息进行分析,判断电路单元是否存在故障;(2)电路单元故障定位;(3)电路单元故障的细粒度修复。本发明专利技术能较佳地进行细粒度自修复。复。复。

【技术实现步骤摘要】
一种针对FPGA的细粒度自修复电路和方法


[0001]本专利技术涉及FPGA容错设计
,具体地说,涉及一种针对FPGA的细粒度自修复电路和方法。

技术介绍

[0002]现场可编程门阵列(Field

Programmable Gate Array,FPGA)是八十年代中期出现的新型可编程逻辑器件,FPGA灵活的可编程特性使得用户可以通过编程把一个通用的FPGA芯片配置成其所需要的硬件数字电路。采用FPGA芯片开发电子产品可以大大缩短产品的研发周期,降低研发成本,因此FPGA获得越来越多的电子工程师的青睐,其应用领域也越来越广泛,包括航空航天、通信、自动控制、消费类电子等多个领域。
[0003]但是FPGA的传统理念是提供一个“事先无功能”的电路,通过用户编程实现用户所设计的电路功能,可重复编程是其最重要的特点,而这一突出特点也给其留下了一个致命的隐患,即当一个正在使用的FPGA中的内部逻辑资源发生错误,不仅用户设计的电路功能不能实现,而且在有些情况下还可能会产生灾难性的后果。例如,当FPGA产品应用于航天领域或者某些极端环境时,必须考虑辐照对器件造成的影响,辐照大多以高能离子的形式出现,如重离子、电子、质子等。它们会改变静态存储器(如锁存器、寄存器等)的逻辑状态,或者在组合逻辑路径上产生瞬间的短脉冲,使原有的逻辑产生错误。这些重粒子和辐射造成的以上这两种影响,分别被称作偶然事件翻转(Single Event Upset,SEU)和偶然事件瞬变(Single Event Transients,SET)。个别的SEU和SET不等同于器件功能上的错误,但SEU和SET的积累就会导致电路甚至系统发生故障。为解决这些问题,现在已经提出了很多方法,如反熔丝技术、三重冗余(Triple Modular Redundancy,TMR)以及采用FPGA具有动态可重构的特点进行重配置的方法。此外,还有一种被称为单粒子闩锁(Single Event Latch up,SEL)的效应会导致FPGA电流增大,局部温度升高,有时甚至可以达到200
°
C以上,引起FPGA的永久损坏。对于SEL的解决方案有采用外延片加工FPGA,以及一种系统级的解决方案,就是当系统检测到电流超过设定的阈值时切断器件的电源。
[0004]基于反熔丝的解决方案是采用一次性编程。在反熔丝FPGA中,器件一旦完成编程并焊接在板卡后,就不能进行重新配置。与其它方案相比,反熔丝的突出优点包括固有的非挥发性,以及在每次启动时无须进行强制性的器件配置。多年的测试证明耐辐射的反熔丝FPGA具有SEU免疫力,其性能也不会因总辐射剂量(Total Ionizing Dose,TID)随时间积累而发生劣化。但是,反熔丝FPGA只能进行一次性编程,灵活性不够。
[0005]TMR技术的原理可以简单地理解为将同一个电路进行三次复制,然后对这三个电路的输出进行“多数派投票”仲裁,将其中至少有两个相同的输出结果作为最终的输出。如果任何一个时序单元发生SEU,其输出将会被其它两个电路的表决而淘汰。当然,采用TMR的结果是所需的逻辑数量较原有设计增加两倍以上。TMR是缓减SEU非常有效的技术,除非高能量粒子的流量足以引起三个并行时序单元中的两个同时发生SEU才会失效。应用TMR技术的代价是需要占用很大的芯片面积,而且研究发现即使采用TMR技术,仍大约有10%故障发
生的可能性。
[0006]采用FPGA具有动态可重构这个特点时,当干扰产生时,尽快用原配置数据进行重配置,以达到还原修复的目的。周期性刷新存储的配置数据,可以防止故障的积累,但是对于已产生了损坏的FPGA中的一些单元,进行重新配置后也不能得到正确的逻辑功能。
[0007]针对FPGA故障的解决方案可以大体分为芯片级(如反熔丝技术、RHBD技术、TMR技术、外延片)和系统级(如设定阈值、重新配置技术)。这两类解决方案都是既有优点也有缺点。例如,系统级解决方案具有实现代价较小的优点,但是需要经历“断电

重新加电

自检

重新配置

检测是否正常工作

符合检测指标则正常工作”这个较长的过程,要达到实时在线修复故障的要求较困难。而芯片级解决方案虽具有能够较好地规避故障的优点,但其实现的代价较大。

技术实现思路

[0008]本专利技术的内容是提供一种针对FPGA的细粒度自修复电路和方法,其能够克服现有技术的某种或某些缺陷。
[0009]根据本专利技术的一种针对FPGA的细粒度自修复电路,其包括FPGA中的自修复电路、用户的功能电路以及将二者相连接的接口电路;自修复电路包括配置控制模块、下载模块、检测模块和修复模块;配置控制模块用于配置测试文件的控制,下载模块用于配置测试文件的下载,检测模块用于故障的检测和定位,修复模块用于故障的修复;配置测试文件为对FPGA进行测试所需的配置信息;功能电路为用户设计的电路;通过自修复电路对功能电路的位流信息进行分析实现故障检测、定位和修复。
[0010]本专利技术还提供了一种针对FPGA的细粒度自修复方法,其包括以下步骤:(1)通过自修复电路对功能电路的位流信息进行分析,判断电路单元是否存在故障;(2)电路单元故障定位;(3)电路单元故障的细粒度修复。
[0011]作为优选,步骤(1)中,故障判断具体包括以下步骤:(1.1)将配置测试文件下载到功能电路中,然后利用自修复电路的回读功能,将下载的配置位流从功能电路中回读;(1.2)将原配置位流和回读的配置位流进行分析和比较,判断配置SRAM是否存在故障;(1.3)回读配置位流后,对功能电路施加测试激励,然后利用自修复电路的回读功能将测试响应的位流从功能电路中回读;(1.4)将回读的测试响应位流和理论上正确的测试响应位流进行分析比较,判断功能电路是否存在故障;(1.5)通过施加不同的测试激励,测试所有可能的故障类型并得到相应的故障信息。
[0012]作为优选,步骤(2)中,定位方法为:建立一个回读位流文件中的信息与功能电路中所使用的资源相对应的数据库,确定所有可编程物理资源的配置信息与回读位流中的位
置之间的对应关系,通过分析回读的位流信息对故障单元进行定位。
[0013]作为优选,步骤(3)中,细粒度修复方法为:通过分析配置位流文件后进行故障路径追踪,从故障点出发,对和故障点有连接关系的连线和逻辑单元进行追踪并得到这些连线、可编程开关、逻辑单元的详细信息,重新寻找一条新的无故障路径以绕过故障单元,然后修改配置位流文件并对FPGA进行重新配置,实现对功能电路故障的细粒度修复。
[0014]本专利技术的有益效果如下:1)本专利技术针对FPGA芯片建立一套位流的分析方法,可以对任意位流进行解析,根据位流信息完成FPGA内部资源的全覆盖测试、故障单元的定位及修复,能够实现细粒度地修复故障。
[0015]2)本专利技术实现了对功能电路的自动配置和自动测试,可以实时在线检测、定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对FPGA的细粒度自修复电路,其特征在于:包括FPGA中的自修复电路、用户的功能电路以及将二者相连接的接口电路;自修复电路包括配置控制模块、下载模块、检测模块和修复模块;配置控制模块用于配置测试文件的控制,下载模块用于配置测试文件的下载,检测模块用于故障的检测和定位,修复模块用于故障的修复;配置测试文件为对FPGA进行测试所需的配置信息;功能电路为用户设计的电路;通过自修复电路对功能电路的位流信息进行分析实现故障检测、定位和修复。2.一种针对FPGA的细粒度自修复方法,其特征在于:包括以下步骤:(1)通过自修复电路对功能电路的位流信息进行分析,判断电路单元是否存在故障;(2)电路单元故障定位;(3)电路单元故障的细粒度修复。3.根据权利要求2所述的一种针对FPGA的细粒度自修复方法,其特征在于:步骤(1)中,故障判断具体包括以下步骤:(1.1)将配置测试文件下载到功能电路中,然后利用自修复电路的回读功能,将下载的配置位流从功能电路中回读;(1.2)将原配置位流和回读的配置位流进行分析和比较,判断配置SRAM是否存在故障;...

【专利技术属性】
技术研发人员:王佐李威阮爱武李桂宏李建军
申请(专利权)人:成都市硅海武林科技有限公司
类型:发明
国别省市:

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

1