I have two sequences that are sent to two independent drivers. One of the sequences will finish instantly but the other could take a few clocks. What would be the recommended way for the faster sequence to wait for the other one before it sends it’s next data?
[Virtual Sequences | UVM Cookbook] are designed to coordinate behavior between two sequences. You can use a virtual sequence to ensure that the two sequences are coordinated.
I may be missing something but I am not sure how the virtual seq helps. If I have two independent sequencers, that send a certain number of transactions to their drivers, how does the virtual seq help to synchronize them? It seems from the examples I see that the virtual seq just starts each sequencer and waits for it to complete.
If you need to synchronize individual sequence_items, then you should create two sequences which send a single sequence_item. You can then start the sequences on the individual sequencers, and when they both finish, start the next set of sequences.