UVM验证平台的接口快速配置方法、装置、设备及介质制造方法及图纸

技术编号:32015594 阅读:17 留言:0更新日期:2022-01-22 18:33
本发明专利技术实施例提供一种UVM验证平台的接口快速配置方法、装置、设备及介质,方法包括:在UVM验证平台的顶层模块以及每个底层的package文件里创建定义文件;其中,所述UVM验证平台包括顶层模块和位于顶层模块之内的若干个不同层次的底层模块;在顶层模块和每个底层模块的定义文件定义连接接口的宏函数;其中,所述宏函数用于对其下一层次的底层已经写好的用于连接接口的宏函数进行封装;当检测到需要连接至外部的DUT时,通过从顶层模块向下一层次的底层递归调用宏函数的方式对连接接口进行快速配置,以实现UVM验证平台通过配置的连接接口连接至所述DUT。本发明专利技术大大提升了开发人员的工作效率,起到了加速项目进度的作用,从而保证芯片项目的流片时间。从而保证芯片项目的流片时间。从而保证芯片项目的流片时间。

【技术实现步骤摘要】
UVM验证平台的接口快速配置方法、装置、设备及介质


[0001]本专利技术涉及计算机
,具体而言,涉及一种UVM验证平台的接口快速配置方法、装置、设备及介质。

技术介绍

[0002]通常在对RTL进行验证时,广泛使用的验证方法学是UVM(Universal VerificationMethodology),它是一套基于TLM(transaction

level methodology)通信开发的验证平台。简单说,它是一个类库文件,可以帮助验证开发人员很容易地搭建可配置可重用的验证环境。这套方法学已经把很多底层的接口封装成了一个个对象,开发者只需要按照语法规则来使用即可。
[0003]如图1所示,图1为现有的UVM验证平台的典型架构,从图1中可以看到,UVM验证平台是通过interface将DUT连接到验证平台。此时,通常需要在top顶层模块中完成以下三件事:
[0004](1)声明interface
[0005](2)将interface连接到DUT
[0006](3)通过set config_db向env环境传递interface。
[0007]为便于理解UVM验证平台的工作原理,以下对RTL设计模块的行为功能进行抽象,如图2所示。
[0008]可以发现每一个RTL设计模块都会有如下三个部分组成:
[0009](1)输入端接口,用来获取外部的输入激励,如图2的data_in
[0010](2)行为功能,用于对输入激励进行相应的逻辑运算,如图2的module模块内部的运算逻辑(包括组合和时序逻辑电路)
[0011](3)输出端接口,用来将运算后的结果输出,如图2的data_out
[0012]如图3所示,通常会对上面三个抽象部分做如下验证环境的封装:
[0013](1)对输入端data_in的interface封装成agent
[0014](2)对输出端data_out的interface封装成agent
[0015]注意上面封装的agent主要完成两件事:
[0016]agent封装组件里的monitor监测采样interface的信号,封装成transaction以传递给验证环境,以供后续组件的处理
[0017]agent封装组件里的driver拿到interface句柄,然后将需要的激励transaction驱动到interface上,作为后续模块的输入激励
[0018](3)对上面两个agent封装在env验证环境里,并在该层次下编写reference model和一些分析组件,并开始编写测试用例对该RTL设计模块做验证。
[0019]在验证平台的top顶层模块里需要完成对data_in和data_out对应的interface的声明、连接和配置传递。一般top顶层模块中例化包含了两个module,一个是rtl_inst_top,用来例化RTL设计,另一个是env_inst_top,用来对所有的interface进行声明、连接和配置
传递。图3的RTL设计模块只有一个层次,是最简单的情况,但如果是像图4中那样呢?
[0020]此时在验证平台的top顶层模块里就需要完成对所有底层agent所封装的interface进行声明、连接和配置传递已经有点麻烦了。
[0021]而对于更复杂的RTL设计层次,例如,往往一个复杂的芯片内部会由成百上千个子模块组成,那么对应的interface也会达到成百上千个,那么在顶层环境里光声明interface就需要至少上千次。此时如果在验证平台的top顶层模块里继续对所有底层agent所封装的interface进行声明、连接和配置传递,会发现事情会变得非常棘手,路径层次和代码语句会变得非常冗长复杂,很容易出错,甚至而言几乎是不可能完成的工作。

技术实现思路

