基于单粒子效应仿真的多点故障注入方法技术

技术编号:38711328 阅读:9 留言:0更新日期:2023-09-08 14:54
本发明专利技术提供了一种基于单粒子效应仿真的多点故障注入方法,用于解决传统的单点故障注入方法无法在有效时间内获得足够仿真数据,以及多点故障注入方法需要保证每一组的故障数量均相同的技术问题。本发明专利技术提供的一种基于单粒子效应仿真的多点故障注入方法,在基于故障概率选择故障注入数量的同时,优化了分组方法,通过特定的分组查找方式确定单个故障是否导致错误,解决了不能判断单个故障是否导致错误的问题,在保证准确率的前提下,减小了仿真次数;同时优化的分组方法考虑了故障注入数量无法被均分的情况,在选择故障注入数量时,不需要保证每组的故障数量均相同,使用简单方便,适用性强,可以广泛应用在各种规模的宇航处理器中。处理器中。处理器中。

【技术实现步骤摘要】
基于单粒子效应仿真的多点故障注入方法


[0001]本专利技术涉及单粒子效应,尤其涉及一种基于单粒子效应仿真的多点故障注入方法。

技术介绍

[0002]随着集成电路技术的不断发展,单粒子效应越来越成为影响宇航工程成功与否的关键因素。目前主流的抗单粒子性能分析方法包括卫星搭载实验、地面加速器实验和计算机仿真模拟。卫星搭载实验和地面加速器实验虽然可以体现宇航处理器对宇航环境的最真实反映,但存在时间周期长、成本高等问题。计算机仿真技术由于分析周期短、成本低的优点,可以作为前两种实验的有效补充手段。
[0003]基于计算机仿真技术的抗单粒子性能分析方法按照抽象层次划分主要包括器件级仿真方法、电路级仿真方法和系统级仿真方法。但目前的单粒子效应仿真分析存在速度和精度的取舍问题,器件级和电路级单粒子效应仿真方法虽然仿真精度高,但是难以满足大规模集成电路仿真速度的需求,系统级仿真方法虽然仿真速度快,但是无法反映底层器件的物理机制,同时仿真精度下降。
[0004]中国专利CN112329374B提出了一种针对大规模电路的单粒子效应快速仿真方法,其为一种混合仿真分析方法,即故障注入模块采用电路级仿真方法,非故障注入模块采用系统级仿真方法,该方法兼顾了电路级仿真方法的准确性和系统级仿真方法的速度,可以同时满足速度和精度要求。但其在应对大规模集成电路时,故障注入集合的规模过于庞大,为了满足统计学的要求,至少需要验证上万个故障,而传统的单粒子效应仿真方法在一次仿真中仅注入一个故障,需要进行上万次仿真,时间成本高。
[0005]随着集成电路设计技术的进步,单个故障导致电路错误的概率已经降低到很低的值,绝大部分故障不会产生错误。因此,传统的单点故障注入方法效率低下。在一次仿真中添加多个故障的方法可以减小需要的仿真次数,降低时间成本。但单粒子效应造成的错误会继续向后传播,无法确定后续注入的故障是否导致错误。因此,这种多点故障注入方法也无法反映电路的抗单粒子性能。目前,如何删减故障注入集合、减少仿真次数成为了主流研究方向。
[0006]2018年,Dietrich等人提出大部分单粒子效应导致的错误会被逻辑门掩蔽掉,并基于此提出了一种基于逻辑掩蔽效应删减故障注入集合的方法。文章以寄存器为出发点,记录信号通过的逻辑门以及逻辑门输入输出信号的波形,通过波形判断通过的逻辑门在某些时刻是否会一定掩蔽单粒子效应,从而删减了故障注入集合。但随着集成电路规模的不断增大,此方法需要保存大量的数据去判断逻辑门是否会掩蔽单粒子效应,其存储成本越来越高。
[0007]2021年Dun

