一种针对HDL系统进行仿真故障注入获取模块间耦合度的方法技术方案

技术编号:17541481 阅读:49 留言:0更新日期:2018-03-24 18:21
本发明专利技术公开了一种针对HDL系统进行仿真故障注入获取模块间耦合度的方法,所述方法包括:对目标系统进行模块划分,并添加特定模块;根据故障注入需求,生成系统仿真故障注入测试激励文件;生成系统仿真故障注入ModelSim的.do文件进行仿真,.do文件运行时调用测试激励文件,对系统进行故障注入,同时记录仿真的结果到.list文件;分析ModelSim仿真软件的输出.list文件,获得对模块总的故障注入数Cnt_inij和模块输出错误数Cnt_outij,计算模块间的耦合度。

A method of coupling degree between the modules of HDL system for simulation failure injection

The invention discloses a HDL system for the simulation of fault injection method to obtain the coupling of modules, the method includes modules on the target system, and add a specific module; according to the demand of fault injection, generating system of simulated fault injection test bench file; generating system of simulated fault injection ModelSim.Do files for simulation. When calling the.Do file to run the test stimulus file, the system fault injection, while recording the simulation results to the.List file; analysis of the output.List file ModelSim simulation software, the total number of Cnt_inij fault injection module and module output error number Cnt_outij, to calculate the coupling between modules.

【技术实现步骤摘要】
一种针对HDL系统进行仿真故障注入获取模块间耦合度的方法
本专利技术涉及太空环境中的数据安全领域,具体涉及一种针对HDL(硬件描述语言:HardwareDescriptionLanguage)系统进行仿真故障注入获取模块间耦合度方法,该方法可以把任何由HDL语言描述的系统进行模块间耦合度计算。对系统进行单粒子软错误传播建模,对模块间的耦合度计算必不可少。利用该方法形成的软件可以作为单粒子软错误传播分析软件的自动化建模插件。
技术介绍
随着CMOS工艺尺寸的缩小,工作在空间环境的集成电路受单粒子错误带来的失效问题影响愈来愈严重。未来数据中继卫星、宽带通讯卫星、遥感卫星、无线电侦察卫星、导航卫星、预警卫星等都需要性能强大的星载处理平台(OPP,On-boardProcessingPlatforms)以确保太空支援能力,这些星载处理平台主要由FPGA、DSP、ADC、DAC等芯片为主要元器件搭建。而这些大规模集成电路器件,尤其是SRAM-FPGA极易受空间单粒子效应的影响。空间单粒子效应的存在严重威胁着航天器的可靠性和工作寿命。空间电子系统的抗辐射能力评估,具有非常重要的意义。一般的试验方法是重离子试验,这种试验方法耗时长、费用高,试验实施不便捷,而且对象都是已经完成设计流片的电路系统,即使因设计不合理或其他原因系统的单粒子敏感性过高,也难以再设计。因此设计者期望在系统设计阶段就开始对系统进行评估找出系统辐射薄弱点进行针对性的加固。单粒子软错误导致的系统功能失效表现为系统对外的输出并未实现系统正常的功能,可以理解为一种输出错误。可以为空间电子系统进行单粒子软错误多层次传播建模,模型建立需要经过系统模块划分、系统参数化、参数获取、模型演化分析,最终获得整个系统的功能失效率以及单粒子软错误薄弱模块和敏感路径。传播过程中一个重要的参数就是耦合度,它表征模块间错误传播的概率,耦合度wij表征模块i输出错误导致模块j输出错误的概率。模块间耦合度的计算是系统“单粒子软错误传播建模”中系统参数化描述后,需要重点获取的参数。但是,空间电子系统单粒子软错误传播建模过程中模型参数化获取难度大,耦合度信息难以确定。空间应用的电子系统一般都以HDL语言进行描述,尤其是常用SRAM-FPGA;空间应用电子系统在设计阶段一般采用HDL(Verilog或VHDL)语言描述,HDL语言定义了系统模块的功能和信号时序逻辑连接关系。ModelSim是业界最优秀的HDL语言仿真软件,编译速度快,编译的代码与平台无关。但是,目前,尚没有人采用该软件尝试进行模块间耦合度的获取。
技术实现思路
针对现有技术中存在的上述问题以及空间电子系统单粒子软错误传播建模过程中模型参数化获取难问题,本专利技术提供了一种针对HDL(硬件描述语言)描述的系统进行仿真故障注入获取模块间耦合度方法。现有技术中不存在类似方法,利用该方法可以通过对HDL系统进行故障注入分析系统模块间的耦合度。本专利技术故障注入的结果通过ModelSim软件进行对HDL系统进行仿真故障注入获得。具体而言,本专利技术提供一种针对HDL系统进行仿真故障注入获取模块间耦合度的方法,其特征在于,所述获取模块间耦合度的方法包括:根据目标HDL系统的顶层文件,并利用该顶层文件进行模块划分和故障注入以获取模块间耦合度。在一种优选实现方式中,所述方法包括如下步骤:步骤S1:目标HDL系统的顶层描述文件采用HDL对系统中的各个模块进行了例化,并描述了模块间的连接关系,按模块的例化顺序进行模块划分;步骤S2:对目标HDL系统的顶层文件进行修改,添加特定模块;步骤S3:根据故障注入需求,生成系统仿真故障注入测试激励文件;步骤S4:生成系统仿真故障注入ModelSim的.do文件,并对.do文件进行优化;步骤S5:用ModelSim软件运行.do文件进行仿真,.do文件运行时调用测试激励文件,对系统进行故障注入,同时记录仿真的结果到.list文件;步骤S6:分析ModelSim仿真软件的输出.list文件,获得对模块总的故障注入数和模块输出错误数;步骤S7:按照下式计算模块间的耦合度:,i,j分别代表系统中的不同模块。在另一种优选实现方式中,在步骤S2中,所添加的模块包括“影子模块”、“异或门”、“错误控制信号”、“故障注入统计模块”和“输出端错误统计模块”。在另一种优选实现方式中,所述步骤S3包括在故障注入测试激励文件中设置故障注入参数。在另一种优选实现方式中,步骤S4中对.do文件进行优化设置包括仅保留需要观测的信号。需要说明的是,本专利技术在文中所提到的一些术语其含义如下:故障注入:一般意义上的故障注入是指通过受控实验向系统中刻意引入故障,并观察系统存在故障时的行为。本专利的故障注入:FPGA等器件其功能是由对各个可配置位进行配置而实现其功能,故障注入通过对这些位进行修改,而扰动其功能,观察配置位修改后的行为。耦合度:一个模块输出错误导致另一模块输出错误的概率,耦合度wij定义为模块i输出错误导致模块j的输出错误的概率。针对一个由N个模块构成、HDL描述的电子系统,模块与模块间的耦合度可以表示成一个N×N的矩阵,矩阵元素用wij表示。在本专利技术中,通过故障注入对模块i对模块j的输出信号进行故障注入,统计模块i注入错误数和模块j输出错误数获得耦合度。对比模块和影子模块:为方便说明本专利而定义,仿真故障注入获取耦合度的方法通过添加“影子模块”方法对模块输入输出端进行监测。为了最大限度的还原模块发生软错误后对其他模块的影响,在仿真试验中,测试不同的模块时,需要在系统中设置一个用于故障注入的实验模块。如图2所示,此模块与其作对比的正常模块采用并联的方式接入原系统,且此模块与正常模块一致,称它为“影子模块”,而原有模块我们称“对比模块”。为了同时对系统的所有模块进行仿真故障注入,“影子模块”的输入来自上一个“对比模块”,而不是来自上一个“影子模块”。错误控制信号:为方便说明本专利而定义,错误控制信号与对比模块信号进行异或产生的信号输入至影子模块,实现对影子模块的故障注入,当错误控制信号为1时,与对比模块信号异或后产生的信号与对比模块信号相反。HDL语言中,所有的电路都是模块中定义,顶层文件是将所有模块连接在一起的主程序,相当于实现了电路功能。顶层文件相当于C、C++等语言的主程序。原本HDL语言描述的各个电路模块互不关联,但是通过顶层文件将各个模块连接到一起,完成了系统要实现的功能。“顶层文件”指的是将HDL语言所描述电路模块连接在一起形成完整功能电路的文件,因此顶层文件相当于把模块实例化到具体电路中去了。具体而已,对于每个所划分出的模块,将其作为对比模块,为每个对比模块设置一个影子模块,故障注入时,正常的信号输入到对比模块,将正常信号与故障输入信号进行异或处理(正常信号和故障信号输入给异或门,异或门输出给影子模块),将异或结果输出给影子模块,对比模块的输出和影子模块的输出异或处理后输出给输出端错误统计模块。对于下一个模块而言,将对比模块的输出直接输出给下一个对比模块,将对比模块的输出与故障注入器的下一路输入通过另一异或门进行异或处理后输出给下一个影子模块。故障注入统计模块用于对故障注入器注入的故障数进行统计,输出端错误统计模块用于本文档来自技高网
...
一种针对HDL系统进行仿真故障注入获取模块间耦合度的方法

