一种周期精确转换器及其集成电路验证方法和系统技术方案

技术编号:7995791 阅读:151 留言:0更新日期:2012-11-22 04:41
本申请公开了一种周期精确转换器及其集成电路验证方法和系统,本申请中周期精确转换器将非周期精确的功能参考模型产生的执行结果进行周期标注、填充和排序,得到周期精确的结果。将周期精确转换器的执行结果与周期精确的设计实现输出的执行结果进行对比,这样可以实现很好的错误定位以缩短对周期精确的设计实现的验证时间。

【技术实现步骤摘要】

本申请属于集成电路设计和验证
,具体涉及一种周期精确转换器及其集成电路验证方法和系统
技术介绍
目前由于集成电路设计的复杂度逐渐提升,建模 已经成为了设计流程中不可缺少的步骤之一。在设计的早期,进行系统建模阶段,主要完成性能评估和功能模拟的任务,以验证设计的框架结构是否满足性能要求,功能理解是否正确,此时构建的模型为非周期精确的功能参考模型,其后会逐渐细化完成周期精确的设计。在处理器设计中,指令集定义完成后,每次的处理器芯片的版本升级对指令集的功能影响很小,而对其流水线的划分会有较大的改动,即指令功能不变,结构变化,从而时序发生变化。如果仍然沿用原有的指令级精确的功能模型直接进行仿真验证就会出现一个问题,即只能对比指令运行完毕后的执行结果,对错误的定位和修改都产生了很大的困难。如何重复使用已有的指令级精确的功能模型(即非周期精确的功能参考模型)来适应不同处理器实现结构的功能验证工作,实现很好的错误定位,方便设计人员修改,以缩短验证时间,成为一个需要解决的问题。
技术实现思路
本申请要解决的主要技术问题是,提供一种周期精确转换器及其集成电路验证方法和系统,实现很好的错误定位以缩短对周期精确的设计实现的验证时间。为解决上述技术问题,本申请提供一种周期精确转换器,包括读入单元,用于读入非周期精确的功能参考模型输出的执行结果以及实际被执行的事务包或者指令;类型判定单元,从所述读入单元接收被非周期精确功能模型执行的事务包或者指令,判定每个事务包或指令的类型,然后输出带标识类型的事务包或者指令;情况区分单元,根据类型判定单元输出的带标识类型的事务包或者指令,结合周期精确的设计实现中的控制信号或者指示信号来判断区分当前工作时钟周期下验证环境的场景类型,所述场景类型包括特殊情况、中断情况、异常情况和一般情况;周期计算排序单元,根据情况区分单元输出的当前工作时钟周期下验证环境的场景类型以及当前工作时钟周期周期精确的设计实现提供的控制信号或者指示信号,对非周期精确的功能参考模型的执行结果进行周期标注、填充和排序,得到周期精确的执行结果。进一步地,所述情况区分单元包括一般情况判定子单元,用于判定周期精确的设计实现当前工作时钟周期不需要特殊流水线管理的情况或者明确了流水线管理所要等待的工作时钟周期并在等待时执行结果保持不变的情况;异常情况判定子单元,用于判定周期精确的设计实现当前工作时钟周期出现异常,接受异常指示,进入异常处理的情况;中断情况判定子单元,用于判定周期精确的设计实现当前工作时钟周期被中断信号影响,接受中断指示,进入中断处理的情况;特殊情况判定子单元,用于判定周期精确的设计实现当前工作时钟周期出现运行某些事务或指令时某些寄存器按照流水线管理在不同与其他寄存器的流水线级发生改变的情况,或者由外部信号直接控制寄存器变化的情况。进一步地,所述周期计算排序单元包括第一周期计算排序单元,根据所述类型判定单元输出 的带标识类型的事务包或者指令,假定周期精确的设计实现每个工作时钟周期下验证环境均为一般情况,对所述读入单元输出的所述执行结果以及实际被执行的事务包或者指令的执行结果,进行周期标注、填充和排序;第二周期计算排序单元,以第一周期计算排序单元输出的带有周期标注并排序、填充后的执行结果为基础,根据情况区分单元输出的当前工作时钟周期下验证环境的场景类型以及当前工作时钟周期周期精确的设计实现提供的控制信号或指示信号,对执行结果进一步进行周期标注、填充和排序。具体地,所述第二周期计算排序单元计算并填充排序来自第一周期计算排序单元的已完成的基本周期标注、填充和排序后的结果之前还判定带有基本周期标注、填充和排序后的结果是否需要重新计算,如果当前周期场景类型为特殊情况、中断情况或异常情况中的一种,则重新计算执行结果,然后再进行周期标注、填充和排序。具体地,所述类型判定单元根据事务包的包类型值、指令的助记符或者指令的二进制操作码判断每个事务包或者指令的类型。本申请还公开了一种采用上述的周期精确转换器对集成电路周期精确设计实现进行验证的方法,包括产生测试用例步骤,测试用例产生模块产生测试用例,并将产生的测试用例加载到所述周期精确的设计实现和非周期精确的功能参考模型中,所述测试用例包括事务包、指令以及场景控制信息;产生非周期精确的执行结果的步骤,非周期精确的功能参考模型根据测试用例输出执行结果以及实际被执行的事务包或指令;执行结果周期精确化步骤,周期精确转换器对非周期精确的功能参考模型输出的执行结果进行周期标注、填充和排序,得到周期精确的执行结果;比较和错误定位步骤,将周期精确的设计实现根据测试用例输出的执行结果和周期精确转换器输出的周期精确的执行结果进行比较,输出比较结果报告,所述比较结果报告包括错误产生的工作时钟周期和对应的事务包或者指令,以及报告出现的未设定情况。具体地,所述执行结果周期精确化步骤包括读入非周期精确的功能参考模型输出的执行结果以及实际被执行的事务包或者指令;判定每个事务包或指令的类型,根据判断结果输出带标识类型的事务包或者指令;根据带标识类型的事务包或者指令结合周期精确的设计实现中的控制信号或者指示信号来判断区分当前工作时钟周期下验证环境的场景类型,所述场景类型包括特殊情况、中断情况、异常情况和一般情况;先假定周期精确的设计实现每个工作时钟周期下验证环境均为一般情况,对非周期精确的功能参考模型得到的各个执行结果对应的工作时钟周期进行计算预测,并将预测的工作时钟周期标注于相应的执行结果,对标注了工作时钟周期的执行结果按周期的大小进行排序,当出现周期不连续时,对不连续处空缺的周期进行相应执行结果的预测,将预测的执行结果填充到空缺处,得到了周期连续的执行结果;再根据当前工作时钟周期下验证环境的场景类型以及当前工作时钟周期周期精确的设计实现提供的控制信号或指示信号,对周 期连续的执行结果进一步进行周期预测、标注、填充和排序。具体地,所述先假定周期精确的设计实现每个工作时钟周期下验证环境均为一般情况,对非周期精确的功能参考模型得到的各个执行结果对应的工作时钟周期进行计算预测包括在上一个执行结果的工作时钟周期的基础上加一个或者已知的等待周期,作为当前执行结果的预测周期,并将其标注于相应的执行结果;所述再根据当前工作时钟周期下验证环境的场景类型以及当前工作时钟周期周期精确的设计实现提供的控制信号或指示信号,对周期连续的执行结果进一步进行周期预测、标注、填充和排序包括当前工作时钟周期下验证的场景类型为一般情况时,不作进一步处理;当前工作时钟周期的场景类型为中断情况时,在上一个结果的周期基础上插入对应中断处理的等待周期数,作为当前执行结果的预测周期,并将其标注于相应的执行结果;当前工作时钟周期的场景类型为异常情况时,第二周期计算排序单元在上一个结果的周期基础上插入对应异常处理的等待周期数,作为当前执行结果的预测周期,并将其标注于相应的执行结果;当前工作时钟周期的场景类型为特殊情况时,第二周期计算排序单元在上一个结果的周期基础上插入对应特殊情况处理的等待周期(数),作为当前执行结果的预测周期,并将其标注于相应的执行结果。进一步地,在比较和错误定位步骤之后还包括根据比较结果报告调整对周期精确转换器的参数设置,所述参数包括本文档来自技高网...

【技术保护点】
一种周期精确转换器,其特征在于,包括:读入单元,用于读入非周期精确的功能参考模型输出的执行结果以及实际被执行的事务包或者指令;类型判定单元,从所述读入单元接收被非周期精确功能模型执行的事务包或者指令,判定每个事务包或指令的类型,然后输出带标识类型的事务包或者指令;情况区分单元,根据类型判定单元输出的带标识类型的事务包或者指令,结合周期精确的设计实现中的控制信号或者指示信号来判断区分当前工作时钟周期下验证环境的场景类型,所述场景类型包括特殊情况、中断情况、异常情况和一般情况;周期计算排序单元,根据情况区分单元输出的当前工作时钟周期下验证环境的场景类型以及当前工作时钟周期周期精确的设计实现提供的控制信号或者指示信号,对非周期精确的功能参考模型的执行结果进行周期标注、填充和排序,得到周期精确的执行结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:谢峥苏吉婷王新安陈旭李世军周芝丽王腾张兴
申请(专利权)人:北京大学深圳研究生院
类型:发明
国别省市:

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

1