一种自动化的FPGA故障注入测试系统以及方法技术方案

技术编号:31745667 阅读:10 留言:0更新日期:2022-01-05 16:24
本发明专利技术涉及一种自动化的FPGA故障注入测试系统以及方法,该方法包括通过上位机软件读取待测电路文件;提取其中的输入输出信号等用户设计相关的信息;根据提取的信息自动生成用户设计控制电路,并与预定义的故障注入控制电路进行互连结合,自动生成完整的故障注入系统文件;通过Tcl脚本自动执行下位机硬件的综合实现过程;从而实现故障注入系统的自动化生成。本发明专利技术降低了故障注入系统的开发难度和使用门槛,节省了手工搭建故障注入系统的繁琐,使得设计人员无需深入研究复杂的FPGA设计方法,无需具备电路设计基础,即可方便进行故障注入系统的开发与搭建,提升了故障注入系统的使用范围,设计人员可以快速便捷地评估FPGA电路的可靠性。路的可靠性。路的可靠性。

【技术实现步骤摘要】
一种自动化的FPGA故障注入测试系统以及方法


[0001]本专利技术属于集成电路领域,特别是涉及一种自动化的FPGA故障注入方法。

技术介绍

[0002]SRAM型FPGA由于其可重复编程、高灵活性等特点,在宇航用电子设备中的应用越来越广泛。SRAM型FPGA使用的SRAM存储单元在提供极大的灵活性的同时,又天然的带有易受辐射效应影响的缺陷,其在空间辐射环境中工作容易受到单粒子翻转效应的干扰,即宇宙高能粒子射入SRAM单元的敏感区时,可能会导致FPGA中存储单元逻辑的翻转,从而产生软错误,严重时甚至会损坏硬件电路。特别是随着FPGA晶体管尺寸的不断缩小,辐射粒子对SRAM型FPGA的影响越来越大。因此,对基于SRAM型FPGA的系统的SEU敏感度评估十分迫切。这样就可以在设计阶段掌握电路对SEU的敏感度,从而实现指导设计以及评判设计电路可靠性的目的。此外,随着越来越多缓解SEU效应的容错方法被提出并应用于宇航用电子设备中,如纠错码,三模冗余等,对这些容错设计的SEU缓解效果进行测试与评估也是不可避免的。
[0003]然而,搭建一套完整的故障注入系统不仅需要掌握FPGA的组织结构和配置方式等,而且针对某一用户设计搭建的故障注入系统存在着通用性低的问题。因此,为了使得可靠性评估更加快速便捷,适应于各种设计,有必要使故障注入评估过程自动化。

技术实现思路

