How to decide number of agents?

Hi,

1.How to decide number of agents required in the environment?
2.If I have four output ports, same protocol for four output ports, data at the output can arrive simultaneously, need to send this data to scoreboard then when I do,
foreach(m_receiver[i]) begin
m_receiver[i].rcvr2sb_ap.connect(m_scoreboard.rcvr2sb_export);
end
doesn’t that essentially connect four receiver analysis ports to single export in scoreboard? Then how do we extract and store data at the scoreboard? How do I decide if I need four agents or not?

In reply to mann_verif:

The number of agents depends on the number of independent functional interfaces you have in your design and not on the number of ports.

In reply to shekher201778:

You have to invetsigate the pinlevel interfaces of your DUT. All independent interfaces need a seperate agent. This does not say anything about active/passive or master/slave.
If your DUT behaves as slave your interface is a master interface. If you have an interface which issues only data (maybe depending on register configurations) you need a passive interface only.