AXI ID Handling

The PCIe Controller can place outstanding read requests on the AXI master read channel. That is, the PCIe Controller might place subsequent read requests before the read data of a previous request has come back. At any point, the PCIe Controller has no more than 32 outstanding read requests on the AXI master read interface for link 0 and link 1. The PCIe Controller ensures that each outstanding read request has a unique TARGET_AXI_ARID so that the client can send back data for the outstanding read requests in any order, as per the AXI ordering rules. The PCIe Controller keeps a table that maps inbound outstanding PCIe tags to the outstanding AXI master read requests IDs.

When the client returns read data for a particular ID, the PCIe Controller does an internal lookup to find the corresponding PCIe tag and forms an appropriate completion TLP to be sent on to the link.

Note: Although the PCIe Controller issues outstanding read requests with unique TARGET_AXI_ARID, it expects the client to return the entire data for one AXI outstanding request before sending data for a different outstanding request. In other words, the AXI master interface does not support read data interleaving.