AMBA AXI · Module 8
Different-ID & Out-of-Order Completion
How AXI lets different-ID transactions complete out of order — the throughput it buys, why the manager must accept any completion order, and the address hazards that arise when overlapping accesses use different IDs.
The same-ID rule (Chapter 8.3) is half the ordering model; this chapter is the other half. Transactions with different IDs have no ordering guarantee — the interconnect and subordinates are free to complete them out of order, and they will, because that's where the throughput comes from. A fast access shouldn't wait behind a slow, unrelated one. But this freedom shifts a burden onto the manager: it must accept responses in any order (matching by ID), and it must never assume ordering between different-ID transactions — especially dangerous when they touch the same address. This chapter covers the reordering, the throughput it buys, and the hazards it introduces.
1. Different IDs May Complete Out of Order
AXI guarantees ordering only within an ID. Across different AxIDs, there is no ordering — the system may return responses in whatever order is fastest. So if a manager issues read ID=0 then read ID=1, ID=1's data may come back first if its slave/access is quicker. This is legal and expected; the manager pairs each response to its request by RID/BID, regardless of order.
2. Why Out-of-Order Completion Buys Throughput
Reordering is the point of having multiple IDs. If different-ID transactions had to complete in issue order, a single slow access (a DRAM page miss, a contended slave, a far interconnect hop) would stall every later transaction behind it — head-of-line blocking. By letting independent (different-ID) transactions complete as soon as they're ready, the system extracts parallelism:
- A fast slave can answer while a slow one is still working — no waiting.
- A memory controller can reorder across banks to maximize row hits.
- Responses fill the data channel in readiness order, keeping it busy rather than idle behind a straggler.
This is the same latency-hiding from Chapter 8.1, now expressed through IDs: outstanding depth keeps many in flight; different IDs let them finish in any order so none blocks the others. The same-ID rule then carves out the subset that must stay ordered.
out-of-order — different-ID reads complete in readiness order
6 cycles3. The Burden — Managers Must Accept Any Order
Out-of-order completion means a manager cannot assume responses arrive in issue order across IDs. Its response-handling must:
- Match strictly by ID — route each
RID/BIDresponse to the request that carried that ID, not to "the next expected" transaction. - Tolerate any interleaving — a later-issued ID may complete first, responses may interleave arbitrarily across IDs, and the manager's buffers/tracking must handle that without losing or misrouting data.
A manager that implicitly assumes in-order completion (e.g., pops a FIFO of pending requests on each response regardless of ID) will mismatch data the moment the system reorders — pairing ID=1's data with ID=0's request. This is a common bug in naively-written masters, and it only surfaces when a slave/interconnect actually reorders, which simple testbenches may never do.
4. The Real Hazard — Overlapping Addresses, Different IDs
The subtlest and most dangerous consequence: if two transactions touch the same (or overlapping) address but use different IDs, AXI imposes no ordering between them, so the result is undefined. Examples of the hazard:
- A write (ID=0) and a later read (ID=1) to the same address — the read may be serviced before or after the write lands; it may return old or new data (also compounded by the read/write separation of Chapter 8.3).
- Two writes (ID=0, ID=1) to the same address — they may complete in either order, so the final stored value is unpredictable (a write-after-write hazard).
- A read (ID=0) and a write (ID=1) to the same address — the read may catch the value before or after the write.
The rule that protects against this: transactions to the same/overlapping address that must be ordered must share an ID (so the same-ID rule orders them) — or be serialized by waiting for the first's response before issuing the second (needed especially across the read/write boundary, which IDs can't order). Using different IDs to overlapping addresses is only safe when the accesses are genuinely independent (no ordering needed) — i.e., they don't actually overlap in a way that matters.
5. Common Misconceptions
6. Debugging Insight
7. Verification Insight
8. Interview Questions
9. Summary
Different-ID transactions have no ordering guarantee and may complete out of order — and that's the intended behavior, because it's where AXI's throughput comes from: independent accesses finish in readiness order, fast bypassing slow, keeping the data channel busy instead of head-of-line-blocked. The same-ID rule (8.3) then carves out the subset that must stay ordered. The freedom carries two burdens for the manager: it must match responses strictly by RID/BID and tolerate any interleaving (position-based matching corrupts data the instant the system reorders), and it must avoid address hazards — overlapping accesses with different IDs have an undefined result (WAW/RAW/WAR), so accesses that must be ordered need a shared ID (same direction) or serialization via response-wait (across reads/writes).
The throughline of Module 8's ordering model: AXI guarantees only same-ID, same-direction order and reorders everything else for performance, making hazard avoidance and out-of-order tolerance the manager's job. Bugs are latent until the system actually reorders — position-based matching and same-address different-ID races — so verification must actively reorder responses and hunt same-address hazards. Next: how outstanding depth and IDs play out across the interconnect — where multiple managers, reordering, and ID extension all interact.
10. What Comes Next
You've got both halves of the ordering model; next, how it scales through the interconnect:
- 8.5 — Interconnect Implications (coming next) — how outstanding depth, IDs, and reordering interact across a multi-manager, multi-subordinate interconnect.
Previous: 8.3 — Same-ID Ordering Rules. Related: 8.2 — Transaction IDs for ID matching, and 8.1 — Why Outstanding Transactions Exist for the latency-hiding this enables. For the broader protocol catalog, see the AMBA family overview doc.