Default sequence

  1. We can set default sequence in uvm test using “config_db::set” but in which component “config_db::get” method is declare?

  2. 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 cgales:

Thanks cgales for your reply but i just want to know how it is working.

Thanks

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 chr_sue:

do we need to define run phase in sequencer?

Thank you

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.