ljepson74 Posted July 15, 2013 Report 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
uwes Posted July 16, 2013 Report 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
ljepson74 Posted July 29, 2013 Author Report 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
bholendra Posted May 9, 2022 Report 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
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.