UVM NOTE1

http://www.eetop.cn/blog/html/28/1561828-5940195.html

http://www.eetop.cn/blog/html/28/1561828-6333555.html

https://www.doulos.com/knowhow/sysverilog/uvm/easier_uvm_guidelines/detail/

MentorGraphics公司推出的UVM Framework无疑是这样一款“走心”的工具。

目前,有这样一些代码生成器可以供用户下载学习和使用。在使用的同时,请注意这些工具的licence类型,避免使用冲突:

Easier UVM Code Generator @Doulos

https://www.doulos.com/knowhow/sysverilog/uvm/easier_uvm_generator/

 

VCS UVM Template Generator (uvmgen) @Synopsys

这个工具插件绑定与VCS工具,使用之前请确认你的机器是否已经安装有VCS。

 

VerificationWorks envBuilder @Paradigm Works

http://paradigm-works.com/products/

该公司的这个环境自动化工具前些年是免费的,然而现在看起来也要收费了。

 

UVM Framework @MentorGraphics

https://verificationacademy.com/sessions/dvcon-2017/testbench-automation

 

在每个agent里建一个package,在package里面include文件,在env里可以用import来导入package,这样看起来比较有层次

TLM是一个基于事务(transaction)的通信方式,通常在高抽象级的语言中被引用作为模块之间的通讯方式,例如SystemC或者UVM。TLM成功地将模块内的计算和模块之间的通信从时间跨度方面剥离开了。

SV语言提供了一种在多个module、interface和program之中共享parameter、data、type、task、function、class等等的方法,即利用package(包)的方式来实现。如果用上面装修一个大房子(MCDF testbench)来看的话,我们喜欢将不同模块的类定义归整到不同的package中。这么做的好处在于将同一簇相关的类组织在了单一的名字空间(namespace)下,使得分属于不同模块验证环境的类首先来自于不同的package,这样可以通过package来区别类的归属问题。

http://www.eetop.cn/blog/html/28/1561828-2316833.html

module mcdf_tb;

regs_pkg::monitor mon1 = new();

arb_pkg::monitor mon2 = new();

endmodule

如果像让你的类和方法被更多的人使用,更方便的共享,一个基本方式就是首先将它们组织到一个package中。

如果不同package中定义的类名也不相同时,在顶层的引用也可以通过“import pkg_name::*”的形式

package regs_pkg;

`include "regs_stm.sv"

`include "regs_mon.sv"

`include "regs_chk.sv"

`include "regs_env.sv"

endpackage

 

package arb_pkg;

`include "arb_stm.sv"

`include "arb_mon.sv"

`include "arb_chk.sv"

`include "arb_env.sv"

endpackage

 

module mcdf_tb;

import regs_pkg::*;

import arb_pkg::*;

regs_mon mon1= new();

arb_mon mon2 = new();

endmodule

  • 用户可以在module、interface或者program中来引用package。
  • 如果是”import pkg_name::*“,则代表的是该package中定义的类型可能会在module等内部有效可见。只有当module等无法在内部索引到正确地类型时,才会转而去package中去搜寻,那么此时需要注意的是,module内部不应该再有其它同名的类型定义,避免发生同名类型定义的冲突。
  • import操作使得类型可见的域只是调用该import时当前的域。
  •  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值