首页> 中国专利> 故障注入方法、故障注入器、存储介质及故障注入系统

故障注入方法、故障注入器、存储介质及故障注入系统

摘要

本公开提供一种故障注入方法、故障注入器、存储介质及故障注入系统,所述故障注入器与SRAM型FPGA通信连接,所述FPGA包括待注入电路,该方法包括:接收用户选择的故障注入模式,以及,所述用户输入的与所述故障注入模式对应的故障参数,根据所述故障注入模式和与所述故障注入模式对应的故障参数,生成故障配置文件,将所述故障配置文件注入所述FPGA的待注入电路中,实现故障注入,其中,所述故障注入模式为手动注入模式、逐位注入模式、累积注入模式中的任意一种。

著录项

  • 公开/公告号CN112596506A

    专利类型发明专利

  • 公开/公告日2021-04-02

    原文格式PDF

  • 申请/专利权人 中国科学院空天信息创新研究院;

    申请/专利号CN202011603468.1

  • 发明设计人 杨海钢;贾一平;余乐;张世伟;

    申请日2020-12-30

  • 分类号G05B23/02(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人李永叶

  • 地址 100190 北京市海淀区北四环西路19号

  • 入库时间 2023-06-19 10:27:30

说明书

技术领域

本申请涉及技术领域,尤其涉及一种故障注入方法、故障注入器、存储介质及故障注入系统。

背景技术

静态随机存取存储器(SRAM,Static Random-Access Memory)型现场可编程门阵列(FPGA,Field Programmable Gate Array)由于其可重复配置、灵活性高、资源丰富等优点,被广泛应用于航空领域,SRAM型FPFA的内部资源由SRAM型存储单元实现,而SRAM型的存储单元对于空间辐射非常敏感,空间重离子和质子在其中产生的单粒子翻转严重威胁了FPGA的正常运行。

单粒子翻转是指由于单粒子辐射引起电路的逻辑状态发生变化,即逻辑“1”变为逻辑“0”,或者,逻辑“0”变为逻辑“1”,可能导致电路的逻辑功能混乱。现有的故障注入技术可模拟的故障模式较为单一,仅关注单粒子效应下的单比特翻转故障模拟,对于同样常见的双比特翻转错误并没有进行实现。

发明内容

本申请的主要目的在于提供一种故障注入方法、故障注入器、存储介质及故障注入系统,可解决上述至少一个问题。

为实现上述目的,本申请实施例第一方面提供一种故障注入方法,应用于故障注入器,所述故障注入器与SRAM型FPGA通信连接,所述FPGA包括待注入电路,所述方法包括:

接收用户选择的故障注入模式,以及,所述用户输入的与所述故障注入模式对应的故障参数;

根据所述故障注入模式和与所述故障注入模式对应的故障参数,生成故障配置文件;

将所述故障配置文件注入所述FPGA的待注入电路中,实现故障注入;

其中,所述故障注入模式为手动注入模式、逐位注入模式、累积注入模式中的任意一种。

可选的,当所述故障注入模式为手动注入模式时,所述手动注入模式对应的故障参数包括故障帧、故障比特位、故障类型;

当所述故障注入模式为逐位注入模式时,所述逐位注入模式对应的故障参数包括故障帧范围、等待时间、故障类型,所述等待时间为两次故障注入之间的时间间隔;

当所述故障注入模式为累积注入模式时,所述累积注入模式对应的故障参数包括故障帧范围、LET值、故障注入速度、注量、故障类型。

可选的,所述手动注入模式、逐位注入模式、累积注入模式对应的故障参数中的故障类型均为单比特翻转、相邻列双比特翻转、相邻行双比特翻转、对角位双比特翻转中的任意一种。

可选的,所述FPGA还包括故障注入电路,所述方法还包括:

生成比特流文件,所述比特流文件包括所述故障注入电路的比特流数据和待注入电路的比特流数据,所述故障注入电路的比特流数据用于使所述故障注入电路对所述待注入电路实现故障注入,所述待注入电路的比特流数据用于在所述FPGA中划分出可重配置区,所述可重配置区用于布局待注入电路;

将所述比特流文件下载到所述FPGA中。

可选的,所述故障配置文件包括故障注入模式、故障类型、故障总数、等待时间、故障注入速度以及故障地址,所述故障地址包括故障所在帧地址和故障所在比特位地址。

可选的,所述方法还包括:

当所述故障注入模式为累积注入模式时,获取故障注入到所述待注入电路的次数,以及,每次故障注入到所述待注入电路后所述待注入电路出现功能中断时的等效注量;

将每次故障注入到所述待注入电路后所述待注入电路出现功能中断时的等效注量相加,得到所述次数下的等效总注量;

将所述次数除以所述等效总注量,得到所述待注入电路的功能中断截面。

本申请实施例第二方面提供一种故障注入器,与SRAM型FPGA通信连接,所述FPGA包括待注入电路,所述故障注入器包括:

接收模块,用于接收用户选择的故障注入模式,以及,所述用户输入的与所述故障注入模式对应的故障参数;

生成模块,用于根据所述故障注入模式和与所述故障注入模式对应的故障参数,生成故障配置文件;

注入模块,用于将所述故障配置文件注入FPGA的待注入电路中,实现故障注入;

其中,所述故障注入模式为手动注入模式、逐位注入模式、累积注入模式中的任意一种。

本申请实施例第三方面提供了一种故障注入器,包括:

存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本申请实施例第一方面提供的故障注入方法。

本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例第一方面提供的故障注入方法。

本申请实施例第无方面提供了一种故障注入系统,包括如第二或三方面所述的故障注入器和SRAM型FPGA,所述故障注入器与所述FPGA通信连接;

所述FPGA包括故障注入电路和待注入电路,所述故障注入电路和待注入电路相连,所述故障注入电路用于对所述待注入电路实现故障注入,所述待注入电路设置于可重配置区。

从上述本申请实施例可知,本申请提供的故障注入方法、故障注入器、存储介质及故障注入系统,故障注入模式包括手动注入模式、逐位注入模式、累积注入模式,可弥补现有内部故障注入技术可模拟的故障模式较为单一的不足。实现单粒子效应在不同辐照环境下更为严格完备的模拟以及FPGA在不同辐照环境下功能中断截面的评估计算。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一实施例提供的故障注入方法的流程示意图;

图2为本申请一实施例提供的故障注入器结构示意图;

图3为本申请一实施例提供的故障注入器的硬件结构示意图;

图4为本申请一实施例提供的故障注入系统的结构示意图。

具体实施方式

为使得本申请的申请目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参阅图1,图1为本申请一实施例提供的故障注入方法的流程示意图,该故障注入方法应用于故障注入器,该故障注入器与SRAM型FPGA通信连接,该FPGA包括待注入电路,该方法包括:

S101、接收用户选择的故障注入模式,以及,该用户输入的与该故障注入模式对应的故障参数。

S102、根据该故障注入模式和与该故障注入模式对应的故障参数,生成故障配置文件。

S103、将该故障配置文件注入该FPGA的待注入电路中,实现故障注入。

其中,该故障注入模式为手动注入模式、逐位注入模式、累积注入模式中的任意一种。

在本公开中,故障注入器提供三种故障注入模式,即手动注入模式、逐位注入模式、累积注入模式。手动注入模式为在用户指定的位置中生成一个指定类型的故障;逐位注入模式下在用户指定的帧地址范围内按照地址递增的顺序依次逐位生成指令类型的故障。在逐位注入模式下,每次故障生成的同时会修复上一次生成的故障;累积注入模式下在用户指定的帧地址范围内随机生成指定类型的故障,且每次注入故障的同时不会修复上一次的注入的故障。

在本公开中,更多的,待注入电路还可以外接LED指示灯,以便更加直观的指示注入故障后的待注入电路是否出现功能故障。

在本公开中,对FPGA的型号和待注入电路的具体类型均不做限制。

在本公开其中一个实施例中,当该故障注入模式为手动注入模式时,该手动注入模式对应的故障参数包括故障帧、故障比特位、故障类型;当该故障注入模式为逐位注入模式时,该逐位注入模式对应的故障参数包括故障帧范围、等待时间、故障类型,该等待时间为两次故障注入之间的时间间隔;当该故障注入模式为累积注入模式时,该累积注入模式对应的故障参数包括故障帧范围、LET值、故障注入速度、注量、故障类型。

在本公开其中一个实施例中,手动注入模式、逐位注入模式、累积注入模式对应的故障参数中的故障类型均为单比特翻转、相邻列双比特翻转、相邻行双比特翻转、对角位双比特翻转中的任意一种。也即,三种故障模式下均支持单比特翻转、相邻列双比特翻转、相邻行双比特翻转、对角位双比特翻转四种故障类型。

在本公开中,单比特翻转是指在用户指定的某一帧内的某个比特注入故障;相邻列双比特翻转是指在用户指定的比特位置和同一帧内的下一个比特位注入故障;相邻行双比特翻转是指在指定的比特位置和下一帧内的相同比特位注入故障;对角位双比特翻转是指在指定的比特位置和下一帧内的下一个比特位注入故障。

在本公开其中一个实施例中,该FPGA还包括故障注入电路,该故障注入方法还包括:

生成比特流文件,该比特流文件包括该故障注入电路的比特流数据和待注入电路的比特流数据,该故障注入电路的比特流数据用于使该故障注入电路对该待注入电路实现故障注入,该待注入电路的比特流数据用于在该FPGA中划分出可重配置区,该可重配置区用于布局待注入电路;将该比特流文件下载到该FPGA中。

其中,可理解的,可在不影响故障注入电路运行的情况下,在可重配置区刷新、更换待注入电路。

在本公开中,故障注入电路的注入故障的具体过程为:获取该故障配置文件中的故障所在帧地址和故障所在比特位地址;根据该故障所在帧地址,在该待注入电路中获取该故障所在帧;获取该待注入电路中与该故障所在比特位地址对应的值;将该待注入电路中与该故障所在比特位址对应的值与“1”做异或,实现该比特位的翻转,得到修改后的帧;将该修改后帧写入到该故障所在帧地址,实现故障注入。

在本公开中,将故障注入电路的NGC网表文件与待注入电路的NGC网表文件进行综合,并将待注入电路布局在划定的可重配置区内,最终生成的比特流文件。

在本公开中,示例性的,故障注入电路以MicroBlaze为处理器,通过控制ICAP对可重配置区进行配置帧的改写实现故障注入。

在本公开中,示例性的,可利用PlanAhead设计工具生成比特流文件,利用XilinxSDK将生成的比特流文件下载到FPGA中,对FPGA进行配置。可理解的,Xilinx SDK可根据故障配置文件控制故障注入电路的运行,Xilinx SDK还可对当前故障注入进程的状态信息进行显示。

在本公开其中一个实施例中,该故障配置文件包括故障注入模式、故障类型、故障总数、等待时间、故障注入速度以及故障地址,该故障地址包括故障所在帧地址和故障所在比特位地址。

在本公开中,示例性的,运行Xilinx SDK,可将故障配置文件所描述的故障注入到待注入电路中,

在本公开其中一个实施例中,该故障注入方法还包括:当该故障注入模式为累积注入模式时,获取故障注入到该待注入电路的次数,以及,每次故障注入到该待注入电路后该待注入电路出现功能中断时的等效注量;将每次故障注入到该待注入电路后该待注入电路出现功能中断时的等效注量相加,得到该次数下的等效总注量;将该次数除以该等效总注量,得到该待注入电路的功能中断截面。

在本公开中,故障注入器内还可设置计算器用于实现上述功能中断截面的计算。在上述功能中断截面的计算过程中,示例性的,假设在累积注入模式下进行了三次故障注入实验,每次故障注入出现功能中断时等效注量分别为n1、n2、n3,则功能中断次数为3,等效总注量为(n1+n2+n3),功能中断截面为3/(n1+n2+n3)。

更多的,该故障注入器还可实现结果评估功能,也即根据上述步骤计算的功能中断截面进行轨道预测。

请参阅图2,图2是本申请一实施例提供的故障注入器的结构示意图,该故障注入器与SRAM型FPGA通信连接,该FPGA包括待注入电路,该故障注入器包括:

接收模块201,用于接收用户选择的故障注入模式,以及,该用户输入的与该故障注入模式对应的故障参数;

生成模块202,用于根据该故障注入模式和与该故障注入模式对应的故障参数,生成故障配置文件;

注入模块203,用于将该故障配置文件注入FPGA的待注入电路中,实现故障注入;

其中,该故障注入模式为手动注入模式、逐位注入模式、累积注入模式中的任意一种。

在本公开其中一个实施例中,当该故障注入模式为手动注入模式时,该手动注入模式对应的故障参数包括故障帧、故障比特位、故障类型;

当该故障注入模式为逐位注入模式时,该逐位注入模式对应的故障参数包括故障帧范围、等待时间、故障类型,该等待时间为两次故障注入之间的时间间隔;

当该故障注入模式为累积注入模式时,该累积注入模式对应的故障参数包括故障帧范围、LET值、故障注入速度、注量、故障类型。

在本公开其中一个实施例中,该手动注入模式、逐位注入模式、累积注入模式对应的故障参数中的故障类型均为单比特翻转、相邻列双比特翻转、相邻行双比特翻转、对角位双比特翻转中的任意一种。

在本公开其中一个实施例中,该FPGA还包括故障注入电路,该故障注入装置还包括:

文件生成模块,用于生成比特流文件,该比特流文件包括该故障注入电路的比特流数据和待注入电路的比特流数据,该故障注入电路的比特流数据用于使该故障注入电路对该待注入电路实现故障注入,该待注入电路的比特流数据用于在该FPGA中划分出可重配置区,该可重配置区用于布局待注入电路;

下载模块,用于将该比特流文件下载到该FPGA中。

在本公开其中一个实施例中,该故障配置文件包括故障注入模式、故障类型、故障总数、等待时间、故障注入速度以及故障地址,该故障地址包括故障所在帧地址和故障所在比特位地址。

在本公开其中一个实施例中,该故障注入装置还包括:

获取模块,用于当该故障注入模式为累积注入模式时,获取故障注入到该待注入电路的次数,以及,每次故障注入到该待注入电路后该待注入电路出现功能中断时的等效注量;

加法模块,用于将每次故障注入到该待注入电路后该待注入电路出现功能中断时的等效注量相加,得到该次数下的等效总注量;

除法模块,用于将该次数除以该等效总注量,得到该待注入电路的功能中断截面。

请参见图3,图3示出了一种故障注入器的硬件结构图。

本实施例中所描述的电子设备,包括:

存储器31、处理器32及存储在存储器31上并可在处理器上运行的计算机程序,处理器执行该程序时实现前述图1所示实施例中描述的多轴运动系统的同步控制方法。

进一步地,该电子设备还包括:

至少一个输入设备33;至少一个输出设备34。

上述存储器31、处理器32输入设备33和输出设备34通过总线35连接。

其中,输入设备33具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备34具体可为显示屏。

存储器31可以是高速随机存取记忆体(RAM,Random Access Memory)存储器,也可为非不稳定的存储器(non-volatile memory),例如磁盘存储器。存储器31用于存储一组可执行程序代码,处理器32与存储器31耦合。

进一步地,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的电子设备中,该计算机可读存储介质可以是前述图3所示实施例中的故障注入器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述所示实施例中描述的故障注入方法。进一步地,该计算机可存储介质还可以是U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

请参阅图4,图4是本申请一实施例提供的故障注入系统的结构示意图,该故障注入系统包括如上任一所示的故障注入器和SRAM型FPGA,故障注入器100与FPGA200通信连接;该FPGA200包括故障注入电路210和待注入电路220,该故障注入电路210和待注入电路220相连,该故障注入电路210用于对该待注入电路210实现故障注入,该待注入电路220设置于可重配置区。

需要说明的是,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。

需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。

以上为对本发明所提供的一种故障注入方法、故障注入器、存储介质及故障注入系统的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号