一种微处理器IP核比较验证的实现方法技术

技术编号:9903721 阅读:122 留言:0更新日期:2014-04-10 19:14
一种微处理器IP核比较验证的实现方法,其步骤如下:1)统一需验证的微处理器和参考模型的状态;2)需验证的微处理器和参考模型同步执行指定程序段;3)比较仿真结果,判断需验证的微处理器是否正确执行指定程序段。本专利可以模拟处理器运行操作系统需要的外部设备,控制并监测微处理器IP核的运行。当微处理器IP核在本专利提供的仿真环境中运行操作系统或应用程序时,可以通过比较微处理器参考模型与待测试的微处理器IP核在同一环境下的运行状态,快速定位出现分歧的位置,找出一些隐藏较深的设计错误,降低操作系统级别功能验证的工作量。

【技术实现步骤摘要】
【专利摘要】一种微处理器IP核比较验证的实现方法,其步骤如下:1)统一需验证的微处理器和参考模型的状态;2)需验证的微处理器和参考模型同步执行指定程序段;3)比较仿真结果,判断需验证的微处理器是否正确执行指定程序段。本专利可以模拟处理器运行操作系统需要的外部设备,控制并监测微处理器IP核的运行。当微处理器IP核在本专利提供的仿真环境中运行操作系统或应用程序时,可以通过比较微处理器参考模型与待测试的微处理器IP核在同一环境下的运行状态,快速定位出现分歧的位置,找出一些隐藏较深的设计错误,降低操作系统级别功能验证的工作量。【专利说明】—种微处理器IP核比较验证的实现方法
本专利涉及微处理器验证领域,是一种基于全系统仿真模型软硬件协同的微处理器IP核功能验证方法。
技术介绍
随着逻辑综合技术的成熟,布局布线的自动化以及集成电路工艺的迅速发展,单个芯片内集成的功能越来越多,越来越强,以微处理器为核心的SoC (System on Chip)系统成为主流。随着微处理器规模日益增大,体系结构日益复杂,乱序执行、多级流水、大的队列、中断异常处理和多级存储结构等技术纷纷出现,SoC系统复杂度越来越高,设计和验证都变的异常困难。在SoC系统的设计中,验证已成为芯片设计的瓶颈。目前通常采用两种方式进行功能验证:形式化验证和基于仿真的验证。由于微处理器结构的复杂以及形式化验证的不完善,工业界主要采用基于仿真的验证。基于仿真的验证是将验证用的激励向量同时加载到待测系统和参考模型上,通过比较结果来验证系统功能的正确性。在测试初期,基于仿真的验证方法通常采用简单的激励向量进行验证。但是当验证达到操作系统级别时,功能验证会变得非常复杂,对激励向量会有很高的要求,变得难以编写。而操作系统的验证,需要全系统模型,包括处理器模型,外部设备模型,BIOS固件等。而这些模型实现难度较大,且需要大量的验证。为了解决在操作系统级别微处理器验证中存在的问题,本专利提出了一种基于全系统仿真模型软硬件协同的微处理器功能验证方法。
技术实现思路
本专利技术提出了一种基于全系统仿真模型软硬件协同的微处理器功能验证方法,采用全系统仿真模型中的微处理器软件模型作为参考模型,使用全系统仿真模型的外部设备模型以及BIOS固件构建可运行操作系统的验证环境,采用通用的操作系统产生激励向量,比较参考模型和待验证微处理器IP核在同样环境下,对同一条指令的执行结果。本专利是一种微处理器IP核比较验证的实现方法,其步骤如下:1)统一需验证的微处理器和参考模型的状态;2)需验证的微处理器和参考模型同步执行指定程序段;3)比较仿真结果,判断需验证的微处理器是否正确执行指定程序段。统一需验证的微处理器和参考模型的状态是为了保证在执行程序前微处理器参考模型和待验证IP核的所有状态都是一致,从而确保比较结果的有效性。统一微处理器状态的方式为:获取微处理器参考模型的状态,据此设定待验证IP核的状态。实现参考模型和待验证微处理器IP模块在指令级别的同步是仿真验证平台的关键。只有实现了指令级别的同步,才能保证验证的有效性。指令级别同步的难点在于如何准确获取微处理器参考模型和待验证IP核在执行一条或一段程序后的处理器状态。指令级同步的方式为:参考模型先执行一条或一段指令,当执行完指定条数的指令或者遇到外部中断时,参考模型记录指令执行的结果并暂停运行,待验证IP核开始执行同一段程序,执行完程序后也记录指令执行的结果。微处理器参考模型的控制较容易实现,因为微处理器参考模型一般为通用的全系统仿真模型中的微处理器模型或自己设计、实现和验证的软件仿真模型。通过参考模型自带的调试指令就可以启动或暂停微处理器模型,且不会对指令的执行造成任何影响。但微处理器IP核的控制比较复杂,设计者一般不会提供相应的调试命令。微处理器IP核的控制主要有两个难点:若无法预取指令,微处理器不会继续执行已预取的指令,而是暂停运行;执行完指定程序段并等待执行下段程序时,微处理器无法保持状态不变。为了保证微处理器IP核能顺利执行完指定程序段,并保证下段程序执行前和上段程序执行完的状态是完全一致的,本专利在指令流中插入nop, invd, jmp等指令来控制微处理器IP核的运行。这种方式不需要大量改变待验证微处理器IP核的内部实现,就能实现指令级同步。参考模型和待验证的微处理器IP核运行完同一段指令后,比较两者的执行结果;如果执行结果一致,继续运行下一段程序;如果执行结果不一致,记录错误信息。实现本专利的验证平台的总体结构图如图1所示,主要分为两个部分:软件程序和硬件逻辑。软件程序包括全系统仿真模型和控制程序。现今有些成熟的全系统仿真模型(SIMICS, BOCHS等)包括处理器和相应外部设备模型,可以运行真实的固件、完全未经过修改的内核和驱动代码、嵌入式操作系统和通用/服务器操作系统。验证平台既可以直接采用这些通用的全系统仿真模型,也可以采用自己设计、实现和验证的软件仿真模型。全系统仿真模型必须可以正确运行需测试的操作系统和应用程序,可以实现单步运行,断点设置和状态读取。控制程序是整个验证平台的控制中心,需要实现的功能:控制全系统仿真模型;获取微处理器软件仿真模型的状态;发送微处理器IP核的控制命令;发送外部设备的响应信息;比较微处理器软件仿真模型和微处理器IP核的状态;处理查出的错误。硬件逻辑包括网络接口、控制模块、接口转换模块和微处理器IP核。网络接口提供控制程序与控制模块之间的数据交互。控制模块需要实现的主要功能:接收和执行控制程序发送的各种命令;发送微处理器IP核的状态;控制微处理器IP核的运行。接口转换模块需要实现的功能:接收和分析软件仿真模型中外部设备的响应信息,以及模拟微处理器IP核连接的外部设备(内存,硬盘接口等)。微处理器IP核是待验证的IP模块,必须提供读取和设定微处理器内部状态的接口。本专利技术一种微处理器IP核比较验证方法的优点是: 可以模拟处理器运行操作系统需要的外部设备,控制并监测微处理器IP核的运行。当微处理器IP核在本专利提供的仿真环境中运行操作系统或应用程序时,再也无需采用传统的采样方式在成千上万条指令中寻找微处理器IP核出现错误的位置,可以通过比较可靠的微处理器参考模型与待测试的微处理器IP核在同一环境下的运行状态,快速定位出现分歧的位置。可以找出并定位一些隐藏较深的设计错误,降低操作系统级别功能验证的工作量,加快微处理器系统级验证的速度,简化查错定位的过程,提升验证查错的效率。【专利附图】【附图说明】图1为总体结构图。图2为仿真流程图。图3为微处理器状态同步示意图。图4为具体实现的示意图。图5为中断处理的示意图。【具体实施方式】本专利提出了一种基于全系统仿真模型的软硬件协同的微处理器IP核的功能验证方法,其仿真验证过程如图2所示,可以分为以下三个步骤: I)微处理器状态的初始化 为了保证微处理器参考模型和待验证IP核在执行程序前,所有状态都是一致,验证系统必须先统一两个微处理器的状态。统一微处理器状态的具体过程如图3所示。图3中,A表示准备开始同步;t2表示参考模型运行到指定位置;t3表示状态信息和相关命令传递到验证板;t4表示验证板根据收到的信息,强制修改待验证微处理器I本文档来自技高网
...

【技术保护点】
一种微处理器IP核比较验证的实现方法,其特征在于:其步骤如下:微处理器状态的初始化     设定微处理器参考模型和微处理器待验证IP核的状态,保证微处理器参考模型和待验证IP核在执行程序前,所有状态都一致;执行指定程序,进行仿真微处理器参考模型和微处理器待验证IP核在相同的仿真环境下,同步执行指定程序段,此步骤的关键是实现参考模型和待验证IP核在指令级别的同步,只有实现了指令级别的同步,才能保证验证的有效性;  3)验证仿真结果参考模型和待验证的微处理器IP核运行完同一段指令后,验证系统对两者的执行结果进行比较,据此判断微处理器IP核是否正确执行。

【技术特征摘要】

【专利技术属性】
技术研发人员:樊宇张义伟秦泰张雁
申请(专利权)人:中国船舶重工集团公司第七零九研究所
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1