【技术实现步骤摘要】
本专利技术涉及计算机技术,尤其涉及一种对微处理器进行功能验证的方法及服务器。
技术介绍
微处理器是用一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。通常对微处理器进行功能验证的方法有三种:基于软件仿真器的仿真验证、基于现场可编程门阵列(Field Programmable Gates Array,简称FPGA)原型验证系统的仿真验证和基于硬件仿真加速器的仿真验证。基于FPGA原型验证系统的仿真验证是在FPGA上实现一个主控电路,通过主控电路将随机指令和其对应的期望运行结果下载到FPGA系统仿真板的内部寄存器中,并在完成FPGA原型验证系统主板的初始化后进入仿真工作状态,即将被验证微处理器在FPGA原型验证系统主板上运行并输出结果,然后在仿真结束后将内部寄存器与上述期望运行结果进行比较,以确定被验证微处理器的输出是否有错;基于硬件仿真加速器的仿真验证首先用硬件仿真加速器将被验证微处理器的寄存器传输级(Register Transfer Level,简称RTL)代码综合为可以烧入到硬件仿真加速器上的网表文件,并将操作系统和应用程序软件的可执行文件转换为可以写入到硬件加速器中的格式,然后将上述网表文件烧入到硬件仿真加速器中,再将经过上述经格式处理后的可执行文件写入硬件仿真加速器的内存中,然后启动硬件仿真加速器开始仿真,并运行操作系统和应用程序进行验证。然而,基于FPGA原型验证系统进行仿真验证时,由于内部寄存器与期望结果 ...
【技术保护点】
一种对微处理器进行功能验证的方法,其特征在于,包括:生成至少一条随机指令、各所述随机指令对应的期望运行结果,以及初始化数据,所述初始化数据用于初始化微处理器的内存和用户可见寄存器;根据所述微处理器的原始寄存器传输级RTL代码,生成比特流文件;将所述比特流文件加载至硬件仿真加速器中,并将所述至少一条随机指令和所述初始化数据加载至模拟微处理器的内存和所述用户可见寄存器中,所述模拟微处理器通过将所述微处理器烧入所述硬件仿真加速器形成;控制所述硬件仿真加速器运行所述至少一条随机指令;根据所述硬件仿真加速器对所述至少一条随机指令的运行结果和各所述随机指令对应的期望运行结果,验证所述微处理器的功能。
【技术特征摘要】
1.一种对微处理器进行功能验证的方法,其特征在于,包括:生成至少一条随机指令、各所述随机指令对应的期望运行结果,以及初始化数据,所述初始化数据用于初始化微处理器的内存和用户可见寄存器;根据所述微处理器的原始寄存器传输级RTL代码,生成比特流文件;将所述比特流文件加载至硬件仿真加速器中,并将所述至少一条随机指令和所述初始化数据加载至模拟微处理器的内存和所述用户可见寄存器中,所述模拟微处理器通过将所述微处理器烧入所述硬件仿真加速器形成;控制所述硬件仿真加速器运行所述至少一条随机指令;根据所述硬件仿真加速器对所述至少一条随机指令的运行结果和各所述随机指令对应的期望运行结果,验证所述微处理器的功能。2.根据权利要求1所述的方法,其特征在于,所述生成至少一条随机指令、各所述随机指令对应的期望运行结果,以及初始化数据,具体包括:根据所述微处理器的结构,生成所述至少一条随机指令、各所述随机指令对应的期望结果以及所述初始化数据;对所述至少一条随机指令及所述初始化数据进行处理,以使所述至少一条随机指令的格式和所述初始化数据的格式,与所述模拟微处理器的内存和用户可见寄存器中所存储的数据格式匹配中。3.根据权利要求1或2所述的方法,其特征在于,所述根据微处理器的原始寄存器传输级RTL代码,生成比特流文件,具体包括:对所述原始RTL代码中不可综合的代码和所述硬件仿真加速器中不能处理的代码进行替换,生成替换RTL代码;在所述替换RTL代码中增加用于初始化所述用户可见寄存器的第一逻辑代码,生成被验证RTL代码;生成所述期望运行结果对应的第二逻辑代码;对所述被验证RTL代码和所述第二逻辑代码进行综合布局,生成所述比特流文件。4.根据权利要求3所述的方法,其特征在于,所述根据所述硬件仿真加速器对所述至少一条随机指令的运行结果和各所述随机指令对应的期望运
\t行结果,验证所述微处理器的功能之后,还包括:若任意一条随机指令的运行结果与其对应的期望运行结果不同,则重新运行该随机指令,并采用调试波形文件对该随机指令进行调试。5.根据权利要求2所述的方法,其特征在于,所述初始化数据包括:第一文件、虚页号和第二文件,所述第一文件包括所述模拟微处理器的内存的初始化值,所述第二文件包括所述至少一条随机指令的程序地址PC。6.根据权利要求5所述的方法,其特征在于,所述对所述至少一条随机指令及所述初始化数据进行处理,具体包括:为每个虚页号分配一个实页号,并生成页表,所述页表用于保存所述虚页号与所述实页号之间的对应关系;根据所述页表,把每条所述随机指令的PC转换为第一物理地址,并将每条第一物理地址对应的随机指令合并至第三文件,所述第一物理地址为所述随机指令的16进制编码;根据所述页表,把所述微处理器的内存的虚地址转换为第二物理地址,并将每条第二物理地址对应的所述微处理器的内存的初始化值合并至第四文件,所述第二物理地址为所述微处理器的内存的虚地址的初始化值。7.根据权利要求3所述的方法,其特征在于,所述在所述替换RTL代码中增加用于初始化所述用户可见寄存器的第一逻辑代码,生成被验证RTL代码包括:在所述替换RTL代码中增加寄存器数组;在所述替换RTL代码中增加所述第一逻辑代码,生成所述被验证RTL代码,所述第一逻辑代码用于读取所述寄存器数组内每个寄存器的数值,并将所述每个寄存器的数...
【专利技术属性】
技术研发人员:王朋宇,尹夕振,
申请(专利权)人:龙芯中科技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。