In reply to chr_sue:
Thanks a lot chr_sue.Still I would like your kind suggestion for the following scenario:
I want to generate a number of write transactions followed by read.In driver run phase tasks for each channel could be launched in fork-join(five of them). So there are actually outstanding transactions instead of actual pipeline. Then I have to as in https://verificationacademy.com/cookbook/driver/pipelined for sequence to wait as :
.....
// Do not end the sequence until the last req item is complete
wait(count == 20);
endtask: body
// This response_handler function is enabled to keep the sequence response
// FIFO empty
function void response_handler(uvm_sequence_item response);
count++;
endfunction: response_handler
or the next example with events to signal from driver to sequence. Is the event one better in any way though complicated ?