UVM:2.3 为验证平台加入各个组件->2.3.2 加入env

1.my_env如下:

`ifndef MY_ENV__SV
`define MY_ENV__SV

class my_env extends uvm_env;

   my_driver drv;

   function new(string name = "my_env", uvm_component parent);
      super.new(name, parent);
   endfunction

   virtual function void build_phase(uvm_phase phase);
      super.build_phase(phase);
      drv = my_driver::type_id::create("drv", this); 
   endfunction

   `uvm_component_utils(my_env)
endclass
`endif

1)line 14:只有使用factory 注册过的类(uvm_component_utils),才能使用这种方式例化;才能使用重载。 new也能例化,但不能重载,不知道为什么,看源代码应该知道。上周有人问我,为什么不用new,现在知道了,嘻嘻!!

2)验证平台的组件都应该使用:type_name::type_id::create的方式例化。

3)type_id不是什么数字之类的id,就是个类型,看源码就知道了,以后再写。

4)create传了两个参数,自己的名字和parent。和 new 是一样的,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值