The NMU contains a read reorder buffer (RROB) that can accept returned data from all issued read transactions. An ordering tag is assigned based on available slots in the RROB. The RROB maintains a set of per-AXI ID linked lists of assigned tags enabling the responses to be returned in the correct order. Upon receiving an AXI read request an ordering ID is assigned based on the available slots in the RROB. Each linked list stores the original AXI ID so that it can be correctly returned with the response transaction. The RROB can hold up to 64 entries of 32 bytes per entry. Read responses are placed in the RROB as they arrive. Logic at the output of the buffer selects responses that can be returned in the correct order according to AXI ordering rules. This logic relies on the linked list structure from the request path to determine the correct response ordering.
When reordered, the read data must be accepted from the NMU after approximately six PL cycles of buffering before the NMU backpressures the NoC. Long throttling of PL RREADY, or using a slow clock rate/AXI data width (relative to the NoC bandwidth), might cause pauses in other NoC traffic sharing a physical link and virtual channel. To workaround this behavior, use a different Traffic Class or Separate (or Exclusive) Routing Group constraint to separate stalled RREADY or slow traffic from performance/latency-sensitive paths. Writes do not cause this behavior and while writes are not affected in the NoC directly, they might be affected on any NSUs on which read backpressure can stall the writes, such as the same NoC port of a DDRMC.
For each AXI read requested through the NMU, the RROB reserves the total size of the read burst in RROB entries. If there are insufficient free entries in the RROB to allocate a new read burst, the NMU does not accept the transaction from the AXI interface until sufficient reads return and are accepted from the NMU. High bandwidth operation might be limited by RROB space in high-latency paths before reaching the outstanding entry limit.