UVM implicit sequence call issue

Hi,
I am unable to start the following sequence using the implicit call from my verification environment.

uvm_config_db#(uvm_object_wrapper)::set(this,"ap_eg_agnt.sqncr.main_phase" , "default_sequence", ready_item_sequence::type_id::get());

I was able to do this before in a similar fashion and have looked for all the possible connections right from the testbench to the driver and all the components in my environment are set up correctly. Is there any method to debug this issue further inside the UVM libraries to dig further into the problem?

In reply to ssethii:

Please try this:

uvm_config_db#(uvm_object_wrapper)::set(this,"ap_eg_agnt.sqncr.run_phase" , "default_sequence", ready_item_sequence::get_type());

In reply to chr_sue:

In reply to ssethii:
Please try this:

uvm_config_db#(uvm_object_wrapper)::set(this,"ap_eg_agnt.sqncr.run_phase" , "default_sequence", ready_item_sequence::get_type());

No luck with that as well. How can debug this issue further?

In reply to ssethii:

I assume your hierachy string is not correct.
I’d try

uvm_config_db#(uvm_object_wrapper)::set(null,"*ap_eg_agnt.sqncr.run_phase" , "default_sequence", ready_item_sequence::get_type());

The hierarchy string you are providing should be same as the string name you have provided while creating components. Also check by raising an objection in the sequence as shown below


task body();
  if(starting_phase !=null)
    staring_phase.raise_objection(this);
  ....
  ....
   if(starting_phase !=null)
    staring_phase.drop_objection(this);
endtask

In reply to chr_sue:

In reply to ssethii:
I assume your hierachy string is not correct.
I’d try

uvm_config_db#(uvm_object_wrapper)::set(null,"*ap_eg_agnt.sqncr.run_phase" , "default_sequence", ready_item_sequence::get_type());

I tried that but it didn’t work for me. I have tried many things but unable to pinpoint the problem that’s why I asked for a way to isolate and debug the issue.

In reply to shanthi:

The hierarchy string you are providing should be same as the string name you have provided while creating components. Also check by raising an objection in the sequence as shown below


task body();
if(starting_phase !=null)
staring_phase.raise_objection(this);
....
....
if(starting_phase !=null)
staring_phase.drop_objection(this);
endtask

If I place a breakpoint inside the sequence body task, my simulation finishes without hitting it. I assume anything placed inside the body won’t get executed, right? I have checked the hierarchy string and it matches the component instance names.

looking closely into the transcript of my test I found this.

UVM_WARNING verilog_src/uvm-1.2/src/base/uvm_traversal.svh(267) @ 0: reporter [UVM/COMP/NAME] the name "ap_egrs_agnt " of the component "uvm_test_top.env.ap_egrs_agnt " violates the uvm component name constraints.

Turns out there was an extra space at the end of the string I passed while creating the object for the agent. Issue resolved, thanks for the support.