用于IP单元级别验证的总线驱动式芯片仿真激励模型制造技术

技术编号:34864444 阅读:19 留言:0更新日期:2022-09-08 08:08
本发明专利技术公开一种用于IP单元级别验证的总线驱动式芯片仿真激励模型,其通过以下过程实现:S1:替换系统软件驱动程序的IO寄存器访问序列;S2:替换驱动程序的寄存器定时时序保证功能;S3:替换测试机台的测试激励初始化过程,并直接调用系统软件的验证程序入口。并直接调用系统软件的验证程序入口。并直接调用系统软件的验证程序入口。

【技术实现步骤摘要】
用于IP单元级别验证的总线驱动式芯片仿真激励模型


[0001]本专利技术涉及芯片仿真
,具体而言,涉及一种用于IP单元级别验证的总线驱动式芯片仿真激励模型,更具体地是一种通过软件架构/驱动抽象层将任意设备驱动软件用于IP单元级别验证的总线驱动式芯片仿真激励模型。

技术介绍

[0002]IP(Intellectual Property Core)又称为IP核,是芯片中具有独立功能的电路模块的成熟设计,常见的IP单元级别验证通常为使用UVM(Universal Verification Methodology,通用验证方法学)总线激励控制IP的寄存器接口,一个测试机台(Test Bench)包括被测试的设计IP(如图1中的Design IP)、验证IP(如图1中Verification IP)和总线功能模型(Bus Function Model)的总线激励序列,总线功能在测试机台产生的时钟频率(Frequency Generator)下工作以驱动被测试的设计IP和验证IP交互,通过验证IP检查设计IP的功能是否正常。
[0003]然而,常用的开源操作系统如Linux通常只能支持一种CPU体系结构抽象,因此无法将任意设备的驱动软件直接用作芯片仿真用的总线功能模型激励。

技术实现思路

