I have 3 sequences, and 4 sequencers.
I want
- sequencer 1 to run sequence1,
- sequencer 2 to run sequence1,
- sequencer 3 to run sequence2, sequence3 in serial order.
- sequencer 4 to run sequence1, sequence2 in serial order.
One method to do so is inside the test class
task run_phase(uvm_phase phase);
fork
sequence1.start(sequencer1);
sequence1.start(sequencer2);
begin
sequence2.start(sequencer3);
//wait for request....
sequence3.start(sequencer3);
end
begin
sequence2.start(sequencer4);
//wait for req....
sequence1.start(sequencer4);
end
join
endtask
How can I do the same inside each of the sequencers, than doing inside test?