发明名称 一种针对MicroBlaze软核程序的测试验证系统及测试验证方法
摘要 一种针对MicroBlaze软核程序的测试验证系统,其特征在于包括:MicroBlaze仿真平台模块、软核执行流监视记录模块、目标码分析模块和覆盖率统计分析模块。本发明实现了FPGA逻辑代码、MicroBlaze软核以及软核程序的集成运行,并且可以获得软核程序运行的覆盖率信息,满足了软核程序测试验证充分性的要求。
申请公布号 CN104063321A 申请公布日期 2014.09.24
申请号 CN201410302903.5 申请日期 2014.06.27
申请人 北京控制工程研究所 发明人 于志杰;田甜;赵雷;朱倩;赵欢;陈睿
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 中国航天科技专利中心 11009 代理人 安丽
主权项 一种针对MicroBlaze软核程序的测试验证系统,其特征在于包括:MicroBlaze仿真平台模块、软核执行流监视记录模块、目标码分析模块和覆盖率统计分析模块,其中:MicroBlaze仿真平台模块,实现MicroBlaze软核处理器在EDA环境下的仿真运行;该模块通过加载软核目标程序的机器码,实现软核程序的仿真运行,并将运行结果与外围其他逻辑进行交互,实现FPGA逻辑代码、MicroBlaze软核以及软核程序的集成运行;同时该模块还包含外围其他逻辑的仿真模型和测试用例模块,实现整个被测软件运行的模拟平台,并向软核执行流监视记录模块输出执行信息,供软核执行流监视记录模块实现执行流的监视、分析和记录;软核执行流监视记录模块,根据MicroBlaze仿真平台模块输出执行信息,对软核程序执行情况进行分析,实现真正指令执行序列的监视和记录;该模块接收来自MicroBlaze仿真平台模块的执行信息,所述执行信息包括软核工作时钟、PC指针、指令有效标志和跳转标志;根据指令有效标志和跳转标志,识别出当前执行的指令地址和分支跳转情况,实现执行流的监视、分析和记录。仿真测试时重复执行上述过程直至用例执行结束,生成覆盖率文件;目标码分析模块,通过对软核目标程序进行分析,实现覆盖率信息的反标;该模块加载软核目标程序文件以及软核执行流监视记录模块输出的覆盖率文件,通过对目标程序进行格式分析,识别出各条指令以及各分支指令,并将覆盖率文件中的覆盖率信息在目标程序上进行反标;在进行覆盖率反标时,还可以将多个测试用例执行后输出的覆盖率文件进行合并,将合并后的总覆盖率信息,全部反标到对应目标程序上,实现多个测试用例对应覆盖率结果的统一分析;反标覆盖率后的数据,将输出给覆盖率分析模块进行后续的覆盖率分析;覆盖率分析模块,实现覆盖率指标的分析,统计软核程序执行的语句覆盖率、分支覆盖率指标;该模块接收目标码分析模块输出的数据,通过统计其中的语句总数和分支总数,并根据反标后的覆盖率信息,分析执行过的语句数以及真假分支执行情况,最终向用户输出语句覆盖率和分支覆盖率指标,其中语句覆盖率指标和分支覆盖率指标的计算公式如下:语句覆盖率=已执行语句数/可执行语句总数*100%分支覆盖率=(已执行真分支数+已执行假分支数)/(真分支总数+假分支总数)*100%。
地址 100080 北京市海淀区北京2729信箱