基于关键度的FPGA软错误多频度刷新方法及刷新器技术

技术编号:21184128 阅读:21 留言:0更新日期:2019-05-22 14:55
本发明专利技术提供了一种基于关键度的FPGA软错误多频度刷新方法,包括如下步骤:S1,以未防护电路作为测试电路,对测试电路对应的配置帧进行故障注入实验,得到配置帧关键度分布;S2,根据配置帧关键度分布计算最优刷新比例,调整不同帧的刷新频率;S3,根据最优刷新比例生成刷新地址序列,利用刷新地址序列依次对配置帧进行扫描并检查正确性,得到防护后电路。同时提供了一种刷新器。随机故障注入测试的结果显示,本发明专利技术所提供的基基于关键度的FPGA软错误多频度刷新方法及刷新器,相比盲刷新技术,系统出错率平均下降了20%,实现了对电路软错误的有效保护。

Soft Error Multi-Frequency Refresh Method and Refresher Based on Critical Degree in FPGA

The invention provides a new method of soft error multi-frequency refresh based on critical degree for FPGA, which includes the following steps: S1, using unprotected circuit as test circuit, fault injection experiment on the configuration frame corresponding to test circuit, obtaining the configuration frame critical degree distribution; S2, calculating the optimal refresh ratio according to the configuration frame critical degree distribution, adjusting the refresh frequency of different frames; S3, according to the optimal configuration frame critical degree distribution, adjusting the refresh frequency of different frames; The refresh ratio generates the refresh address sequence. The configuration frame is scanned by the refresh address sequence in turn and the correctness is checked to get the protective circuit. A refresher is also provided. The results of random fault injection test show that the proposed method and refresher based on the critical degree of soft error multi-frequency of FPGA are 20% lower than that of blind refresh technology, which realizes the effective protection of circuit soft error.