【技术保护点】
一种针对HDL系统进行仿真故障注入获取模块间耦合度的方法,其特征在于,所述获取模块间耦合度的方法包括:获取目标HDL系统的顶层文件,并利用该顶层文件进行模块划分和故障注入以获取模块间耦合度。

【技术特征摘要】
1.一种针对HDL系统进行仿真故障注入获取模块间耦合度的方法,其特征在于,所述获取模块间耦合度的方法包括:获取目标HDL系统的顶层文件,并利用该顶层文件进行模块划分和故障注入以获取模块间耦合度。2.根据权利要求1所述的针对HDL系统进行仿真故障注入获取模块间耦合度的方法,其特征在于,所述方法包括如下步骤:步骤S1:目标HDL系统的顶层描述文件采用HDL对系统中的各个模块进行了例化,并描述了模块间的连接关系,按模块的例化顺序进行模块划分;步骤S2:对目标HDL系统的顶层文件进行修改,添加特定模块;步骤S3:根据故障注入需求,生成系统仿真故障注入测试激励文件;步骤S4:生成系统仿真故障注入ModelSim的.do文件,并对.do文件进行优化;步骤S5:用ModelSim软件运行.do文件进行仿真,.do文件运行时调用测试激励文件,对系统进行故障注...

【专利技术属性】
技术研发人员:杨艳
申请(专利权)人:湖南斯北图科技有限公司
类型:发明
国别省市:湖南,43

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

1