ljepson74 Posted July 15, 2013 Report Share Posted July 15, 2013 //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. Quote Link to comment Share on other sites More sharing options...
uwes Posted July 16, 2013 Report Share Posted July 16, 2013 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 Quote Link to comment Share on other sites More sharing options...
ljepson74 Posted July 29, 2013 Author Report Share Posted July 29, 2013 Uwe, Thank you very much for that feedback. Those seem to be the techniques I should have been using. I'll give them try and add them to my debug arsenal. Quote Link to comment Share on other sites More sharing options...
bholendra Posted May 9, 2022 Report Share Posted May 9, 2022 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? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.