CN114910780A - 一种故障容错性测试方法、装置、电子设备及存储介质 - Google Patents
一种故障容错性测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114910780A CN114910780A CN202210329625.7A CN202210329625A CN114910780A CN 114910780 A CN114910780 A CN 114910780A CN 202210329625 A CN202210329625 A CN 202210329625A CN 114910780 A CN114910780 A CN 114910780A
- Authority
- CN
- China
- Prior art keywords
- data
- test
- output data
- output
- tested
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318516—Test of programmable logic devices [PLDs]
- G01R31/318519—Test of field programmable gate arrays [FPGA]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/001—Measuring interference from external sources to, or emission from, the device under test, e.g. EMC, EMI, EMP or ESD testing
- G01R31/002—Measuring interference from external sources to, or emission from, the device under test, e.g. EMC, EMI, EMP or ESD testing where the device under test is an electronic circuit
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明涉及一种故障容错性测试方法、装置、电子设备及存储介质,该方法包括:获取待测试验数据,将待测试验数据复制得到待测对照组数据;将待测试验数据和待测对照组数据分别输入至第一FPGA状态机和第二FGPA状态机中进行翻转和直接输出,得到第一试验输出数据和对照组输出数据并进行对比,根据比较结果确定第一FPGA状态机的第一输出状态;当第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新进行试验得到第二试验输出数据并与对照组输出数据进行对比并根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况。本发明解决了现有技术中对状态机进行单粒子碰撞容错性实验成本高且受实验环境影响导致实验机会少的技术问题。
Description
技术领域
本发明涉及电子设备可靠性技术领域,尤其涉及一种故障容错性测试方法、装置、电子设备及存储介质。
背景技术
当FPGA设备在太空中运行时,会面临各类带电粒子的冲击。微观上,高能带电粒子通过半导体材料,沿其路径失去能量的同时释放了电子-空穴对,容易出现电离反应,破坏半导体内部稳定的电场结构,使得微电子器件中的敏感区域电位大幅度变化。宏观上,FPGA寄存器由逻辑电路构成,半导体内部稳定的电场被破坏,从而产生的局部电位变化导致寄存器的值异常改变。当状态机寄存器发生单粒子翻转故障时,状态机会跳转到一个与判定逻辑不符的错误状态,并执行该状态的指令,从而导致系统信号紊乱,使数据信号无法正常流通,严重影响太空中电子器件的运行及安全。因此在设计运行于太空中的FPGA硬件电路时,需要对状态机寄存器做特别的容错性设计,保证电子器件能够在带电粒子的冲击下正常运行。
在设计FPGA硬件电路时,普遍使用状态机控制模块信号的变化。状态机在预先设定的状态中跳转能够使复杂的逻辑分解为有限的简单逻辑,其构成了一个完整的闭环系统。而表示状态机跳转状态的寄存器称作状态机寄存器,当状态机中判定条件符合跳转逻辑时,状态机寄存器就会发生改变,于是状态机跳转到状态机寄存器对应的新状态并执行该状态下的指令,同时等待下一次逻辑判定。
现有技术中,在进行相应的容错性设计时,各类评估手段中,空间环境实测的方式获得的数据最为准确,但航天器的发射成本昂贵,且调试机会少。而另一种方法,如在地面使用带电粒子束照射FPGA特定区域进行辐照实验,需要在特定的实验室完成,由于设计需要多次调整和修改,成本也较高,且不能直接对单个状态机寄存器进行翻转,会出现一些干扰项,增加分析难度,甚至可能损坏开发板。因此,有必要提出设计一种新的测试FPGA状态机翻转故障容错性方法,以克服现有评估手段中受环境影响容错试验调试机会少、成本高的问题。
发明内容
有鉴于此,有必要提供一种故障容错性测试方法、装置、电子设备及存储介质,用以克服现有技术中单粒子翻转的容错性试验评估不能满足需求或成本高的问题。
为达到上述技术目的,本发明采取了以下技术方案:
第一方面,本发明提供了一种故障容错性测试方法,包括如下步骤:
获取待测试验数据,将所述待测试验数据复制得到待测对照组数据;
将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,并将所述待测对照组数据输入至第二FPGA状态机中进行直接输出得到对照组输出数据;
将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态;
当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第二试验输出数据;
将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况。
在其中一些实施例中,所述将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,包括:
确定翻转配置信息;
根据翻转配置信息将待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据。
在其中一些实施例中,所述确定翻转配置信息,包括:
确定翻转配置信息为寄存器翻转起始时间、寄存器翻转持续时间以及寄存器位翻转信息。
在其中一些实施例中,所述根据翻转配置信息将待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,包括:
将所述待测试验数据转换为二进制待测试验数据;
将所述寄存器位翻转信息数据转换为二进制寄存器位翻转信息数据,其中所述二进制寄存器位翻转信息数据与所述二进制待测试验数据的位宽一一对应;
根据二进制寄存器翻转信息数据将二进制待测试验数据进行取反得到第一试验输出数据。
在其中一些实施例中,所述将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态,包括:
当所述第一比较结果为所述第一试验输出数据和所述对照组输出数据完全相同时,确定所述第一输出状态为正常状态;
当所述第一试验输出数据和所述对照组输出数据的数据及数据量均不相同,确定所述第一输出状态为数据输出异常;
当所述第一比较结果为所述第一试验输出数据无数据输出,确定所述第一输出状态为状态机翻转异常状态。
在其中一些实施例中,所述当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第二试验输出数据,包括:
根据所述第一输出状态,将所述第一FPGA状态机的所述翻转配置信息重置归零;
根据重置后的所述翻转配置信息,将所述待测试验数据输入至第一FPGA状态机中输出得到第二试验输出数据。
在其中一些实施例中,所述将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况,包括:
当所述第二比较结果为所述第二试验输出数据和所述对照组输出数据完全相同时,确定所述第一FPGA状态机受翻转影响后已恢复正常状态;
当所述第二比较结果为所述第二试验输出数据与所述对照组输出数据不一致,确定所述第一FPGA状态机受翻转影响后不能恢复正常状态。
复制模块,用于获取待测试验数据,将所述待测试验数据复制得到待测对照组数据;
第一数据输出模块,用于将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,并将所述待测对照组数据输入至第二FPGA状态机中进行直接输出得到对照组输出数据;
第一输出状态确定模块,用于将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态;
第二数据输出模块,用于当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行输出得到第二试验输出数据;
第二输出状态确定模块,用于将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况。
第三方面,本发明还提供一种电子设备,包括:处理器和存储器;
所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述处理器执行所述计算机可读程序时实现如上所述的故障容错性测试方法中的步骤。
第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的故障容错性测试方法中的步骤。
与现有技术相比,本发明的有益效果包括:首先获取待测试验数据,将所述待测试验数据复制得到待测对照组数据;然后将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,并将所述待测对照组数据输入至第二FPGA状态机中进行直接输出得到对照组输出数据;之后将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态;当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第二试验输出数据;之后将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况;通过采用采用软硬件结合的方式,模拟FPGA中状态机寄存器出现单粒子翻转故障,测试状态机现有容错技术的有效性,试验成本低且不受测试环境的影响。
附图说明
图1为本发明提供的故障容错性测试方法一实施例的流程图;
图2为本发明提供的故障容错性测试方法中,步骤S102一实施例的流程图;
图3为本发明提供的故障容错性测试方法中,步骤S202一实施例的流程图;
图4为本发明提供的故障容错性测试方法中,步骤S103一实施例的流程图;
图5为本发明提供的故障容错性测试方法中,步骤S104一实施例的流程图;
图6为本发明提供的故障容错性测试方法中,步骤S105一实施例的流程图;
图7为本发明提供的故障容错性测试装置一实施例的示意图;
图8为本发明提供的电子设备一实施例的运行环境示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明所涉及的故障容错性测试方法、装置、设备或计算机可读存储介质可用于FPGA状态机中。本发明所涉及的方法、装置、设备或者计算机可读存储介质既可以与上述系统集成在一起,也可以是相对独立的。
本实施例中提供了一种故障容错性测试方法,可由FPGA状态机设备执行,具体可由该设备的一个或者多个处理器执行。图1是本发明实施例提供的故障容错性测试方法的流程图,请参阅图1,故障容错性测试方法包括如下步骤:
S101、获取待测试验数据,将所述待测试验数据复制得到待测对照组数据;
S102、将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,并将所述待测对照组数据输入至第二FPGA状态机中进行直接输出得到对照组输出数据;
S103、将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态;
S104、当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行输出得到第二试验输出数据;
S105、将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况。
需要说明的是,在步骤S101中,待测试验数据由上位机发送,其中,上位机是指可以直接发出操控命令的计算机,可以是PC/host computer/master computer/uppercomputer中的任意一种,屏幕上可显示各种信号变化。
具体的,将待测试验数据复制形成待测对照组数据,复制的方法和形式不做限定,只要能够保证待测试验数据与待测对照组数据完全一致即可。
需要说明的是,在步骤S102中,第一试验输出数据和对照组输出数据经由不同的模块输出,对照组输出数据为状态机正常状态下的输出数据。
需要说明的是,在步骤S103中,第一比较结果由数据对比模块将第一试验输出数据和对照组输出数据逐一进行对比获得。
当第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,在步骤S104中,说明上一次对FPGA状态机进行的翻转试验成功使得FPGA状态机发生翻转故障,需要对FPGA状态机的容错情况进行分析;具体的,将第一待测试验数据再次输入至产生故障的第一FPGA状态机中,此次不再对FPGA状态机进行翻转,,即将翻转配置信息置零,通过第二试验输出数据判断FPGA状态机的容错情况。
在本实施例中,通过采用硬件和软件结合的方式,模拟空间中单粒子翻转对FPGA状态机产生撞击,使得状态机发生翻转故障,对状态机的容错情况进行分析,具体的,第一待测试验数据通过增加了翻转控制模块的状态机后,输出的第一试验输出数据会受到翻转控制模块的影响,这种影响可能是多种多样的;对照组待测数据经过原始状态机输出后得到对照组输出数据,其中第一试验输出数据与对照组输出数据之间存在差异,这种差异即体现了模拟的单粒子翻转故障。
在一些实施例中,请参阅图2,所述将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,包括:
S201、确定翻转配置信息;
S202、根据翻转配置信息将待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据。
需要说明的是,在本实施例中,利用硬件记录翻转的信息,状态机在工作时,依据配置好的翻转配置信息进行翻转输出。
在一些实施例中,所述确定翻转配置信息,包括:
确定翻转配置信息为寄存器翻转起始时间、寄存器翻转持续时间以及寄存器位翻转信息。
需要说明的是,寄存器翻转起始时间表示翻转从哪个时间点开始,即表示单粒子冲击状态机寄存器的起始时间,对相应状态机寄存器进行翻转操作,计时器由计数器表示,每经过一个时钟周期,计数器的数目加一,用来表示时间,当待测数据进入测试系统时,该计时器开始计时,直至数据处理完毕;寄存器翻转持续时间为控制翻转持续的时间,即模拟粒子冲击时长,翻转持续时间也是由计数器表示的;寄存器位翻转信息与状态机寄存器的位宽对应,即模拟受单粒子冲击影响的具体电位。
其中,测试系统处理完待测数据后,计数器清零。
需要说明的是,模拟单粒子翻转的过程中,由于状态机寄存器的值发生改变,状态机就会跳转到值所对应的状态,执行该状态下的语句,从而可能导致测试系统数据处理紊乱甚至失败,即测试系统受到单粒子的冲击产生了故障。
在一些实施例中,请参阅图3,所述根据翻转配置信息将待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,包括:
S301、将所述待测试验数据转换为二进制待测试验数据;
S302、将所述寄存器位翻转信息数据转换为二进制寄存器位翻转信息数据,其中所述二进制寄存器位翻转信息数据与所述二进制待测试验数据的位宽一一对应;
S303、根据二进制寄存器翻转信息数据将二进制待测试验数据进行取反得到第一试验输出数据。
在本实施例中,需要说明的是,单粒子翻转是宇宙中单个高能粒子射入半导体器件灵敏区,使器件逻辑状态翻转的现象。对于状态机寄存器,现象一般为寄存器的某一位进行了取反,使状态机跳转到错误的状态,导致下位机数据传输或处理失败,输出错误数据。在测试系统中增加的翻转控制模块就是模拟单粒子翻转故障,将状态机寄存器中的指定位在配置的时间内进行取反操作。
具体的,于本实施例中,其中一个状态机寄存器的位宽为6bit,因此寄存器位翻转信息的有效位宽也为6bit,并且按照6bit对寄存器的指定位进行取反操作;本发明的一个其它实施例中,寄存器位翻转信息的值为001000bit时,对寄存器从左至右的第三位进行取反。
在一些实施例中,请参阅图4,所述将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态,包括:
S401、当所述第一比较结果为所述第一试验输出数据和所述对照组输出数据完全相同时,确定所述第一输出状态为正常状态;
S402、当所述第一试验输出数据和所述对照组输出数据的数据及数据量均不相同,确定所述第一输出状态为数据输出异常;
S403、当所述第一比较结果为所述第一试验输出数据无数据输出,确定所述第一输出状态为状态机翻转异常状态。
需要说明的是,在步骤S401中,正常状态下,表明此次设置的翻转配置信息对相应的状态机寄存器没有影响,串口向上位机反馈表示该状况的字节数据,如8’h59,同时上位机重新设置新的翻转配置信息进行下一步测试。
具体的,于本实施例中,设置新的翻转配置信息分别为:寄存器翻转起始时间32’h0000020a、寄存器翻转持续时间16’h00b1以及寄存器位翻转信息32’h00000004;具体的,第一个计数器计数到522即32’h0000020a时,对状态机寄存器开始翻转,并且第二个表示翻转持续时间的计数器开始计数;若此时状态机寄存器的值为5’b00100,下一个时钟,其被翻转为5’b00000,并执行该状态机寄存器对应状态下的语句;在第二个计数器计数到177即16’h00b1之前,每个时钟都会对寄存器从右至左的第三位进行翻转,并执行对应的语句。测试工程输出的数据在数据对比模块进行对比。
需要说明的是,在步骤S402中,此状态下,表明此次设置的翻转配置信息使输出传输出现错误,通过串口向上位机反馈表示该状况的字节数据,如8'hae。
需要说明的是,串口数据只是用来告知上位机状况,可以按需求更改,不做限制。
需要说明的是,在步骤S403中,此结果表明此次设置的翻转配置信息使数据出现错误,即此次翻转配置信息成功模拟了系统受到单粒子冲击产生了故障,串口向上位机反馈表示该状况的字节数据,如8’h5e,同时上位机重新设置新的翻转配置信息进行下一步测试。
需要说明的是,在步骤S402和步骤S403中,第一输出状态具有两种不同的表现形式,且均为状态机的翻转故障。
在一些实施例中,请参阅图5,所述当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第二试验输出数据,包括:
S501、根据所述第一输出状态,将所述第一FPGA状态机的所述翻转配置信息重置归零;
S502、根据重置后的所述翻转配置信息,将所述待测试验数据输入至第一FPGA状态机中输出得到第二试验输出数据。
需要说明的是,当第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,表明当前次试验使得状态机发生了翻转故障,为了进一步分析状态机对当前故障的容错能力,则将配置信息设置为0,即设置不引起翻转的信息,随后将待测试验数据输入至发生故障的状态机中正常输出,获取第二试验输出数据,通过第二输出数据分析状态机对故障的容错情况。
在一些实施例中,请参阅图6,所述将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况,包括:
S601、当所述第二比较结果为所述第二试验输出数据和所述对照组输出数据完全相同时,确定所述第一FPGA状态机受翻转影响后已恢复正常状态;
S602、当所述第二比较结果为所述第二试验输出数据与所述对照组输出数据不一致出,确定所述第一FPGA状态机受翻转影响后不能恢复正常状态。
在已知状态机故障的前提下,对状态机进行下一次的试验,会得到步骤S601和S602中的两种的结果,其中,当结果为步骤S602中第二实验输出数据与所述对照组输出数据不一致时,可再次对状态机进行试验,此时,依然将翻转配置信息设置为0,即使得状态机不进行翻转,若再次试验后的输出数据与对照组输出数据一致,说明状态机在较长一段时间后能够恢复正常,有一定的抗翻转能力,具有较好容错性,则设置新的翻转配置信息,对状态机进行新的测试以验证其对其它故障的容错情况;若再次试验后的输出数据与对照组输出数据不一致,说明状态机的故障在经历一段时间后仍然不能恢复正常,可以继续进行多次试验进行检测,直至状态机恢复正常或者试验次数达到设定的最大次数,其中试验次数一般最多设置为5次,可以理解的是,试验次数不作限定,可根据需求设定多次。
基于上述故障容错性测试方法,本发明实施例还相应的提供一种故障容错性测试装置700,如图7所示,该装置包括:复制模块710、第一数据输出模块720、第一输出状态确定模块730、第二数据输出模块740、第二输出状态确定模块750。
复制模块710,用于获取待测试验数据,将所述待测试验数据复制得到待测对照组数据;
第一数据输出模块720,用于将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,并将所述待测对照组数据输入至第二FPGA状态机中进行直接输出得到对照组输出数据;
第一输出状态确定模块730,用于将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态;
第二数据输出模块740,用于当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行输出得到第二试验输出数据;
第二输出状态确定模块750,用于将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况。
在本实施例中,首先获取待测试验数据,将所述待测试验数据复制得到待测对照组数据;然后将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,并将所述待测对照组数据输入至第二FPGA状态机中进行直接输出得到对照组输出数据;之后将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态;当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第二试验输出数据;之后将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况;通过采用采用软硬件结合的方式,模拟FPGA中状态机寄存器出现单粒子翻转故障,测试状态机现有容错技术的有效性,试验成本低且不受测试环境的影响。
基于上述故障容错性测试方法,本发明实施例还相应的提供一种故障容错性测试电子设备,该电子设备可以是移动终端、桌上型计算机、笔记本、掌上电脑及服务器等计算设备。如图8所示,该电子设备包括处理器801、存储器802及显示器803。图8仅示出了电子设备的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
存储器802在一些实施例中可以是该电子设备的内部存储单元,例如电子设备的硬盘或内存。存储器802在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器802还可以既包括电子设备的内部存储单元也包括外部存储设备。存储器802用于存储安装于电子设备的应用软件及各类数据,例如安装电子设备的程序代码等。存储器802还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器802上存储有故障容错性测试程序804,该故障容错性测试程序1000可被处理器801所执行,从而实现本发明各实施例的测试。
处理器801在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器802中存储的程序代码或处理数据,例如执行故障容错性测试方法等。
显示器803在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器803用于显示在故障容错性测试设备的信息以及用于显示可视化的用户界面。电子设备的部件801-803通过系统总线相互通信。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如上所述的测试状态机故障容错性方法。
一般来说,用于实现本发明方法的计算机指令的可以采用一个或多个计算机可读的存储介质的任意组合来承载。非临时性计算机可读存储介质可以包括任何计算机可读介质,除了临时性地传播中的信号本身。
计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言,特别是可以使用适于神经网络计算的Python语言和基于TensorFlow、PyTorch等平台框架。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明提供的故障容错性测试方法、装置、电子设备及存储介质,首先获取待测试验数据,将所述待测试验数据复制得到待测对照组数据;然后将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,并将所述待测对照组数据输入至第二FPGA状态机中进行直接输出得到对照组输出数据;之后将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态;当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第二试验输出数据;之后将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况;通过采用采用软硬件结合的方式,模拟FPGA中状态机寄存器出现单粒子翻转故障,测试状态机现有容错技术的有效性,试验成本低且不受测试环境的影响。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
以上所述本发明的具体实施方式,并不构成对本发明保护范围的限定。任何根据本发明的技术构思所做出的各种其他相应的改变与变形,均应包含在本发明权利要求的保护范围内。
Claims (10)
1.一种故障容错性测试方法,其特征在于,包括以下步骤:
获取待测试验数据,将所述待测试验数据复制得到待测对照组数据;
将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,并将所述待测对照组数据输入至第二FPGA状态机中进行直接输出得到对照组输出数据;
将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态;
当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行输出得到第二试验输出数据;
将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况。
2.根据权利要求1所述的故障容错性测试方法,其特征在于,所述将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,包括:
确定翻转配置信息;
根据翻转配置信息将待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据。
3.根据权利要求2所述的故障容错性测试方法,其特征在于,所述确定翻转配置信息,包括:
确定翻转配置信息为寄存器翻转起始时间、寄存器翻转持续时间以及寄存器位翻转信息。
4.根据权利要求3所述的故障容错性测试方法,其特征在于,所述根据翻转配置信息将待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,包括:
将所述待测试验数据转换为二进制待测试验数据;
将所述寄存器位翻转信息数据转换为二进制寄存器位翻转信息数据,其中所述二进制寄存器位翻转信息数据与所述二进制待测试验数据的位宽一一对应;
根据二进制寄存器翻转信息数据将二进制待测试验数据进行取反得到第一试验输出数据。
5.根据权利要求2所述的故障容错性测试方法,其特征在于,所述将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态,包括:
当所述第一比较结果为所述第一试验输出数据和所述对照组输出数据完全相同时,确定所述第一输出状态为正常状态;
当所述第一试验输出数据和所述对照组输出数据的数据及数据量均不相同,确定所述第一输出状态为数据输出异常;
当所述第一比较结果为所述第一试验输出数据无数据输出,确定所述第一输出状态为状态机翻转异常状态。
6.根据权利要求5所述的故障容错性测试方法,其特征在于,所述当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第二试验输出数据,包括:
根据所述第一输出状态,将所述第一FPGA状态机的所述翻转配置信息重置归零;
根据重置后的所述翻转配置信息,将所述待测试验数据输入至第一FPGA状态机中输出得到第二试验输出数据。
7.根据权利要求5所述的故障容错性测试方法,其特征在于,所述将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况,包括:
当所述第二比较结果为所述第二试验输出数据和所述对照组输出数据完全相同时,确定所述第一FPGA状态机受翻转影响后已恢复正常状态;
当所述第二比较结果为所述第二试验输出数据与所述对照组输出数据不一致,确定所述第一FPGA状态机受翻转影响后不能恢复正常状态。
8.一种故障容错性测试装置,其特征在于,包括:
复制模块,用于获取待测试验数据,将所述待测试验数据复制得到待测对照组数据;
第一数据输出模块,用于将所述待测试验数据输入至第一FPGA状态机中进行翻转输出得到第一试验输出数据,并将所述待测对照组数据输入至第二FPGA状态机中进行直接输出得到对照组输出数据;
第一输出状态确定模块,用于将所述第一试验输出数据和所述对照组输出数据进行对比,并获取第一比较结果,根据所述第一比较结果确定所述第一FPGA状态机的第一输出状态;
第二数据输出模块,用于当所述第一输出状态为所述第一试验输出数据和所述对照组输出数据不一致时,重新将所述待测试验数据输入至第一FPGA状态机中进行输出得到第二试验输出数据;
第二输出状态确定模块,用于将所述第二试验输出数据和所述对照组输出数据进行对比,并获取第二比较结果,根据所述第二比较结果确定所述第一FPGA状态机的故障容错情况。
9.一种电子设备,其特征在于,包括存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以实现上述权利要求1至7中任一项所述故障容错性测试方法中的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机可读取的程序或指令,所述程序或指令被处理器执行时,能够实现上述权利要求1至7中任一项所述故障容错性测试方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210329625.7A CN114910780A (zh) | 2022-03-31 | 2022-03-31 | 一种故障容错性测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210329625.7A CN114910780A (zh) | 2022-03-31 | 2022-03-31 | 一种故障容错性测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114910780A true CN114910780A (zh) | 2022-08-16 |
Family
ID=82762544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210329625.7A Pending CN114910780A (zh) | 2022-03-31 | 2022-03-31 | 一种故障容错性测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114910780A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117217320A (zh) * | 2023-11-07 | 2023-12-12 | 苏州元脑智能科技有限公司 | 一种测控系统、数据处理方法、电子设备及存储介质 |
-
2022
- 2022-03-31 CN CN202210329625.7A patent/CN114910780A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117217320A (zh) * | 2023-11-07 | 2023-12-12 | 苏州元脑智能科技有限公司 | 一种测控系统、数据处理方法、电子设备及存储介质 |
CN117217320B (zh) * | 2023-11-07 | 2024-02-20 | 苏州元脑智能科技有限公司 | 一种测控系统、数据处理方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sawant et al. | Software testing techniques and strategies | |
Quinn et al. | Fault simulation and emulation tools to augment radiation-hardness assurance testing | |
Velazco et al. | Predicting error rate for microprocessor-based digital architectures through CEU (Code Emulating Upsets) injection | |
US20130311827A1 (en) | METHOD and APPARATUS for automatic testing of automation software | |
US11520963B2 (en) | System and method for formal fault propagation analysis | |
CN105718340A (zh) | 一种基于Crontab的CPU稳定性的测试方法 | |
Kooli et al. | Computing reliability: On the differences between software testing and software fault injection techniques | |
Nahir et al. | Post-silicon validation of the IBM POWER8 processor | |
US11216606B1 (en) | Method and system for functional safety verification using fault relation rules | |
CN114910780A (zh) | 一种故障容错性测试方法、装置、电子设备及存储介质 | |
US8453082B2 (en) | Soft error verification in hardware designs | |
Kim et al. | Evaluation of effectiveness of fault-tolerant techniques in a digital instrumentation and control system with a fault injection experiment | |
US20180364298A1 (en) | System and method for formal circuit verification | |
Carreira et al. | Why do some (weird) people inject faults? | |
Bai et al. | Mining and checking paired functions in device drivers using characteristic fault injection | |
Montrucchio et al. | Software-implemented fault injection in operating system kernel mutex data structure | |
JP7362857B2 (ja) | フォーマルフォールト伝搬分析のためのシステム及び方法 | |
Lohmann et al. | Extending universal verification methodology with fault injection capabilities | |
Montrucchio et al. | Fault injection in the process descriptor of a Unix-based operating system | |
Santos et al. | Analyzing the criticality of transient faults-induced SDCS on GPU applications | |
da Silva et al. | Injecting faults to succeed. Verification of the boot software on-board solar orbiter's energetic particle detector | |
US9116875B2 (en) | Test circuit and method for processing a test routine | |
EP3553681B1 (en) | Method and apparatus for error test coverage determination for a circuit by simulation | |
JP2013003633A (ja) | 故障再現装置、故障再現方法 | |
Qu et al. | Research on security evaluation of space used very large scale integration (VLSI) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |