How the virtual sequencer can help with synchronize control?

In reply to UVM_LOVE:

The role of the virtual sequencer is to run virtual sequences. A virtual sequence is nothing more than a set of sequences, that are targetted to run on different sequencers with some timing control.

For example you may have a virtual sequence for the following scenario.

--------------My first virtual sequence

  • Start a write sequence on the AHB sequencer
  • Wait for 10 clock cycles.
  • Start a read sequence on the AXI sequencer

We may have another virtual sequence defining another scenario as follows

--------------My Second virtual sequence

  • fork
    Start a write sequence on the AHB sequencer
    Start a read sequence on the AXI sequencer
  • join

Each of the above virtual sequence represents a test scenario.
You will be able to start the above virtual sequences on the
virtual sequencer. The timing relationships as expressed in
the above virtual sequences should be obvious (one is a sequential
while the other is a parallel execution.

Hope this helps.