The following terminology is critical to understanding the interconnect:
- Initiator: Module able to initiate read and write requests to the chip interconnect (typically: processors, DMA, etc.).
- Target: Unlike an initiator, a target module cannot generate read/write requests to the chip interconnect, but it can respond to these requests. However, it may generate interrupts or a DMA request to the system (typically: peripherals, memory controllers).
Note: A module can have several separate ports; therefore, a module can be an initiator and a target.
- Agent: Each connection of one module to one interconnect is done using an agent, which is an adaptation (sometimes configurable) between the module and the interconnect. A target module is connected by a target agent (TA), and an initiator module is connected by an initiator agent (IA).
- Interconnect: The decoding, routing, and arbitration logic that enables the connection between multiple initiator modules and multiple target modules connected on it. Quality of service (QoS) is guaranteed.
- Register target (RT): Special TA used to access the interconnect internal configuration registers
- Data-flow signal: Any signal that is part of a clearly identified transfer or data flow (typically: command, address, byte enables, etc.). Signal behaviour is defined by the protocol semantics.
- Sideband signal: Any signal whose behaviour is not associated to a precise transaction or data flow.
- Out-of-band error: Any signal whose behaviour is associated to a device error-reporting scheme, as opposed to in-band errors.
Note: Interrupt requests and DMA requests are not routed by the interconnect in the device.
- Firewall: A programmable feature integrated in a target agent or L4 interconnect to prevent unauthorized access to or from a module. A firewall can be configured using three criteria:
- Initiator requesting access
- Address space access
- Type of access
- ConnID: Any transaction in the system interconnect is tagged by an in-band qualifier ConnID, which uniquely identifies the initiator at a given interconnect point. A ConnID is transmitted in band with the request and is used for firewall and error-logging mechanism.
- Firewall comparison mechanism: A comparison made in the firewall between access in-band qualifiers and access permissions that are programmed in the firewall configuration registers. If the comparison is successful, access is allowed; otherwise, access is denied.
- MCmd qualifier: Command bus that indicates the
type of transfer requested. Table 14-1 lists the commands encoded. For information specific to L3 Interconnect error
logging, see Table 14-20L3 Firewall Error-Logging Registers
Table 14-1 MCmd Qualifier Description
MCmd[2:0] |
Transaction Type |
0 0 0 |
Idle |
0 0 1 |
Write |
0 1 0 |
Read |
0 1 1 |
ReadEx |
1 0 0 |
Read link |
1 0 1 |
Write nonposted |
1 1 0 |
Write conditional |
1 1 1 |
Write broadcast |
- MReqInfo qualifier: Four MReqInfo qualifiers describe the access during the use of the firewall comparison mechanism, as described in Table 14-2.
Table 14-2 MReqInfo Qualifier DescriptionQualifiers | Description |
---|
MReqType | 0: Data access |
1: Opcode fetch |
MReqSupervisor | 0: User mode |
1: Supervisor mode |
MReqDebug | 0: Functional access |
1: Debug access |
- Register that configures the combination of the MReqInfo, allowing access permission to the target module (TM) based on the MReqInfo in-band qualifier values.
- SError: Target that indicates an error condition to the initiator.
- SResp qualifier: Response from the target to the initiator concerning the transaction, as described in Table 14-3.
Table 14-3 SResp Qualifier DescriptionSResp[1:0] | Description |
---|
0 0 | No response |
0 1 | Data valid/accept |
1 0 | Not used |
1 1 | Error |
- MTagID: Interconnect qualifier generated by the L3_MAIN masters which purpose is to identify whether reordering is allowed or not relative to other transactions. Strong ordering is ensured by using same MTagID values between transactions. Reordering is allowed by using different MTagID values between transactions.
The MTagID values may or may not be changed by the interconnect, but the intended reordering restriction must match what came from the master. In other words, the interconnect allocates dynamically MTagID values in such a way that the intended reordering restrictions from each master are honored.