Read Reorder Buffer - Read Reorder Buffer - 1.1 English - PG313

Versal Adaptive SoC Programmable Network on Chip and Integrated Memory Controller 1.1 LogiCORE IP Product Guide (PG313)

Document_ID
PG313
Release_Date
2026-06-23
Version
1.1 English

The NMU contains a read reorder buffer (RROB) that can accept returned data from all issued read transactions. The system assigns an ordering tag 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.

After reordering, 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), can cause pauses in other NoC traffic sharing a physical link and virtual channel.

As a workaround, use a different Traffic Class or Separate (or Exclusive) Routing Group constraint. This separates stalled RREADY or slow traffic from performance/latency-sensitive paths. Writes do not cause this behavior. The NoC does not affect writes directly. However, writes can stall on NSUs where read backpressure occurs, such as the same DDRMC NoC port.

For each AXI read requested through the NMU, the RROB reserves the total size of the read burst in RROB entries. If there are not enough free entries in the RROB for a new read burst, the NMU rejects the AXI transaction. It waits until enough reads return and the NMU accepts them. RROB space can limit high bandwidth operation in high-latency paths before reaching the outstanding entry limit.