Jump to content

Recommended Posts

Posted
//This is not a question, but me storing some debug notes online, lest I run into this problem again.
 
 
//good for debugging this issue, print_topology in particular.  Put them in your test.
      `uvm_info("TEST",$psprintf(" TOPOLOGY..............................."),UVM_HIGH);
      uvm_top.print_topology();
      `uvm_info("TEST",$psprintf(" CONFIG_DB_DUMP..............................."),UVM_HIGH);
      uvm_config_db::dump();
 
 
//When a sequence doesn't run, double-check the following.
 
//in the test (or wherever) where we assign the sequence to run on a sequencer
      uvm_config_db#(uvm_object_wrapper)::set(this,
                                              "*.dpx_xyz_agent_m.dpx_xyz_seq.main_phase",
                                              "default_sequence",
                                              dpx_xyz_simple1_seq::type_id::get());
 

//compare the name of the sequencer with the name that is given to the factory for the sequencer, when it is created

 
//where we create the sequencer (in the agent), what name did we supply to it with the factory?
      m_seq = dpx_xyz_sequencer::type_id::create("dpx_xyz_seq", this);
 
//make sure they match.  This problem has bitten me a few times.

 

 

Posted

hi,

 

there are more ways to find this issue:

 

1. when enabled (verbosity) you should see a message like this

 

UVM_INFO 

/grid/avs/install/incisiv/10.2/latest/tools/uvm-1.1/uvm_lib/uvm_sv/sv/seq/uvm_sequencer_base.svh(1468) 
@ 0 ns: uvm_test_top.m_env.m_iab_test_sequencer [NODEFSEQ] The 
"default_sequence" has not been set. Since this sequencer has a runtime 
phase schedule, the uvm_random_sequence is not being started for the run 
phase.

 

2. via config db trace you would see that the lookup for a "default_sequence" failed. you would also see the exact lookup parameters.

 

3. when you invoke uvm_component::check_config_usage() you would see some uvm_config_db settings have not been used.

 

/uwe

  • 2 weeks later...
  • 8 years later...
Posted

One more point here. I found that i have to do seq.start(sequencer) for every sequence in the test, inside a fork join none, if we club the 2 sequence starts ina  task and then call that task in a fork join none, the second sequence.start is not considered. I do not know the reason for this behaviour, can anyone help why fork join_none is needed?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...