[0022]有鉴于此,本专利技术的目的在于提供一种UVM验证平台的接口快速配置方法、装置、设备及介质,以改善上述问题。
[0023]本专利技术实施例提供了一种UVM验证平台的接口快速配置方法,其包括:
[0024]在UVM验证平台的顶层模块以及每个底层的package文件里创建定义文件;其中,所述UVM验证平台包括顶层模块和位于顶层模块之内的若干个不同层次的底层模块,且不同层次的底层模块之间根据其层次大小互相嵌套;
[0025]在顶层模块和每个底层模块的定义文件定义连接接口的宏函数;其中,所述宏函数用于对其下一层次的底层已经写好的用于连接接口的宏函数进行封装;
[0026]当检测到需要连接至外部的DUT时,通过从顶层模块向下一层次的底层递归调用宏函数的方式对连接接口进行快速配置,以实现UVM验证平台通过配置的连接接口连接至所述DUT。
[0027]优选地,还包括:
[0028]通过对脚本进行配置来自动实现对底层模块的两个输入输出端口分别封装成独立的agent。
[0029]优选地,在配置的定义文件里,对当前连接接口进行声明,然后通过is_active参数来指定连接接口的连接方向,从而判断其是否需要由env验证环境来通过sequence驱动给DUT,即该interface对应的agent封装是否为active模式;其中,由env验证环境中的sequence来驱动时,is_active为1,由DUT来驱动时,is_active为0。
[0030]优选地,对于封装的宏函数,对应于该层验证环境被更上一层次实例化包含两种使用模式,其中:
[0031]第一种使用模式对应的底层模块的输入端口是由sequence激励来驱动的;
[0032]第二种使用模式对应的底层模块的输入端口则是由下一层次的底层模块的输出端口来驱动的。
[0033]本专利技术实施例还提供了一种UVM验证平台的接口快速配置装置,其包括:
[0034]定义文件创建单元,用于在UVM验证平台的顶层模块以及每个底层的package文件里创建定义文件;其中,所述UVM验证平台包括顶层模块和位于顶层模块之内的若干个不同层次的底层模块,且不同层次的底层模块之间根据其层次大小互相嵌套;
[0035]宏函数封装单元,用于在顶层模块和每个底层模块的定义文件定义连接接口的宏函数;其中,所述宏函数用于对其下一层次的底层已经写好的用于连接接口的宏函数进行
封装;
[0036]递归调用单元,用于当检测到需要连接至外部的DUT时,通过从顶层模块向下一层次的底层递归调用宏函数的方式对连接接口进行快速配置,以实现UVM验证平台通过配置的连接接口连接至所述DUT。
[0037]优选地,还包括:
[0038]端口封装单元,用于通过对脚本进行配置来自动实现对底层模块的两个输入输出端口分别封装成独立的agent。
[0039]优选地,在配置的定义文件里,对当前连接接口进行声明,然后通过is_active参数来指定连接接口的连接本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种UVM验证平台的接口快速配置方法,其特征在于,包括:在UVM验证平台的顶层模块以及每个底层的package文件里创建定义文件;其中,所述UVM验证平台包括顶层模块和位于顶层模块之内的若干个不同层次的底层模块,且不同层次的底层模块之间根据其层次大小互相嵌套;在顶层模块和每个底层模块的定义文件定义连接接口的宏函数;其中,所述宏函数用于对其下一层次的底层已经写好的用于连接接口的宏函数进行封装;当检测到需要连接至外部的DUT时,通过从顶层模块向下一层次的底层递归调用宏函数的方式对连接接口进行快速配置,以实现UVM验证平台通过配置的连接接口连接至所述DUT。2.根据权利要求1所述的UVM验证平台的接口快速配置方法,其特征在于,还包括:通过对脚本进行配置来自动实现对底层模块的两个输入输出端口分别封装成独立的agent。3.根据权利要求2所述的UVM验证平台的接口快速配置方法,其特征在于,在配置的定义文件里,对当前连接接口进行声明,然后通过is_active参数来指定连接接口的连接方向,从而判断其是否需要由env验证环境来通过sequence驱动给DUT;其中,由env验证环境中的sequence来驱动时,is_active为1,由DUT来驱动时,is_active为0。4.根据权利要求1所述的UVM验证平台的接口快速配置方法,其特征在于对于封装的宏函数,对应于该层底层模块被更上一层次底层模块实例化包含两种使用模式,其中:第一种使用模式对应的底层模块的输入端口是由sequence激励来驱动的;第二种使用模式对应的底层模块的输入端口则是由下一层次的底层模块的输出端口来驱动的。5.一种UVM验证平台的接口快速配置装置,其特征在于,包括:定义文件创建单元,用于在UVM验证平台的顶层模块以及每个底层的package文件里创建定义文件;其中,所述UVM验证平台包括顶层模块和位于顶层模块之内的若干个不同层次的底层模块,且不同层次的底层模块之间根据其层次大小互相嵌套;宏...

【专利技术属性】
技术研发人员:马骁
申请(专利权)人:杭州云合智网技术有限公司
类型:发明
国别省市:

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

1