Hi All
I have a seqA which drive interface A, and seqB which drive interface B.
Now, I want to use seqB in seq A. How can I call seqB in seq A?
class seqA extends uvm_sequence(item)
task body
seqB b= seqB ::type_id::create("b");
b.start(""); // ?? how to trigger seq B? Don't know what input argument is
endtask
endclass
If you want to do this seqB has to be parameterized for the same seq_item, i.e. item, as seqA.
The construct you are using is called sequence-of sequences.
Your body task should look like this:
Could you please show how seqB is defined?
The 1st line of the class definition would be fine.
When seqB is running on another sequencer then seqA is a virtual sequence. A virtual sequence does not produce any seq_item.
The definition should be like this:
What do you want to dois not legal and impossible.
A sequencer is parameterized for a specific seq_item. To this sequencer you can define sequences which are defining how this specific seq_item wil be generated.
If you have a different sequence parameterized with a different seq_item. The previous sequencer cannot generate these seq_items.