Quantcast
Channel: UVM Forums RSS Feed
Viewing all articles
Browse latest Browse all 756

uvm_config_db multiple instances

$
0
0

In the env, there is such uvm_config_db::set():

    for (int i = 0; i < host_num; i++) begin
      inst_name = $sformatf("*.v_seq.slv_seq[%0d]", i); 
      uvm_config_db#(uvm_event)::set(uvm_root::get(), inst_name, "evt", env.subenv[i].slv_agt.slv_mon.evt);
    end

 

in the slv_seq, there is such uvm_config_db::get():

if(!uvm_config_db#(uvm_event)::get(null, this.get_full_name(), "evt", evt))
    `uvm_fatal("NOEVT",{"evt must be set for: ",get_full_name(),".evt"});

 

When I use +UVM_CONFIG_DB_TRACE, I found such message:

UVM_INFO /EDA_Tools/synopsys/vcs1209/etc/uvm-1.1/uvm-1.1d/src/base/uvm_resource_db.svh(121) @ 2580000: reporter [CFGDB/GET] Configuration 'uvm_test_top.env.v_sqr.v_seq.slv_seq[k]evt' (type class uvm_pkg::uvm_event) read by  = null (failed lookup)

 

If I uvm_config_db::set() in slv_mon like this:

uvm_config_db#(uvm_event)::set(uvm_root::get(), "*", "evt",evt);

there isn't such message, I think it configures successfully. there are multiple slv_mon and slv_seq instances, when there is only one valid slv_mon and slv_seq, the evt cann't pass successfully when it triggered. So I want to config evt of slv_mon to slv_seq using the bijective way. It isn't success at the moment, can anybody tell me the graceful way?

 

Thanks in advance

mrforever


Viewing all articles
Browse latest Browse all 756

Trending Articles