[0004]为解决上述问题,本专利技术提供一种用于IP单元级别验证的总线驱动式芯片仿真激励模型,通过DPI(Direct Programming Interface)接口实现一种CPU体系结构抽象的软件层来转换开源操作系统中的硬件驱动,用作芯片仿真用的总线功能模型激励,由于所采用的native C(C语言实现的本地方法)相比于UVM方法速度更快,因此还可以比传统的UVM方法提供加快50%的仿真速度。
[0005]为达到上述目的,本专利技术提供了一种用于IP单元级别验证的总线驱动式芯片仿真激励模型,其通过以下过程实现:
[0006]步骤S1:替换系统软件驱动程序的IO寄存器访问序列;
[0007]步骤S2:替换驱动程序的寄存器定时时序保证功能;
[0008]步骤S3:替换测试机台的测试激励初始化过程,并直接调用系统软件的验证程序入口。
[0009]在本专利技术一实施例中,其中,步骤S1包括:
[0010]步骤S1.1:使用Verilog语言实现和IP仿真频率关联的总线master读写任务;
[0011]步骤S1.2:通过SystemVerilog的DPI接口将总线master读写任务转换成C语言能够调用的IO读写函数;
[0012]步骤S1.3:采用如下方法实现对IP对外的多个地址空间的同一寄存器偏移的访问:
[0013]为不同的地址空间指定不同的基址,然后在任一读/写的RTL序列中根据传入的地址不同,调用不同的总线master读写任务,即在RTL中增加地址译码;或者
[0014]提供不同的总线master读写任务,并将其表现为不同的C语言函数,再到C语言端根据不同基址调用不同地址空间;
[0015]步骤S1.4:监控在IO读写函数被C语言调用时,Verilog语言中是否有时序操作能够推动芯片仿真的循环向前推进执行。
[0016]在本专利技术一实施例中,其中,步骤S2包括:
[0017]步骤S2.1:用Verilog语言实现和IP仿真频率关联的计数器;
[0018]步骤S2.2:通过SystemVerilog的DPI接口将计数器转换成C语言能够调用的定时函数;
[0019]步骤S2.3:监控在定时器函数被C语言调用时,Verilog语音中是否有时序操作能够做到推动芯片仿真的循环向前推进执行。
[0020]在本专利技术一实施例中,其中,所述系统软件需要具备以下特点:
[0021]所述系统软件包含体系结构抽象层;
[0022]所述系统软件包含硬件驱动抽象层;及/或
[0023]所述系统软件包含可配置的能力。
[0024]本专利技术提供的用于IP单元级别验证的总线驱动式芯片仿真激励模型,相较于现有技术,至少具备以下优点:
[0025]1)通过增加时钟滴答(Tick)硬件,以实现系统软件的定时(delay)功能;
[0026]2)通过转换总线功能模型的总线序列(Bus sequencer),实现系统软件的IO访问(read、write)功能;
[0027]3)通过增加测试机台的初始化流程,能够直接通过DPI接口调用系统软件的测试入口;
[0028]4)本专利技术的测试机台的频率发生器能够为时钟滴答(Tick)硬件和总线序列(Bus sequencer)硬件提供参考时钟。
附图说明
[0029]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图1为本专利技术一实施例的模型架构示意图。
具体实施方式
[0031]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0032]通常情况下,一个驱动程序主要包含寄存器IO(输入输出)访问序列(read、write)、寄存器访问之间的时序保证(delay)。因此,本实施例通过增加以下几个系统软件和IP单元级别验证测试机台结合时各自需要修改的配置的部分,实现直接操作IP硬件:
[0033]1)增加时钟滴答(Tick)硬件,允许系统软件通过DPI接口访问时钟滴答(Tick)硬件,来获取仿真环境的参考时间以实现系统软件的定时(delay)功能;
[0034]2)转换总线功能模型的总线序列(Bus sequencer),允许系统软件通过DPI接口访问这个总线序列来实现系统软件的IO访问(read、write)功能;
[0035]3)增加测试机台的初始化流程,直接通过DPI接口调用系统软件的测试入口;
[0036]4)测试机台的频率发生器需要为时钟滴答(Tick)硬件和总线序列(Bus sequencer)硬件提供参考时钟。
[0037]图1为本专利技术一实施例的模型架构示意图,如图1所示,本实施例提供用于IP单元级别验证的总线驱动式芯片仿真激励模型,其通过以下过程实现:
[0038]步骤S1:替换系统软件驱动程序的IO寄存器访问序列;
[0039]在本实施例中,其中,步骤S1包括:
[0040]步骤S1.1:使用Verilog语言实现和IP仿真频率关联的总线master(可视为主控部分)读写任务;参见图1中对Test Bench:Bus Se本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于IP单元级别验证的总线驱动式芯片仿真激励模型,其特征在于,通过以下过程实现:步骤S1:替换系统软件驱动程序的IO寄存器访问序列;步骤S2:替换驱动程序的寄存器定时时序保证功能;步骤S3:替换测试机台的测试激励初始化过程,并直接调用系统软件的验证程序入口。2.根据权利要求1所述的用于IP单元级别验证的总线驱动式芯片仿真激励模型,其特征在于,步骤S1包括:步骤S1.1:使用Verilog语言实现和IP仿真频率关联的总线master读写任务;步骤S1.2:通过SystemVerilog的DPI接口将总线master读写任务转换成C语言能够调用的IO读写函数;步骤S1.3:采用如下方法实现对IP对外的多个地址空间的同一寄存器偏移的访问:为不同的地址空间指定不同的基址,然后在任一读/写的RTL序列中根据传入的地址不同,调用不同的总线master读写任务,即在RTL中增加地址译码;或者提供不同的总线mas...

【专利技术属性】
技术研发人员:郑律王飞范东睿
申请(专利权)人:苏州睿芯集成电路科技有限公司
类型:发明
国别省市:

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

1