【技术实现步骤摘要】
基于关键度的FPGA软错误多频度刷新方法及刷新器
本专利技术涉及FPGA
的一种FPGA软错误的防护及结构支持技术,具体地,涉及一种基于关键度的FPGA软错误多频度刷新方法及刷新器。
技术介绍
目前,缓解FPGA单粒子翻转(SEU,SingleEventUpset)软错误的防护技术主要分为三类,分别是基于制造工艺的技术,基于设计防护的技术和基于错误恢复技术。制造工艺方面代表技术有IBM的绝缘体上硅(SOI,SilicononInsulator)技术,这类技术对工艺进行改进,主要优势是从根本上降低软错误发生的可能,可以将单粒子翻转维持在较低水平。但这类技术往往过于昂贵,且并不能完全消除SEU软错误。设计防护方面的技术无需改变制造工艺,代表性的主要有三模冗余技术(TMR,TripleModularRedundancy),检错纠错编码(EDAC,ErrorDetectionandCorrection,)等。TMR技术将待防护的电路备份三份,并将输出用表决器选择,由此可以屏蔽某一个备份的错误,常常用来掩盖系统的错误输出和检测系统输出正确性。冗余技术会带来额外的面积开销和性能损失,如三模冗余会带来三倍以上的开销,而且不能避免错误的积累,常常配合错误恢复技术使用。EDAC技术则是用编码信息保护信息,检错能力由编码能力决定。错误恢复方面以刷新技术为主,其方法是通过将正确的配置帧信息写入FPGA,可以用较低的开销修复SEU,目前主流的FPGA也都有提供读写配置帧的接口。刷新技术可以避免错误的积累,如果能在错误传播到系统输出之前检测并修复,就可以保证系统的正常运行。在传统的刷新方法研究中,有一类方向是挑选FPGA的部分配置帧来读回和写入。有研究设计了一个盲刷新系统,周期性地写回所有配置帧,但这种方法无法检测到SEU是否发生。也有读回刷新系统,依次读回单个配置帧,检测到某一帧出现SEU时才将正确的帧写回。考虑到并不是所有配置帧都会被使用,有研究设计了选择性读回刷新系统,只读回电路配置信息使用的配置帧,降低了每个刷新周期读回帧的数量。另外一类方向则是施加约束压缩配置帧的数量。通过针对FPGA配置结构进行分析,提出了通过适当重排关键比特,重新资源分配,压缩需要刷新的配置帧数量以达到提高刷新效率和降低平均纠错时间的目的,但这类技术在配置帧利用率较高的情况下效果比较一般。综合现有的研究,传统刷新策略都着眼于减少每个刷新周期读写的帧数,忽略了配置帧受SEU影响的的关键程度的分布,实际上各帧的关键程度是不同的,因此对不同的帧以不同频率刷新的多频刷新策略是非常有必要的。
技术实现思路
现有技术中,FPGA缓解软错误的刷新技术都采取了对所有配置帧采用同一频率刷新,忽略了配置帧受软错误影响的的关键程度的分布,实际上各帧的关键程度是不同的,因此刷新技术存在针对性不足的问题,这不利于FPGA电路的软错误防护。本专利技术针对上述刷新技术错误检测缺乏针对性的问题,对电路全配置位进行了关键度测量,提出了一种基于关键度的FPGA软错误多频度刷新方法及刷新器,从而提高了刷新的针对性,降低了系统整体出错率,提高了FPGA电路的可靠性。本专利技术是通过以下技术方案实现的。根据本专利技术的一个方面,提供了一种基于关键度的FPGA软错误多频度刷新方法,包括如下步骤:S1,以未防护电路作为测试电路,对测试电路对应的配置帧进行故障注入实验,得到配置帧关键度分布;S2,根据配置帧关键度分布计算最优刷新比例,调整不同帧的刷新频率;S3,根据最优刷新比例生成刷新地址序列,利用刷新地址序列依次对配置帧进行扫描并检查正确性,得到防护后电路。优选地,所述S1中,使用平均显错时间MTTM衡量配置帧关键度的大小,其中平均显错时间MTTM通过对每个配置帧进行故障注入实验测得。优选地,所述故障注入实验,包括如下步骤:S11,复制一份无错误的标准电路作为基准,对测试电路对应的配置帧中某一个比特进行翻转,模拟软错误,然后对标准电路和测试电路施加相同激励,并比对标准电路和测试电路的电路输出;当测试电路和标准电路的电路输出不同时,表示测试电路系统输出出错,记录下对应的配置帧故障注入到系统输出出错的时间,即平均显错时间MTTM;S12,选择测试电路对应的配置帧中下一个比特,重复S11的操作,可知不同的比特拥有不同的平均显错时间MTTM,当配置帧中所有比特的故障注入实验都进行完毕后,即得到配置帧关键度分布。优选地,所述S2中,计算最优刷新比例的方法为:S21,在所有的配置帧都以同一频率刷新的情况下,根据配置帧关键度分布,计算出每一个配置帧比特对系统错误率的期望贡献,然后对所有配置帧比特的期望贡献求和算出系统错误率期望;S22,在某一时刻,将刷新的配置帧地址替换成另一个配置帧地址,被替换的帧在一个刷新周期内将被少刷新一次,因此对每一帧计算一个刷新周期内少刷新一次该帧后系统错误率增加量,从中选择系统错误率增加量最小的被替换帧;而替换的帧在一个刷新周期内将被多刷新一次,因此对每一帧计算一个刷新周期内多刷新一次该帧后系统错误率减少量,从中选择系统错误率减少量最大的替换帧;S23,经过一次计算后,将替换后的序列作为初始情况,重复S22中的计算,选出新的替换帧和被替换帧,直到替换帧中最大的系统错误率减少量比最小的系统错误率增加量小,系统已经无法继续优化获得错误率的减少,此时一个刷新周期内的各帧刷新次数即为最优刷新比例。优选地,所述S3中,根据最优刷新比例生成刷新地址序列的方法为:S31,初始化每个帧的两种参数:刷新距离和当前距离;对于所有的帧,帧号i从1到n,n是FPGA包含的总帧数,帧的关键度依次降低,若刷新器一个周期刷新序列总长度为L,帧i在一个周期内的刷新次数为Ni,则帧i的刷新距离初始化为L/Ni,表示刷新序列中相邻两次输出帧i之间的平均距离;帧i的当前距离均初始化为0;S32,寻找每个帧在刷新序列中第一次出现的位置,用一位标志位Si表示是否找到了帧i第一次出现的位置,未找到则将Si设为0,找到则将Si设为1;S33,对所有帧的当前距离进行比较,求出拥有最小当前距离的帧的帧地址,若有两帧或以上的帧当前距离均等于最小当前距离,则选择刷新距离小的帧,若这些帧中有两帧或以上的帧的刷新距离均等于最小刷新距离,则选择帧号小的帧,帧号即是S31中提到的i;S34,输出该帧地址到刷新器;S35,对于S34中输出的帧,将该帧的当前距离加上刷新距离;如果该帧第一次出现,还将S32中提到的对应标志位设为1,表示该帧已经找到了刷新序列中第一次出现的位置;S36,由于S34中输出了一个地址,因此各帧和下一次输出的距离都减少了1,将所有已经出现的帧的当前距离减1,未出现的帧的当前距离保持0不变,未出现的帧还没有找到它们第一次出现的位置,所以它们的当前距离不需要减1,直到某一帧第一次在S34中输出到刷新器,该帧的当前距离也开始在S36中减1;重复S33到S36,随时间依次输出的帧地址序列即为生成的刷新地址序列。其中,S35和S36实现了当前距离的更新。根据本专利技术的另一个方面,提供了一种刷新器,包括刷新主控模块、地址生成模块、注错/纠错模块以及ICAP操作模块;其中:所述刷新主控模块,控制注错/纠错模块、ICAP操作模块以及地址本文档来自技高网
...

