In reply to xying:
We are trying to verify a DUT with 4 parallel interfaces which are used to transmit user data. The user data is multiplexed into the 4 parallel interfaces.
We already have an agent that would drive the non-parallel interface and we would like to reuse it. Is there any good ways to achieve this? I was thinking of instantiating multiple existing agents and somehow distribute user data among each sequence. However I haven’t found a good mechanism to do this. Thanks.
I’m recommending for agents of the same type (class) and 4 different virtual interfaces, because you want to transmit different data on each interface.
The develop sequences for your agents sequencer and run them in parallel (fork/join) from a virtual sequence. Then you have completely different data in each agent and on your virtual interfaces.
The virtual sequence can be started from a virtual sequencer, but there is no need for this. In any case the sequence objects from the virtual sequence will be started on the sequencers of your agents. You can do this from the virtual sequence.