微处理器功能验证设备及微处理器功能验证方法

文档序号:9818355阅读:585来源:国知局
微处理器功能验证设备及微处理器功能验证方法
【技术领域】
[0001]本发明涉及集成电路开发技术领域,尤其涉及一种微处理器功能验证设备及微处理器功能验证方法。
【背景技术】
[0002]人类社会的信息化程度随着电子信息技术的飞速发展而不断提高,作为电子信息技术基础的集成电路技术,其指数级的增长趋势是推动电子信息技术飞速增长的重要源动力之一。根据国际半导体技术路线蓝图的预测报告指出,从2013年到2026年,微处理器和高性能ASIC的集成度仍将以3年翻一番的速度增长。然而,本就严重滞后于设计和制造能力的集成电路验证能力,将遇到前所未有的巨大挑战。其中,功能验证又是验证中最为耗费人力和物力的阶段。可以预计,功能验证仍将是整个微处理器设计周期中的瓶颈环节。
[0003]功能验证的目的是确保待验证设计的行为与功能设计规范的一致。因此,待验证设计的结果检查机制是功能验证中非常关键的环节。结果检查机制包括贯穿整个测试程序的检查,即实时检查,也有直接在测试程序结束后的测试结束检查。依靠人工观察判断需要耗费大量的专家时间,且容易出错,特别是对于输出结果众多时,这种方法完全不能适用。目前,使用待验证设计的参考模型检查是最为便捷,且最接近功能完备的方法。但是目前参考模型复杂,则基于参考模型的功能验证的工程量大,因此对待验证设计的功能检查效率低。

【发明内容】

[0004]本发明实施例通过提供一种微处理器功能验证设备及微处理器功能验证方法,解决了现有技术对待验证设计的功能检查效率低的技术问题。
[0005]第一方面,本发明实施例提供了一种微处理器功能验证设备,包括:指令集仿真器,比较器,监视器,输入接口,RTL模型;
[0006]所述指令集仿真器,用于执行测试程序产生阶段性参考数据文件;
[0007]所述比较器,用于从所述指令集仿真器中读取所述阶段性参考数据文件;
[0008]所述输入接口,用于加载所述测试程序到待验证设计的存储单元;
[0009]所述监视器,用于捕捉所述待验证设计仿真中的待验证信号输出给所述比较器;
[0010]所述比较器,还用于将所述阶段性参考数据文件中的参考数据与所述待验证信号进行对比是否一致;
[0011]所述RTL模型,用于逐周期从所述待验证设计读取所述待验证设计的部分内部信号,以进行裁决所述待验证设计的行为是否与所述RTL模型的行为一致。
[0012]优选的,所述RTL模型包括:指令分发单元,执行单元,写回单元,异常产生单元,程序计数产生单元,旁路模型单元,寄存器-存储器模型单元,裁决单元;
[0013]所述指令分发单元,用于将所述部分内部信号中与指令读取相关的信号处理成归类指令码输出到所述执行单元;
[0014]所述寄存器-存储器模型单元,用于基于写回信息模拟所述待验证设计的写回功能,将写寄存器的流水级信息输出到所述寄存器旁路模型单元,并将写寄存器的值或写存储器的值输出到所述执行单元;
[0015]所述寄存器旁路模型单元,用于读取写读寄存器的值按照流水级的约束输出到所述执行单元;
[0016]所述执行单元,用于模拟所述待验证设计的指令执行过程,将指令执行结果输出到所述写回单元、所述异常产生单元和所述程序计数产生单元;
[0017]所述写回单元,用于基于写寄存器的值或写存储器的值,输出当前周期所需所述写回信息到所述寄存器-存储器模型单元和所述裁决单元;
[0018]所述异常产生单元,用于根据所述指令执行结果判断当前是否应该产生异常,并将异常判断结果输出到所述裁决单元;
[0019]所述程序计数产生单元,用于根据所述指令执行结果判断当前是否有跳转发生,并将跳转判断结果输出到所述裁决单元;
[0020]所述裁决单元,用于将所述写回信息、所述异常判断结果、所述跳转判断结果与所述部分内部信号对比,从而裁决出所述待验证设计的行为是否与所述RTL模型的行为一致。
[0021]第二方面,本发明实施例还提供了一种微处理器功能验证方法,包括:
[0022]S1:通过指令集仿真器执行测试程序产生阶段性参考数据文件;
[0023]S2:启动所述待验证设计和RTL模型进行寄存器传输级仿真,通过监视器捕捉所述待验证设计仿真中的待验证信号输出到所述比较器;
[0024]S3:所述比较器从所述阶段性参考数据文件中读取当前组参考数据;
[0025]S4:所述RTL模型逐周期从所述待验证设计中读取部分内部信号,以进行裁决所述待验证设计的行为是否与所述RTL模型的行为一致,若是则执行S5,否则仿真结束;
[0026]S5:在到达比较器的阶段性检查点时,所述比较器比较所述当前组参考数据与当前捕捉到的所述待验证信号是否一致,是则执行S6,否则仿真结束;
[0027]S6:判断仿真是否就此结束,若是则仿真结束,否则返回S3。
[0028]优选的,在所述S4中,所述RTL模型逐周期从所述待验证设计中读取部分内部信号,以进行裁决所述待验证设计的行为是否与所述RTL模型的行为一致,包括:
[0029]所述RTL模型在每个仿真周期从所述待验证设计中读取所述部分内部信号;
[0030]所述RTL模型将所述部分内部信号与所述RTL模型内部自身产生的数据进行对比;
[0031]RTL模型根据对比结果判断所述待验证设计的行为是否与所述RTL模型的行为一致。
[0032]优选的,在所述SI中,所述通过指令集仿真器执行测试程序产生阶段性参考数据文件之后,还包括:
[0033]将所述阶段性参考数据文件加载到所述比较器;
[0034]所述比较器按照是否包含指定格式对所述阶段性参考数据文件进行划分成多组参考数据,其中,所述指定格式包括比较标识。
[0035]优选的,在所述S5中,所述比较器比较所述当前组参考数据与当前捕捉到的所述待验证信号是否一致,包括:
[0036]所述比较器判断所述当前组参考数据中是否存在所述比较标识;
[0037]若所述当前组参考数据中存在所述比较标识,则表明到达所述阶段性检查点。
[0038]优选的,在所述S6中,所述判断仿真是否就此结束,具体为:
[0039]向所述待验证设计输入所述测试程序结束,则判断为仿真需要就此结束。
[0040]本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0041]1、由于采用了包括指令集仿真器,比较器,监视器,输入接口,RTL模型的微处理器功能验证设备,减少了参考模型的复杂度,基于参考模型的功能验证的工程量大大缩小,一方面:比较器在不到阶段性检测点就不进行比较操作,因此节省了比较器做一致检查时耗费的仿真时间,另一方面:RTL模型每个仿真周期都从待验证设计读取部分内部信号做实时比较,以及比较器逐个周期读取一组待验证信号与参考数据进行对比,均是在发现不一致时就会有反馈,因此这两方面的结合有效保证了能够快速发现待验证设计中的错误,因此有效解决了现有技术中对待验证设计的功能检查效率低的技术问题,从而实现了高效快速的功能检查,最终提尚了验证效率。
[0042]2、由于RTL模型作实时比较与指令集仿真器提供参考数据用于比较器做一致检查的双重保障,从而保证了对待验证设计所存在的错误定位的准确度。
【附图说明】
[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0044]图1为本发明实施例中微处理器功能验证设备的总体框图;
[0045]图2为本发明实施例中RTL模型的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1