I wanted to start master sequence first and then slave sequence should start for only first transaction and then for rest of the transaction both should be in parallel. how to control that and how contrabillity should be able to generate.
As in virtual sequence i am started in fork join block both the sequences . So sometimes it will start the slave sequence and sometimes master ?
So in order to start first master sequence and then slave and both should go hand in hand at the same time sampling should happen ?
Any suggestions ?
In reply to bijal:
You can set the priority of the sequences. The master sequence has to have a higher priority than the slave sequence. This ensures the master sequence starts first afterwards you get interleaving seq_items.
How to set the priority for the sequences ?
In reply to bijal:
You can do this in different ways:
(1) `uvm_do_pri(req, )
(2) sequence.set_priority(priority);
(3) sequence.start(sequencer, parent_seq, priority);
(4) start_item(req, priority);
In reply to bijal:
How about a control bit?
bit first_run=0;
fork
begin
seq1;
first_run=1;
end
begin
if(first_run)
seq2;
end
join