【技术保护点】
1.一种基于关键度的FPGA软错误多频度刷新方法,其特征在于,包括如下步骤:S1,以未防护电路作为测试电路,对测试电路对应的配置帧进行故障注入实验,得到配置帧关键度分布;S2,根据配置帧关键度分布计算最优刷新比例,调整不同帧的刷新频率;S3,根据最优刷新比例生成刷新地址序列,利用刷新地址序列依次对配置帧进行扫描并检查正确性,得到防护后电路。

【技术特征摘要】
1.一种基于关键度的FPGA软错误多频度刷新方法,其特征在于,包括如下步骤:S1,以未防护电路作为测试电路,对测试电路对应的配置帧进行故障注入实验,得到配置帧关键度分布;S2,根据配置帧关键度分布计算最优刷新比例,调整不同帧的刷新频率;S3,根据最优刷新比例生成刷新地址序列,利用刷新地址序列依次对配置帧进行扫描并检查正确性,得到防护后电路。2.根据权利要求1所述的基于关键度的FPGA软错误多频度刷新方法,其特征在于,所述S1中,使用平均显错时间MTTM衡量配置帧关键度的大小,其中平均显错时间MTTM通过对每个配置帧进行故障注入实验测得。3.根据权利要求2所述的基于关键度的FPGA软错误多频度刷新方法,其特征在于,所述故障注入实验,包括如下步骤:S11,复制一份无错误的标准电路作为基准,对测试电路对应的配置帧中某一个比特进行翻转,模拟软错误,然后对标准电路和测试电路施加相同激励,并比对标准电路和测试电路的电路输出;当测试电路和标准电路的电路输出不同时,表示测试电路系统输出出错,记录下对应的配置帧故障注入到系统输出出错的时间,即平均显错时间MTTM;S12,选择测试电路对应的配置帧中下一个比特,重复S11的操作,可知不同的比特拥有不同的平均显错时间MTTM,当配置帧中所有比特的故障注入实验都进行完毕后,即得到配置帧关键度分布。4.根据权利要求2所述的基于关键度的FPGA软错误多频度刷新方法,其特征在于,所述S2中,计算最优刷新比例的方法为:S21,在所有的配置帧都以同一频率刷新的情况下,根据配置帧关键度分布,计算出每一个配置帧比特对系统错误率的期望贡献,然后对所有配置帧比特的期望贡献求和算出系统错误率期望;S22,在某一时刻,将刷新的配置帧地址替换成另一个配置帧地址,被替换的帧在一个刷新周期内将被少刷新一次,因此对每一帧计算一个刷新周期内少刷新一次该帧后系统错误率增加量,从中选择系统错误率增加量最小的被替换帧;而替换的帧在一个刷新周期内将被多刷新一次,因此对每一帧计算一个刷新周期内多刷新一次该帧后系统错误率减少量,从中选择系统错误率减少量最大的替换帧;S23,经过一次计算后,将替换后的序列作为初始情况,重复S22中的计算,选出新的替换帧和被替换帧,直到替换帧中最大的系统错误率减少量比最小的系统错误率增加量小,系统已经无法继续优化获得错误率的减少,此时一个刷新周期内的各帧刷新次数即为最优刷新比例。5.根据权利要求1所述的基于关键度的FPGA软错误多频度刷新方法,其特征在于,所述S3中,根据最优刷新比例生成刷新地址序列的方法为:S31,初始化每个帧的...

【专利技术属性】
技术研发人员:景乃锋斯涛游红俊郑思杰贺光辉蒋剑飞王琴
申请(专利权)人:上海交通大学上海航天电子通讯设备研究所
类型:发明
国别省市:上海,31

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

1