[发明专利]一种随机测试程序生成方法有效
申请号: | 201511001282.8 | 申请日: | 2015-12-28 |
公开(公告)号: | CN105630680B | 公开(公告)日: | 2018-12-18 |
发明(设计)人: | 罗汉青;梁利平;王志君 | 申请(专利权)人: | 中国科学院微电子研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京华沛德权律师事务所 11302 | 代理人: | 房德权 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 随机 测试 程序 生成 方法 | ||
本发明公开了一种随机测试程序生成方法,包括如下步骤:步骤1:随机选择一种指令;步骤2:运行指令冲突检测流程选择出步骤1所选指令的指令参数;步骤3:判断步骤1所选指令是否为目标跳转指令,若是则生成目标跳转指令的相关指令参数,然后执行步骤4,否则直接执行步骤4;步骤4:基于指令集执行参考模型判断是否接受本循环所有指令参数,若全部接受则执行步骤5,否则返回步骤1;步骤5:基于本循环所有指令参数产生至少一条测试指令;步骤6:判断是否达到预设指令条数,是则结束循环,否则返回步骤1。解决了现有技术中随机测试程序的有效性将难以保证而且对于结果检测也相对困难的技术问题。
技术领域
本发明涉及电子技术领域,特别涉及一种随机测试程序生成方法。
背景技术
随着集成电路设计的复杂度和集成度越来越高,集成电路的功能验证遇到的挑战也日渐增多。功能验证已被公认为是硬件设计中的瓶颈。处理器的验证方法大致可分为两类:形式化验证和基于模拟的验证。形式化验证的方法近年来取得的很大进展,但是它适合于相对较小模块的验证。因此,基于模拟的验证方法仍然是微处理器功能验证的主要技术。指令级验证是当前微处理器功能验证中广泛采用的方法。
人工手写的测试程序具有很强的针对性,可以无冗余的直接覆盖到一些重要的功能点或者功能角落,但是这种方法需要花费大量的时间和人力成本。而随机测试向量生成可以提供大量的且覆盖率广泛的测试向量,同时也有可能覆盖到验证人员完全没有想到的功能角落。两种测试生成的方法各有优点,可以相辅相成,目前的随机测试程序均采用相对静态的随机测试生成方法,随机测试程序的有效性将难以保证而且对于结果检测也相对困难。
发明内容
本发明实施例通过提供一种随机测试程序生成方法,解决了现有技术中随机测试程序的有效性将难以保证而且对于结果检测也相对困难的技术问题。
本发明实施例提供了一种随机测试程序生成方法,包括如下步骤:
步骤1:随机选择一种指令;
步骤2:运行指令冲突检测流程选择出步骤1所选指令的指令参数;
步骤3:判断步骤1所选指令是否为目标跳转指令,若是则生成所述目标跳转指令的相关指令参数,然后执行步骤4,否则直接执行步骤4;
步骤4:基于指令集执行参考模型判断是否接受本循环所有指令参数,若全部接受则执行步骤5,否则返回步骤1;
步骤5:基于所述本循环所有指令参数产生至少一条测试指令;
步骤6:判断是否达到预设指令条数,是则结束循环,否则返回步骤1。
优选的,在步骤2中,所述运行指令冲突检测流程选择出步骤1所选指令的指令参数,包括:
识别所述指令参数中所需检测信息;
基于所述检测信息遍历资源使用列表,对所述资源使用列表中的不可用资源进行标记,得到标记后资源使用列表;
从所述标记后资源使用列表的可使用资源中选择出所述指令参数;
将所述指令参数添加到所述资源使用列表进行更新所述资源使用列表。
优选的,所述检测信息包括:寄存器信息、当前程序计数器的值、流水级信息和旁路信息。
优选的,所述指令参数包括:源寄存器、目的寄存器、程序计数器的值、读写流水级以及旁路信息。
优选的,在步骤3中,所述生成所述目标跳转指令的相关指令参数,包括:
生成所述目标跳转指令的偏移参数;
判断所述偏移参数是否为负数,若是则产生辅助运算指令参数、辅助跳转指令参数和所述目标跳转指令的目标参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院微电子研究所,未经中国科学院微电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511001282.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:程序接口测试方法及装置
- 下一篇:代码测试的方法及装置