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