[发明专利]微处理器指令集验证方法有效
申请号: | 201210362231.8 | 申请日: | 2012-09-26 |
公开(公告)号: | CN102902906A | 公开(公告)日: | 2013-01-30 |
发明(设计)人: | 曹辉;杨靓;卢强;何卫强 | 申请(专利权)人: | 中国航天科技集团公司第九研究院第七七一研究所 |
主分类号: | G06F21/44 | 分类号: | G06F21/44;G06F9/46 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 顾潮琪 |
地址: | 710000*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 微处理器 指令 验证 方法 | ||
技术领域
本发明涉及一种微处理器指令集的验证方法,具体用于微处理器设计各阶段的功能验证。
背景技术
指令集验证在微处理器设计中非常关键并贯穿于整个设计过程。指令集定义实现的功能越多,电路的集成复杂度的越高,指令集验证工作的复杂度和工作量越大。设计一种自动化、可移植、验证覆盖率高的指令集验证方法对设计正确性、可靠性和缩短芯片从设计到流片的时间非常重要。
传统的功能验证方法是:通过人工编写大量的“指令序列”作为验证激励,施加到微处理器设计上,通过EDA软件查看波形,检查指令执行的正确性。这种验证方法具有很大的“随意性”,通常是设计者考虑到某一方面的指令集功能,就设计相应的指令序列,由微处理器执行该段序列来验证设计的正确性。这样就很难完全覆盖到微处理器指令集定义的全部功能。随着微处理器设计规模的增大,需要编写用于验证的指令序列数量成指数量级增长,自动化程度不高。而且当指令集定义发生改变时,需要针对微处理器重新设计验证指令序列,之前的验证代码很难被移植到新设计的验证上。
另一种方法是:利用高级语言,如C语言,编写复杂的验证程序,经过编译器编译成二进制码,在微处理器上运行该二进制代码对微处理器设计进行验证。这种方法的缺点是,编译器采用优化策略对二进制代码经过优化后,产生的验证代码不能够完全覆盖到微处理器的设计,在一些路径上会缺少对应的验证激励。
发明内容
为了克服现有技术的不足,本发明提供一种自动化、可移植的微处理器指令集验证方法,以提高验证的覆盖率。
本发明解决其技术问题所采用的技术方案包括以下步骤:
步骤1、将监控程序加载到微处理器中,并启动微处理器运行监控程序;
步骤2、对微处理器支持的指令集分类,每一类指令由一组参数确定,针对每一类指令,设计一个指令验证的代码框架,将需要验证的指令或指令序列嵌入到这个代码框架中;
步骤3、对每组参数按照取指范围遍历取值,根据每组参数值的组合,生成验证的指令或指令序列,并将这个指令或指令序列嵌入到步骤2的验证代码框架中;
步骤4、将验证代码框架加载到微处理器中,并发送协议字给微处理器上的监控程序,使微处理器转入到验证代码框架的执行;
步骤5、查询微处理器验证结束协议字,如果验证代码执行结束,将执行结果读出;否则,继续查询;
步骤6、将步骤5的执行结果和指令执行的期望结果比较,结果正确,将比较结果记录到日志文件中,转步骤2,继续遍历验证;否则,输出错误信息,并记录到日志文件。
所述的监控程序按以下步骤操作:
步骤1-1、查询验证代码框架加载结束协议字,如果协议字有效,转步骤1-2;否则继续查询;
步骤1-2、跳转至验证代码框架,执行指令验证代码;
步骤1-3、验证代码执行结束,置验证结束协议字,并跳转到步骤1-2,继续下一次验证的查询。
所述的指令验证代码框架按以下步骤设计:
步骤2-1、根据指令的分类,确定验证该类指令所需要的参数,并根据参数,生成指令序列A,通过执行指令序列A准备好当前指令验证的微处理器的状态;
步骤2-2、根据参数生成当前被验证的指令B,将指令B添加到序列A之后,生成序列A&B;
步骤2-3、在序列A&B之后添加一段保护指令B执行结果的指令序列C。
本发明的有益效果是:
本发明提出了一套微处理器指令集自动验证的方法。通过将当前验证的指令的各字段以参数化的形式进行配置,可以对参数进行遍历组合,实现对微处理器设计中所有路径的验证覆盖。验证结果采用自动比对的形式,以文件记录的形式输出,避免了通过分析仿真波形才能判断指令执行真确性的弊端,实现了自动、高效率的验证。
发明中提出的验证方法可以移植到在微处理器设计各阶段的验证平台上,如仿真验证阶段的TestBench、时序验证阶段的功能验证TestBench、FPGA验证平台、微处理器的系统验证平台上。
附图说明
图1:本发明主流程图;
图2:监控程序流程图;
图3:验证代码框架设计流程图;
图4:本发明的具体实施实例框图;
图5:具体实施实例程序存储示意图。
具体实施方式
本发明包括以下步骤:
步骤1、将监控程序加载到微处理器中,并启动微处理器运行监控程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航天科技集团公司第九研究院第七七一研究所,未经中国航天科技集团公司第九研究院第七七一研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210362231.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电机及其制造方法
- 下一篇:一种能量双向流动的无线充电装置