I have 3 sequences, and 4 sequencers.
I want sequencer1 to run sequence1,
sequencer2 to run sequence1,
sequencer3 to run sequence2, sequence3 in serial order.
sequencer4 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?