How can implement reusable uvm_sequence_item based on agent's multiple configuration?

Hi Everyone ,

      i have defined single agent(UVC) and declared 10 agent objects. The each agent object have separate configuration. Now how can i use each configuration to differentiate 10 uvm_sequence_item corresponding to 10 agents. 

example :

axi_agent a0,a1,a2;

data_bus width of a0 = 32 bit ;
data_bus width of a1 = 64 bit ;
data_bus width of a2 = 128 bit ;

whenever i will run a0,a1,a2 agent parallel ,the squencer of agent must pick corresponding uvm_seq-> corresponding uvm_seq_item.

How can i will get implement reusable agent , seq_item ?

very advance thanks

Regards
kbkdec15

You should make the sequence item generic so that the data bus width doesn’t matter. The transaction sequence item should only encapsulate the data that is being transferred (typically as an array of integers or bytes) along with the transfer qualifiers. It is up to the agent’s driver (which can possibly be parameterized) to translate the generic data stream to the actual bus width.

In reply to cgales:

hi cgales,

Thank you. how can I implemente transaction sequence item with out generic. Because i have done work for single agent. i want to reuse exist agent.

Regards
kbkdec15