An Yang等人通过判断寄存器读写时间的方法删减了故障注入集合,文章认为寄存器在读取之后写入数据之前的这一段时间内即使单粒子效应造成错误,也没有其他寄存器读取这个错误的值,因此在这一段时间内单粒子效应不会对电路结果产生影
响。文章通过查找寄存器读写的时间点,查找单粒子效应不会导致错误的时间段,删减了故障注入集合。但此方法只能应用在存在读写端口的电路,不能应用在不存在读写端口电路。
[0008]2016年Mojtaba Ebrahimi等人采用了一种多点故障注入方法,减小了仿真次数。文章的多点故障注入数量根据错误概率进行选择,并通过不断分组查找的方式进行查找,直至找出所有导致仿真错误的故障。但此方法进行分组查找时,需要保证每一组的故障数量均相同。

技术实现思路

[0009]本专利技术的目的在于解决传统的单点故障注入方法无法在有效时间内获得足够仿真数据,以及多点故障注入方法需要保证每一组的故障数量均相同的技术问题,从而提供一种基于单粒子效应仿真的多点故障注入方法。
[0010]为了实现上述目的,本专利技术的技术解决方案如下:
[0011]一种基于单粒子效应仿真的多点故障注入方法,其特殊之处在于,包括以下步骤:
[0012]1】确定需要验证的总故障注入数量;
[0013]2】给第一次多点故障注入流程中的故障注入数量赋初值M,并确定其对应的分组方法,M为大于等于2小于等于10的正整数;
[0014]3】根据故障注入数量将故障注入到仿真系统中进行仿真,再根据仿真结果判断是否对当前注入故障进行分组;若仿真没有出错,则不分组,执行步骤4】;若仿真出错,且故障注入数量大于1,则通过相应的分组方法对当前注入故障进行分组以获得多个故障组,对获得的多个故障组中的每个故障组进行一次仿真;再根据每个故障组的仿真结果判断是否继续对该故障组进行分组,直至各故障组中包含的注入故障数量均为1,则完成该次多点故障注入流程,并获得错误概率;
[0015]4】判断已经验证的故障注入数量是否满足要求;若满足,则结束整个单粒子效应仿真流程;若不满足,则根据当前错误概率确定下一次多点故障注入流程中的故障注入数量和分组方法,返回步骤3】,执行下一次多点故障注入流程,获得迭代的错误概率,直至已经验证的故障注入数量满足要求,完成一种基于单粒子效应仿真的多点故障注入。
[0016]进一步地,所述仿真采用混合仿真,即故障注入模块采用电路级仿真,非故障注入模块采用系统级仿真。
[0017]进一步地,步骤4】中,根据当前错误概率确定下一次多点故障注入流程中的故障注入数量和分组方法具体为:
[0018]若错误概率为0,则下一次多点故障注入流程中的故障注入数量为上一次多点故障注入流程中的故障注入数量的2倍,分组方法采用三分法或四分法;
[0019]若错误概率不为0,则根据当前错误概率确定故障注入数量的上限值,再结合其下限值获得上限值与下限值范围内的多组故障注入数量;对多组故障注入数量分别通过二分法、三分法、四分法以及五分法进行分组,获得多组故障注入数量分别在四种分组方法下的期望仿真次数,进而获得相应的加速比,并将各加速比中的最大值对应的故障注入数量和分组方法作为下一次多点故障注入流程中的故障注入数量和分组方法。
[0020]进一步地,步骤4】中,所述故障注入数量的上限值max通过下式确定:
[0021]max=1/p
[0022]其中,p表示错误概率;
[0023]所述故障注入数量的下限值为2或3。
[0024]进一步地,步骤2】中,第一次多点故障注入流程中对应的分组方法为三分法或四分法。
[0025]本专利技术还提供了另外一种基于单粒子效应仿真的多点故障注入方法,其特殊之处在于,包括以下步骤:
[0026]1】确定需要验证的总故障注入数量;
[0027]2】给第一次多点故障注入流程中的故障注入数量赋初值M,并确定其对应的分组方法,M为大于等于2小于等于10的正整数;
[0028]3】根据故障注入数量将故障注入到仿真系统中进行仿真,并在仿真过程中加入多个时间检查点,其中添加检查点的时刻根据处理器执行一个完整从读到写的流程需要的时间确定;若仿真没有出错,则执行步骤4】;若仿真出错,且故障注入数量大于1,则找出最早出错时对应的时间检查点,并将其记为检查点1;同时将故障本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于单粒子效应仿真的多点故障注入方法,其特征在于,包括以下步骤:1】确定需要验证的总故障注入数量;2】给第一次多点故障注入流程中的故障注入数量赋初值M,并确定其对应的分组方法,M为大于等于2小于等于10的正整数;3】根据故障注入数量将故障注入到仿真系统中进行仿真,再根据仿真结果判断是否对当前注入故障进行分组;若仿真没有出错,则不分组,执行步骤4】;若仿真出错,且故障注入数量大于1,则通过相应的分组方法对当前注入故障进行分组以获得多个故障组,对获得的多个故障组中的每个故障组进行一次仿真;再根据每个故障组的仿真结果判断是否继续对该故障组进行分组,直至各故障组中包含的注入故障数量均为1,则完成该次多点故障注入流程,并获得错误概率;4】判断已经验证的故障注入数量是否满足要求;若满足,则结束整个单粒子效应仿真流程;若不满足,则根据当前错误概率确定下一次多点故障注入流程中的故障注入数量和分组方法,返回步骤3】,执行下一次多点故障注入流程,获得迭代的错误概率,直至已经验证的故障注入数量满足要求,完成一种基于单粒子效应仿真的多点故障注入。2.根据权利要求1所述的一种基于单粒子效应仿真的多点故障注入方法,其特征在于:所述仿真采用混合仿真,即故障注入模块采用电路级仿真,非故障注入模块采用系统级仿真。3.根据权利要求2所述的一种基于单粒子效应仿真的多点故障注入方法,其特征在于:步骤4】中,根据当前错误概率确定下一次多点故障注入流程中的故障注入数量和分组方法具体为:若错误概率为0,则下一次多点故障注入流程中的故障注入数量为上一次多点故障注入流程中的故障注入数量的2倍,分组方法采用三分法或四分法;若错误概率不为0,则根据当前错误概率确定故障注入数量的上限值,再结合其下限值获得上限值与下限值范围内的多组故障注入数量;对多组故障注入数量分别通过二分法、三分法、四分法以及五分法进行分组,获得多组故障注入数量分别在四种分组方法下的期望仿真次数,进而获得相应的加速比,并将各加速比中的最大值对应的故障注入数量和分组方法作为下一次多点故障注入流程中的故障注入数量和分组方法。4.根据权利要求1

3任一所述的一种基于单粒子效应仿真的多点故障注入方法,其特征在于:步骤4】中,所述故障注入数量的上限值max通过下式确定:max=1/p其中,p表示错误概率;所述故障注入数量的下限值为2或3。5.根据权利要求4所述的一种基于单粒子效应仿真的多点故障注入方法,其特征在于:步骤2】中,第一次多点故障注入流程中对应的分组方法为三分法或四分法。6.一种基于单粒子效应仿真的多点故障注入方法,其特征在于,包括以下步骤:1】确定需要验证的总故障注入数量;2】给第一次多点故障注入流程中的故障注入数量赋初值M,并确定其对应的分组方法,M为大于等于2小于等于10的正整数;
3】根据故障注入数量将故障注入到仿真系统中进行仿真,并在仿真过程中加入多个时间检查点,其中添加检查点的时刻根据处理器执行一个完整从读到写的流程需要的时间确定;若仿真没有出错,则执行步骤4】;若仿真出错,且故障注入数量大于1,则找出最早出错时对应的时间检查点,并将其记为检查点1;同时将故障注入时间在检查点1之前和之后的故障分别记为第一故障单元和第二故障...

【专利技术属性】
技术研发人员:刘毅张晓睿徐长卿杨银堂
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

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

1