How to run default sequence before running actual sequence

4 posts / 0 new
Last post
SKUPPAM
Offline
Academy Total Access User
Joined: 07/12/2011
Posts: 7
How to run default sequence before running actual sequence

Hi,

Lets say there are 5 sequences (seq1, seq2, seq3, seq4, seq5) and all the sequences from seq2 to seq5 should run only after running seq1.

Is there any way in ovm to run seq1 followed by seq2/seq3/seq4/seq5 w/o creating without creating virtual sequence.

what I am trying to ask is, can I inform to virtual sequencer to run the default sequence before running the actual sequence (which would mentioned in the testcase through set_config_string)

Thanks,
siva.

mperyer
Offline
Verification Forum Moderator
Joined: 07/24/2010
Posts: 146
Re: How to run default sequence before running actual sequence

Multiple ways:

Use a virtual sequence - no need to use a virtual sequencer. See: http://verificationacademy.com/uvm-ovm/Sequences/Virtual

Construct a test base class with a run method to run seq1, then extend it to run any mix of seqs2-5.

In the base class:
task run;
seq1 s = seq1::type_id::create("s");
s.start(sqr);
endtask: run

In the extended class:
task run;
seq2 s2;
seq3 s3;
seq4 s4;
seq5 s5;
string choice;
super.run;

// get_config_string for choice
case (choice)
SEQ2: begin
s2 = seq2::type_id::create("s2");
s2.start(sqr);
end

etc

Don't rely on the built-in sequencer library with default sequences, it is very difficult to control.

SKUPPAM
Offline
Academy Total Access User
Joined: 07/12/2011
Posts: 7
Re: How to run default sequence before running actual sequence

Thanks for the valuable information.

The link provided is helpful when for a SoC based verification environment.

Since IP level testcase are not re-usable at SoC. I want to have something w.r.t virtual sequence i.e.

in virtual sequence:
--------------------
`ovm_do_on (seq1);
`ovm_do_on (choice);

Can I pass the selection of choice from run command???

Vaibhav Tekale
Offline
Academy Forum User
Joined: 08/26/2011
Posts: 139
Re: How to run default sequence before running actual sequence

Hi,

You can pass the selection of "choice" from command line.
You need to use $value$plusargs attribute.

Look into the latest sv lrm to get into more details.

Regards,
Vaibhav