一种静态编译动态仿真的soc芯片验证系统及验证方法

文档序号:8380787阅读:336来源:国知局
一种静态编译动态仿真的soc芯片验证系统及验证方法
【技术领域】
[0001]本发明涉及的是一种SOC芯片验证领域,尤其是一种静态编译动态仿真的SOC芯片验证系统及验证方法。
【背景技术】
[0002]在片上系统(S0C)芯片设计开发过程中,为了保证各模块之间互连和接口正确性,需要外挂验证模型(也称验证IP)进行芯片级仿真和验证。随着SOC芯片集成规模越来越大,需要外挂的验证模型越来越多。这些外挂的验证模型一旦跟SOC直接连在一起,在SOC系统仿真时就会跟其它设计一起被编译并且参与仿真,导致整个设计代码编译仿真速度非常慢。其实在进行芯片验证时,一次仿真往往并不需要所有的验证模型都参与仿真,通常只需要少数几个验证模型就可以。
[0003]基于此,本发明提出了一种静态编译动态仿真验证模型的验证方法,即编译时所有的验证模型都被静态地编译和链接,而仿真时则动态地选择哪几个模型参与仿真,从而可以大大减少仿真器的运算量,缩短仿真时间。

【发明内容】

[0004]本发明的目的就是针对现有技术所存在的不足,而提供一种静态编译动态仿真的SOC芯片验证系统及验证方法,该方案为了实现验证模型在仿真时的动态可选,模型选择模块通过抓取仿真命令参数中定义的宏参数来控制有哪些仿真模型需要参与仿真。此外,针对每个验证模型设计一个验证模型封装模块,在该模块中将验证模型封装起来,并且使用可控的双向开关控制验证模型与SOC设计之间连通或断开,进而控制验证模型是否实际参与动态仿真。
[0005]本方案是通过如下技术措施来实现的:一种静态编译动态仿真的SOC芯片验证系统,其特征在于包括如下模块:
验证模型封装模块,用于对每个验证模型实现例化,并对验证模型进行封装;
双向开关控制模块,用于连接芯片和封装的验证模型,实现芯片和封装的验证模型之间的连通或断开;
模型选择模块,用于抓取仿真命令,并根据仿真命令控制哪些仿真模型需要参与仿真。模型选择模块通过控制双向开关模块实现芯片与验证模型的连通或断开。所述的模型选择模块抓取仿真命令中的宏参数来控制哪些仿真模型需要参与仿真。
[0006]一种静态编译动态仿真的SOC芯片验证方法,其特征在于包括如下步骤:
1)抓取仿真命令中的宏参数,并确定宏参数中的使能信号;
2)根据使能信号,连通芯片与相应的验证模型,进行仿真。
[0007]在验证模型参与仿真之前,需要先进行例化,并且仿真时,根据不同测试功能需求,需要通过仿真命令选项定义用于相关验证模型使能的宏参数。
[0008]在验证模型封装模块内实现验证模型的例化。
[0009]验证模型与芯片之间通过双向开关连接。
[0010]在步骤I)中,模型选择模块接收仿真命令中的宏参数,根据宏参数的值确定相应验证模型的使能信号。使能信号控制双向开关的通断,实现验证模型与芯片之间连接的通断,如果断开则验证模型不会被触发,不参与仿真,反之,验证模型参与仿真。
[0011]本方案的有益效果可根据对上述方案的叙述得知,由于在该方案中模型选择模块通过抓取仿真命令参数中定义的宏参数来控制有哪些仿真模型需要参与仿真,由可控的双向开关控制验证模型与SOC设计之间连通或断开,进而控制验证模型是否实际参与动态仿真。由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
【附图说明】
[0012]图1为本发明【具体实施方式】的结构示意图。
【具体实施方式】
[0013]为能清楚说明本方案的技术特点,下面通过一个【具体实施方式】,并结合其附图,对本方案进行阐述。
[0014]通过附图可以看出,本方案的一种静态编译动态仿真的SOC芯片验证系统,包括验证模型封装模块tb_model,用于对每个验证模型verificat1n model (i)实现例化,并对验证模型verificat1n model (i)进行封装;
双向开关控制模块,为可控的双向开关,用于连接芯片和封装的验证模型verificat1n model (i),实现SOC芯片和封装的验证模型之间的连通或断开;
模型选择模块tb_m0del_sel,用于抓取仿真命令参数中的宏参数来控制哪些仿真模型需要参与仿真。
[0015]验证时,在tb_model模块内实现验证模型的例化和验证模型与SOC之间的选通连接。各验证模型通过可控的双向开关(tranifl或其它开关)连接到SOC芯片的输入输出接口。使能信号en_model_(i)控制双向开关的通断。默认情况下各验证模型的使能信号en均为O值,以使用双向开关tranifl为例,当使能信号en为O时开关tranifl断开,验证模型与SOC之间的连接被切断,则验证模型不会被触发,不会参与整个系统仿真。反之,当en信号被置I时开关tranifl连通,则验证模型参与整个系统仿真。
[0016]en信号的产生来自于模型选择模块tb_model_sel。在模块tb_model_sel中,仿真时首先会接收仿真命令选项(_sim_opt)中传入的宏参数,根据宏参数的值使能相应验证模型的en信号。由于宏参数是在系统编译完成后进入仿真阶段时才被传入的,所以所有验证模型在编译阶段都会被编译,在仿真阶段才被选择性地执行。
[0017]本发明并不仅限于上述【具体实施方式】,本领域普通技术人员在本发明的实质范围内做出的变化、改型、添加或替换,也应属于本发明的保护范围。
【主权项】
1.一种静态编译动态仿真的SOC芯片验证系统,其特征在于包括如下模块: 验证模型封装模块,用于对每个验证模型实现例化,并对验证模型进行封装; 双向开关控制模块,用于连接芯片和封装的验证模型,实现芯片和封装好的验证模型的连通或断开; 模型选择模块,用于抓取仿真命令,并根据仿真命令控制哪些仿真模型需要参与仿真。
2.根据权利要求1所述的静态编译动态仿真的SOC芯片验证系统,其特征是:所述的模型选择模块抓取仿真命令中的宏参数来控制哪些仿真模型需要参与仿真。
3.一种静态编译动态仿真的SOC芯片验证方法,其特征在于包括如下步骤: 1)抓取仿真命令中的宏参数,并确定宏参数中的使能信号; 2)根据使能信号,连通芯片与相应的验证模型,进行仿真。
4.根据权利要求3所述的静态编译动态仿真的验证方法,其特征在于:在验证模型参与仿真之前,需要先进行例化,并且仿真时,根据不同测试功能需求,需要通过仿真命令选项定义用于相关验证模型使能的宏参数。
5.根据权利要求4所述的静态编译动态仿真的SOC芯片验证方法,其特征在于:在验证模型封装模块内实现验证模型的例化。
6.根据权利要求3所述的静态编译动态仿真的SOC芯片验证方法,其特征在于:验证模型与芯片之间通过双向开关连接。
7.根据权利要求6所述的静态编译动态仿真的SOC芯片验证方法,其特征在于:在步骤I)中,模型选择模块接收仿真命令中的宏参数,根据宏参数的值确定相应验证模型的使能信号。
8.根据权利要求7所述的静态编译动态仿真的SOC芯片验证方法,其特征在于:使能信号控制双向开关的通断,实现验证模型与芯片之间连接的通断,如果断开则验证模型不会被触发,不参与仿真,反之,验证模型参与仿真。
【专利摘要】本发明提供了一种静态编译动态仿真的SOC芯片验证系统及验证方法,包括验证模型封装模块,用于对每个验证模型实现例化,并对验证模型进行封装;双向开关控制模块,用于连接芯片和封装的验证模型,实现芯片和封装的验证模型之间的连通或断开;模型选择模块,用于抓取仿真命令参数,并根据仿真命令参数控制哪些验证模型需要参与仿真。实现验证模型在仿真时的动态可选,模型选择模块通过抓取仿真命令参数中定义的宏参数来控制有哪些验证模型需要参与仿真。针对每个验证模型设计一个验证模型封装模块,在该模块中将验证模型封装起来,并且使用可控的双向开关控制验证模型与SOC设计之间连通或断开,进而控制验证模型是否实际参与动态仿真。
【IPC分类】G06F9-455
【公开号】CN104699524
【申请号】CN201510149463
【发明人】戴绍新, 李风志, 杨萌, 姚香君, 石易明, 李文军
【申请人】山东华芯半导体有限公司
【公开日】2015年6月10日
【申请日】2015年4月1日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1