Hi, I have a query regarding driver - sequencer connection. I have to connect two sequencers to a single driver but the connection is only one to one at a time, so can I switch the connection to another sequencer during runtime, like getting the sequence from the first sequencer and then switching to the second sequencer and getting the next sequence from it.
Why are you connecting two different sequencers to one driver? The sequencer needs to be typed appropriately for the driver, so wouldn’t both sequencers be of the same type?
If you need to run two sequences in parallel, you should use a virtual sequence.
Perhaps you should explain what you are trying to accomplish.
Hello,
I got your point, but want to know that, can the connection of (DRV & SEQR) be switched during the run, it is like I have to generate a sequence from one sequencer and have to generate some other sequence after certain periods that will be added between the first sequence periodically
using the 2nd sequencer
Connections in a UVM testbench are permanent; they cannot be switched after the connect_phase is over. But sequencers don’t generate anything, they only arbitrate sequence**_items** sent by sequences. You can certainly use lock() or grab() to prevent other sequences from sending items to the driver.
You can also have multiple connections of sequencers to the same driver with multiple exports. but then your driver has to do the arbitration and is probably not what you want.