Virtual sequencer

In reply to bmorris:

The only benefit I can see to the virtual sequencer approach is that you can save some code:


    virt_seq.init(.bus_seqr(m_env.m_agent1.m_sequencer),
                  .gpio_seqr(m_env.m_agent2.m_sequencer)); 
    virt_seq.start(null);

    // versus

    virt_seq.start(virtual_sequencer);

If you only start a virtual sequence in the base test, then it’s not a big deal, since you can always do factory overrides after that and get a different virtual sequence instantiated. If you start virtual sequences within virtual sequences, then you’ll always have to pass the bus sequencer handles to each sub-sequence. If you have to pass 4, 5, 6, etc. sequencers, this is going to get really old, really fast.