Hi,
I have situation where multiple sequence are running in parallel and one
of the sequence has to be stopped while others are continuning to run.
After that a sequence similar to the one stopped needs to be started again.
Is there any example available or can someone share some idea.
Psuedo code
Say 2 usb sequences are started on single sequencer.
// Sequencer
usb_sequencer usb_sqr;
// sequences
usb_seq_bulk usb_bulk_1;
usb_seq_interrupt usb_intr_1;
task body();
fork
begin
`ovm_do_on(usb_bulk_1,usb_sqr);
end
begin
`ovm_do_on(usb_intr_1,usb_sqr);
end
begin
ep_type_to_stop;
wait_for_reset_ep(ep_type_to_stop);
// stop
if(ep_type_to_stop == intr)begin
// logic to stop sequence related to interrupt ????
// logic to start intr sequence
end
else if(ep_type_to_stop == bulk)begin
// logic to stop sequence related to bulk ????
// logic to start bulk sequence
end
end
join
endtask