Procedures for improving efficiency of an interconnect fabric on a system on chip
Optimizing transaction traffic on a System on a Chip (SoC) by using procedures such as expanding transactions and consolidating responses at nodes of an interconnect fabric for broadcasts, multi-casts, any-casts, source based routing type transactions, intra-streaming two or more transactions over a stream defined by a paired virtual channel-transaction class, trunking physical resources sharing common logical identifier, and using hashing to select among multiple physical resources sharing a common logical identifier.
1. A system on a chip (SoC) comprising:
a plurality of intellectual property (IP) agents; and
an interconnect fabric connecting the IP agents, the interconnect fabric configured to:
receive a broadcast, multicast, read-multicast, or any-cast transaction from a source IP agent of the IP agents;
determine that the transaction is the broadcast, multicast, read-multi-cast, or any-cast transaction based on a coded command within the transaction;
determine one or more destination IP agents of the IP agents; and
route the transaction from the source IP agent to the one or more destination IP agents.
2. The SoC of claim 1 , wherein:
the transaction is the broadcast transaction; and
the destination IP agents comprise the IP agents other than the source IP agent.
3. The SoC of claim 1 , wherein:
the transaction is the any-cast transaction; and the transaction includes a unique address, wherein
the unique address does not indicate the destination IP agents.
4. The SoC of claim 1 , wherein the transaction includes a unique address, the unique address indicating that the transaction is one of the broadcast, multicast, read-multicast, or any-cast transaction.
5. The SoC of claim 1 , wherein the interconnect fabric is further configured to determine one or more destination IP agents of the IP agents based on a unique address included in the transaction.
6. The SoC of claim 1 , wherein:
the destination IP agents comprise two or more destination IP agents; and
the interconnect fabric is further configured to route the transaction to the destination IP agents such that the transaction is received by the destination IP agents synchronously.
7. The SoC of claim 1 , wherein:
the destination IP agents comprise two or more destination IP agents; and
the interconnect fabric is further configured to allow the transaction to be received by the destination IP agents asynchronously.
8. The SoC of claim 1 , wherein:
the destination IP agents comprise two or more destination IP agents; and
the interconnect fabric is further configured to route the transaction as a single transaction across a delivery path to two or more of the destination IP agents.
9. The SoC of claim 1 , wherein:
the destination IP agents comprise two or more destination IP agents; and
the interconnect fabric is further configured to:
receive respective response transactions from the destination IP agents;
consolidate the response transactions into a single response transaction; and
route the single response transaction to the source IP agent.
10. The SoC of claim 1 , wherein:
the transaction is a read-multicast transaction;
the destination IP agents comprise a single destination IP agent; and
the interconnect fabric is further configured to:
receive a response transaction from the single destination IP agent; and
route the response transaction from the single destination IP agent to two or more other destination IP agents.
11. The SoC of claim 10 , wherein:
the response transaction includes a unique address; and
the interconnect fabric is further configured to route the response transaction to the other destination IP agents based on the unique address.
12. The SoC of claim 1 , wherein:
the transaction is the multicast or read-multicast transaction;
the destination IP agents comprise two or more destination IP agents; and the transaction includes a unique address, wherein
the unique address indicates the destination IP agents.
13. The SoC of claim 12 , wherein the unique address indicates (a) respective logical identifiers for the destination IP agents or (b) a unique code specifying the logical identifiers.
14. The SoC of claim 12 , wherein the unique address comprises a bit vector, each bit of the bit vector corresponding to one of the IP agents.
15. The SoC of claim 1 , wherein:
at least one of the destination IP agents comprises duplicate resources; and
the interconnect fabric is further configured to:
select one of the duplicate resources; and
route the transaction based on the selected duplicate resource.
16. The SoC of claim 15 , wherein the duplicate resources comprise:
duplicate IP agents;
duplicate shared interconnects between two nodes of the interconnect fabric; or
shared links between the destination IP agent and a node of the interconnect fabric.
17. The SoC of claim 1 , wherein:
the interconnect fabric comprises one or more nodes; and
the interconnect fabric is further configured to route the transaction to the destination IP agents via the nodes.
18. The SoC of claim 17 , wherein:
the nodes comprise respective look-up tables comprising logical identifiers of the IP agents; and
the interconnect fabric is further configured to route the transaction to the destination IP agents based on the logical identifiers.
19. The SoC of claim 17 , wherein:
the nodes comprise respective look-up tables comprising port identifiers of the IP agents connected to the nodes; and
the interconnect fabric is further configured to route the transaction to the destination IP agents based on the port identifiers.
20. The SoC of claim 19 , wherein:
the look-up tables further comprise port identifiers of interconnects connected to the nodes; and
the interconnect fabric is further configured to route the transaction to the destination IP agents based on the port identifiers of the interconnects.