[0004]本专利技术解决的技术问题是:克服现有技术的不足,提出了一种自动化的FPGA故障注入测试系统以及方法,降低了故障注入系统的开发难度,协助设计人员快速搭建故障注入系统,提升了评估电路可靠性的效率。
[0005]本专利技术解决技术问题的方案是:一种自动化的FPGA故障注入测试系统,该系统包括上位机和下位机故障注入硬件系统,下位机故障注入硬件系统包括用户设计控制电路与故障注入控制电路;其中:
[0006]用户设计控制电路包括待测电路、参照电路、激励产生电路、结果比较电路;
[0007]参照电路为待测电路的复制,均包括m位输入总线和n位输出总线,m位输入总线同时连接至激励产生电路,n位输出端口同时连接至结果比较电路,m,n均大于等于1;
[0008]激励产生电路,接收激励启动信号后进行初始化,初始化之后每个时钟周期随机生成m位数据,作为测试激励,同时发送给参照电路和待测电路,2
m
个时钟周期遍历m位输入总线的2
m
个数据;
[0009]结果比较电路,用于比较参照电路和待测电路受到激励驱动之后输出总线上的数据是否相同,如果不同,则累加注入故障计数值,否则,保持注入故障计数值不变,之后将注入故障计数值发送给串口通信电路;初始状态下或者收到故障注入测试启动信号之后,将注入故障计数清零;
[0010]故障注入控制电路包括过程控制电路、重配接口控制电路与串口通信电路;
[0011]过程控制电路,通过串口通信电路接收故障注入命令消息,解析故障注入命令消息,得到故障注入测试的首地址、末地址,向用户设计控制电路发送故障注入测试启动信号,从首地址开始,遍历测试地址,对于每个测试地址,通过重配接口控制电路回读对应地址的帧数据,将回读的帧数据按位翻转得到重配帧数据,再通过重配接口控制电路将重配帧数据写入对应地址中,对于每个地址的帧数据一次翻转一个数据位,遍历所有数据位,每写入一次重配帧数据,向用户设计控制电路发送一次激励启动信号。
[0012]优选地,所述下位机故障注入硬件系统通过如下方法自动实现:
[0013]S1、读取并分析待测电路的源代码文件,提取其中的顶层模块的名称和接口设计信息,所述接口设计信息包括顶层模块使用过的用户IO接口名称、类型和位宽信息;
[0014]S2、根据待测电路顶层模块的名称和接口设计信息,自动构建用户设计控制电路;
[0015]S3、将自动生成的用户设计控制电路与预设的通用故障注入控制电路互连结合,生成故障注入系统的硬件描述文件,通过Tcl脚本自动完成故障注入系统的综合、布局布线过程,得到故障注入系统的可执行文件,将故障注入系统的可执行文件加载至被测电路所使用的FPGA中,完成下位机故障注入硬件系统的自动搭建。
[0016]优选地,所述步骤S2中自动构建用户设计控制电路的具体步骤包括:
[0017]根据待测电路顶层模块的名称,自动例化出待测电路与参照电路;
[0018]根据待测电路的接口设计信息中用户IO接口名称、类型和位宽信息分析出输入端口和输出端口;
[0019]生成与输入端口匹配的激励产生电路;
[0020]生成与输出端口匹配的结果比较电路。
[0021]优选地,所述下位机故障注入硬件系统的自动搭建过程在上位机中实现。
[0022]优选地,所述的激励产生电路采用线性反馈移位寄存器的方式来生成伪随机数,作为测试激励。
[0023]本专利技术的另一个技术方案:一种自动化的FPGA故障注入测试方法,该方法包括如下步骤:
[0024]S1、读取并分析待测电路的源代码文件,提取其中的顶层模块的名称和接口设计信息,所述接口设计信息包括顶层模块使用过的用户IO接口名称、类型和位宽信息;
[0025]S2、根据待测电路顶层模块的名称和接口设计信息,自动构建用户设计控制电路;
[0026]S3、将自动生成的用户设计控制电路与预设的通用故障注入控制电路互连结合,生成故障注入系统的硬件描述文件,通过Tcl脚本自动完成故障注入系统的综合、布局布线过程,得到故障注入系统的可执行文件,将故障注入系统的可执行文件加载至被测电路所使用的FPGA中,完成下位机故障注入硬件系统的自动搭建。
[0027]S4、执行故障注入测试:由上位机向下位机故障注入硬件系统发送故障注入命令消息,对待测电路预设地址范围内的数据帧进行逐位翻转,并检测待测电路和参照电路在相同的测试激励下的输出结果,判断待测电路是否出现故障,并统计出现故障的次数;
[0028]S5、等待测电路预设地址全部测试完毕之后,将统计的出现故障次数上传至上位机,结束流程。
[0029]优选地,该方法的故障注入测试过程如下::
[0030]S4.1、串口通信电路,将从上位机接收到的故障注入命令消息发送给过程控制电
路;
[0031]S4.2、过程控制电路解析故障注入命令消息,从中得到故障注入测试的首地址、末地址,之后,发送故障注入测试启动信号给用户设计控制电路,进入步骤S3;
[0032]S4.3、用户设计控制电路收到故障注入测试启动信号志之后,控制结果比较电路将注入故障计数值清零;
[0033]S4.4、过程控制电路计算当前测试地址,将回读命令和测试地址发送给重配接口控制电路;
[0034]S4.5、重配接口控制电路,收到回读命令后,根据测试地址回读出帧数据,并返回给过程控制电路;
[0035]S4.6、过程控制电路,接收重配接口控制电路反馈的回读的帧数据之后,进入步骤S7;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化的FPGA故障注入测试系统,其特征在于包括上位机和下位机故障注入硬件系统,下位机故障注入硬件系统包括用户设计控制电路与故障注入控制电路;其中:用户设计控制电路包括待测电路、参照电路、激励产生电路、结果比较电路;参照电路为待测电路的复制,均包括m位输入总线和n位输出总线,m位输入总线同时连接至激励产生电路,n位输出端口同时连接至结果比较电路,m,n均大于等于1;激励产生电路,接收激励启动信号后进行初始化,初始化之后每个时钟周期随机生成m位数据,作为测试激励,同时发送给参照电路和待测电路,2
m
个时钟周期遍历m位输入总线的2
m
个数据;结果比较电路,用于比较参照电路和待测电路受到激励驱动之后输出总线上的数据是否相同,如果不同,则累加注入故障计数值,否则,保持注入故障计数值不变,之后将注入故障计数值发送给串口通信电路;初始状态下或者收到故障注入测试启动信号之后,将注入故障计数清零;故障注入控制电路包括过程控制电路、重配接口控制电路与串口通信电路;过程控制电路,通过串口通信电路接收故障注入命令消息,解析故障注入命令消息,得到故障注入测试的首地址、末地址,向用户设计控制电路发送故障注入测试启动信号,从首地址开始,遍历测试地址,对于每个测试地址,通过重配接口控制电路回读对应地址的帧数据,将回读的帧数据按位翻转得到重配帧数据,再通过重配接口控制电路将重配帧数据写入对应地址中,对于每个地址的帧数据一次翻转一个数据位,遍历所有数据位,每写入一次重配帧数据,向用户设计控制电路发送一次激励启动信号。2.根据权利要求1所述的一种自动化的FPGA故障注入测试系统,其特征在于所述下位机故障注入硬件系统通过如下方法自动实现:S1、读取并分析待测电路的源代码文件,提取其中的顶层模块的名称和接口设计信息,所述接口设计信息包括顶层模块使用过的用户IO接口名称、类型和位宽信息;S2、根据待测电路顶层模块的名称和接口设计信息,自动构建用户设计控制电路;S3、将自动生成的用户设计控制电路与预设的通用故障注入控制电路互连结合,生成故障注入系统的硬件描述文件,通过Tcl脚本自动完成故障注入系统的综合、布局布线过程,得到故障注入系统的可执行文件,将故障注入系统的可执行文件加载至被测电路所使用的FPGA中,完成下位机故障注入硬件系统的自动搭建。3.根据权利要求2所述的一种自动化的FPGA故障注入测试系统,其特征在于所述步骤S2中自动构建用户设计控制电路的具体步骤包括:根据待测电路顶层模块的名称,自动例化出待测电路与参照电路;根据待测电路的接口设计信息中用户IO接口名称、类型和位宽信息分析出输入端口和输出端口;生成与输入端口匹配的激励产生电路;生成与输出端口匹配的结果比较电路。4.根据权利要求1所述的一种自动化的FPGA故障注入测试系统,其特征在于所述下位机故障注入硬件系统的自动搭建过程在上位机中实现。5.根据权利要求1所述的一种自动化的FPGA故障注入测试系统,其特征在于所述的激励产生电路采用线性反馈移位寄存器的方式来生成伪随机数,作为测试激励。
6.基于权利要求1所述系统的一...

【专利技术属性】
技术研发人员:张瑶伟陈雷王硕周婧田春生帅鉴峰周冲庞永江马筱婧冯涵旭杜忠
申请(专利权)人:北京微电子技术研究所
类型:发明
国别省市:

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

1