Can an upper level of an ovm_layering_agent connect to two lower level ovm_layering_agents?

In reply to mpattaje:

The ovm_layering_agent requires a parameter of type ovm_sequence_item for it’s layering_sequencer. In my application, what I would be doing in the build method is to instantiate the layering agents by:

m_video_frame = ovm_layering_agent #(video_frame_seq_item)::type_id::create(“m_video_frame”, this);

m_split_frame0 = ovm_layering_agent #(split_frame_seq_item)::type_id::create(“m_split_frame0”, this);

m_split_frame1 = ovm_layering_agent #(split_frame_seq_item)::type_id::create(“m_split_frame1”, this);

The next thing in the build method is to map the layering agent to it’s sequencer class, translator class, default sequence class, lower agent instance, and the lower agent’s sequencer instance. What I want to know is if I can map m_video_frame to both m_split_frame0 and m_split_frame1. The translator class would take a video frame transaction and split the pixels into 2 split frame transactions sending one of them to the sequencer in m_split_frame0 and the other to the sequencer in m_split_frame1.

Is this possible? If not is there a way that I can generate a sequence of whole frames and split it (vertically) into half frames and send the half frame transactions to different instances of the same type of sequencer (virtual sequencer maybe)?