In a standard single-die AMBA CHI architecture, each Request Node (RN) uses its internal System Address Map (SAM) to decode a physical address (PAddr) and assign a local Target ID (TgtID) pointing to a specific Home Node (e.g., HN-F or HN-I) on the coherent mesh.
However, in a multi-die C2C environment:1. The remote die's nodes exist in a completely separate Node ID space.2. A C2C link is not a conventional CHI node and does not natively have a standard CHI Node ID across the physical interface.
[ RN-F ] ---> (Local SAM) ---> ??? TgtID ??? ---> [ C2C Bridge / Port ] ===(Die-to-Die Link)===> [ Remote Die ]
My Questions:1. How does the RN SAM target the remote die if C2C isn't a conventional node?When an RN generates a request for an address space physically located on a remote die, how does the CHI interconnect know it has to route the packet to the C2C boundary? Since C2C isn't a standard node with a standard Node ID.
2. How is the transaction type handled at the gateway?If the request is routed to the local C2C Bridge as the TgtID, does the RN treat the C2C Bridge as a surrogate Home Node (sending standard REQ packets), or is there a special CHI routing/node type specifically defined for C2C egress ports?
3. Global vs. Local Address Mapping:Are there recommended AMBA CHI guidelines for configuring SAM address regions so the interconnect cleanly separates local HN-F hashing from remote C2C traffic?
Any clarification or references to standard CHI C2C routing models would be greatly appreciated!
Hi Meet,
In CHI, the method of defining and assigning a NodeID for each node in the system is implementation defined. Similarly, the exact format and structure of the SAM functionality is also implementation defined. In practical interconnects, it is expected that the C2C port/gateway node will have an associated NodeID, and that the SAM will include a mechanism to assign that NodeID as a TgtID for requests destined to a remote die.
Within AMBA CHI-C2C (see Chapter B7 in https://support.arm.com/documentation/ihi0098/b/) a standard Address Decoder structure is defined (composed of a Chip Address Decoder and an optional Port Aggregation Group Address Decoder). This structure is effectively equivalent to a SAM and provides a more formal way of pointing to CHI-C2C ports. Note that this structure uses an abstracted C2C port number concept, rather than the actual NodeID that the interconnect implementation will use internally.
Hope this helps.
Best Regards,
Simone Secchi