[发明专利]一种用于处理器指令集的并行自动化验证方法有效
申请号: | 201811190340.X | 申请日: | 2018-10-12 |
公开(公告)号: | CN109189479B | 公开(公告)日: | 2023-02-24 |
发明(设计)人: | 张辉;孙健;王璟琛;刘明;王宇飞 | 申请(专利权)人: | 西安微电子技术研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
地址: | 710065 陕西*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 处理器 指令 并行 自动化 验证 方法 | ||
本发明公开了一种用于处理器指令集的并行自动化验证方法,首先自动生成指令验证用例;然后对验证用例在RTL电路上进行仿真,监测仿真结果;同时对步骤1得到的验证用例经处理器参考模型进行处理,计算期望结果;最后对仿真结果和期望结果进行格式一致性处理,然后进行对比,当二者结果一致时,则仿真结果正确;当二者结果不一致时,则仿真结果错误,并生成错误日志。本发明方法能够在有限的时间内进行高效、全面、准确的指令仿真验证,以保证芯片功能的正确性。
技术领域
本发明属于数字集成电路处理器的验证领域,具体涉及一种用于处理器指令集的并行自动化验证方法。
背景技术
随着数字集成电路规模的不断扩大,芯片集成的功能越来越复杂,支持的指令数目越来越多,对于数字集成电路指令的验证已经成为制约芯片验证的一个发展的一个重要因素,而指令验证因为验证空间非常巨大,验证结果检查缺少自动化方法,控制类、浮点类指令期望结果计算较为困难,因此关于指令的验证也成为了当前数字集成电路验证的一个难题。为了保证处理器功能的正确性,就必须编写大批量验证用例对其进行验证验证,依靠人力手动编写验证用例及检查验证结果在项目生命周期内将是一件很难完成的事。因此,需要寻找一种方法来提高指令验证的效率和全面性,已势在必行。
目前,国内外关于数字集成电路处理器的验证文献资料较少,已知的验证技术和实际可操作的方法也相对较少,尚没有形成一种自动化的指令验证方法。
发明内容
本发明针对数字集成电路处理器验证面临的验证空间巨大的挑战,提出了一种可在有限时间内进行高效、全面、准确的自动化的指令验证方法,保证了处理器指令的覆盖性和正确性。
为达到上述目的,本发明采用如下技术方案:
一种用于处理器指令集的并行自动化验证方法,包括以下步骤:
步骤1:指令验证用例自动生成;
步骤2:对步骤1得到的验证用例批量提交到超算服务器上,在实际RTL电路上进行多个任务的并行仿真,监测仿真结果;同时对步骤1得到的验证用例经处理器参考模型进行处理,计算期望结果;
步骤3:对仿真结果和期望结果进行格式一致性处理,然后进行对比,当二者结果一致时,则仿真结果正确;当二者结果不一致时,则仿真结果错误;并生成结果日志文件。
进一步地,步骤1具体包括单条指令验证用例生成及相关指令验证用例生成。
进一步地,单条指令验证用例生成过程如下:
a)分析指令集特点,提取输入的参数;
b)根据步骤a)输入的参数生成指令需要的全部随机及边界操作数、地址及条件域等数据;
c)根据步骤b)得到的数据生成辅助及待验证指令序列;同时根据步骤a)输入的参数生成结果输出指令序列,用于检查寄存器值,状态位及地址数据等;所述辅助及待验证指令序列及结果输出指令序列共同组成单条指令验证用例,生成的验证用例遍历了步骤b)中所有数据。
进一步地,相关指令验证用例生成过程如下:
a)引入指令1、插入的指令条数和指令2三个输入参数;
b)根据处理器流水线结构、指令操作数类型及寄存器类型对指令进行分类;
c)根据步骤b)中的分类给出每类指令寄存器和存储器在流水线中的读写周期和指令类间的相关性参数;
d)根据步骤b)的分类结果和步骤c)生成的参数判定指令1和指令2的相关性,如果相关,则列举所有的流水线冲突类型,生成相应的指令验证序列,并添加辅助指令用于准备操作数及输出结果,最后打印成文本格式输出;如果不相关,则忽略,不输出任何指令序列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安微电子技术研究所,未经西安微电子技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811190340.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:针对应用程序的反馈优化方法
- 下一篇:文件系统启动方法及装置