In reply to bhupeshpaliwal:
I am not aware of any such constraint. But if you want to send the same transaction to multiple subscriber then a single uvm_analysis_port is enough.
Ref: http://www.sunburst-design.com/papers/CummingsSNUG2018AUS_UVMAnalysisCopy.pdf
From this paper:
4.1 uvm_analysis_port ‐ broadcast port
As already noted, the uvm_analysis_port is a broadcast port that broadcasts a transaction from
the port until it reaches zero or more uvm_analysis_imp ports where the transaction is either used
immediately (in 0‐time), or a copy of the transaction is made so that the copy can be manipulated
over time without modifying the original broadcast transaction. This is why the transaction copy()
command I so important (see Section 4.1.1 ).
A uvm_analysis_port can be connected to other uvm_analysis_ports, uvm_analysis_exports
and uvm_analysis_imps, but there is only one uvm_analysis_imp per analysis path.