-
We can set default sequence in uvm test using “config_db::set” but in which component “config_db::get” method is declare?
-
How object of the default sequence is created as there is no start method in testcase? like,
seq1.start(sequencer)
Thanks
We can set default sequence in uvm test using “config_db::set” but in which component “config_db::get” method is declare?
How object of the default sequence is created as there is no start method in testcase? like,
seq1.start(sequencer)
Thanks
In reply to piyushpatel123:
Starting a sequence using ‘default_sequence’ is a legacy method carried over from OVM and is not recommended. You should explicitly .start() all of your sequences in your test.
In reply to piyushpatel123:
Using the Default sequence Approach the sequence is started automatically. You don’t have to perform get on the uvm_config_db.
In contrast to the OVM you have to set the default_sequence on the run_phase of the sequence under consideration like this:
class my_test extends uvm_test;
function void build_phase(uvm_phase phase);
uvm_config_db#(uvm_object_wrapper)::set(null, "/.*sequencer.run_phase/",
"default_sequence", my_sequence::get_type() );
....
endfunction
In reply to chr_sue:
Thanks for your reply. I also know the same but I want to know the full mechanism that how it is working?
Thanks
In reply to piyushpatel123:
For more Details see The UVM User Guide (1.1d)
3.10.3 Configuring the Sequencer’s Default Sequence
Note main_phase is one of the sub-phases of the run_phase. In this Phase the simulations takes place.
In reply to ASICverif:
Normally you do not need to define the run_phase in your sequencer, if you do not want to do very specific things.