Skip to content

AMBA AXI · Module 6

AxID

AXI transaction IDs — AWID/ARID tagging, BID/RID pairing, the same-ID ordering rule, different-ID reordering, and how interconnects route responses and remap ID width.

AxID is the small field that makes AXI's concurrency work: a transaction identifier the manager attaches to each request, which the response carries back. It does two jobs at once — it scopes ordering (same-ID transactions complete in order; different-ID ones may reorder) and it lets the interconnect route responses to the right manager. This chapter covers the ID semantics (AWID/BID, ARID/RID), the same-ID/different-ID rule that's the heart of out-of-order traffic, and how interconnects use and remap IDs across ports. The full ordering model (Module 9) and outstanding-transaction depth (Module 8) build directly on what AxID establishes here.

1. The Transaction Tag

AxID is a tag the manager puts on a transaction's address: AWID on a write, ARID on a read. The response carries the matching tag back — BID on the write response, RID on every read-data beat. So a manager that issues several transactions can tell which response belongs to which request by matching the returned ID to the one it sent.

That pairing is what makes outstanding transactions usable: without IDs, a manager couldn't tell whose response is whose when several are in flight, so it would have to wait for each to finish before issuing the next (serializing itself). With IDs, responses can come back tagged and the manager sorts them — the foundation of concurrency.

A write tagged with AWID returns a matching BID; a read tagged with ARID returns matching RID on its data beats. The ID pairs responses to requests.pairspairsAWIDwrite request tagBID= AWID, on the B responseARIDread request tagRID= ARID, on each R beat12
Figure 1 — AxID pairing. The manager tags a write with AWID and a read with ARID; the subordinate returns the matching BID on the write response and RID on each read-data beat. The ID is how a manager pairs each returned response to the request that produced it — essential once multiple transactions are outstanding.

2. Same-ID Ordering, Different-ID Freedom

The ID's ordering rule is the single most important thing about it:

  • Same AxID → ordered. Transactions issued with the same ID must complete in the order they were issued. A manager that needs A-before-B gives them the same ID.
  • Different AxID → may reorder. Transactions with different IDs have no ordering guarantee between them — the subordinate/interconnect may complete them in any order (out-of-order completion).

So the ID is how a manager expresses ordering requirements: shared ID means "keep these in order"; distinct IDs means "these are independent, reorder freely for performance." This is the lever behind out-of-order completion (Chapters 2.4/5.2) — and the reason a high-throughput master uses multiple IDs (to allow reordering) while a strictly-ordered one may use a single constant ID.

Two transactions with the same ID complete in issue order; two transactions with different IDs may complete out of order, with the later-issued different-ID transaction finishing first.ID determines orderingID determines orderingManagerSubordinatetxn A (ID0), then txn B (ID0) — same IDtxn A (ID0), thentxn B (ID0) — same…A completes, then B— in order (same ID)txn C (ID0), then txn D (ID1) — different IDstxn C (ID0), thentxn D (ID1) —…D completes before C — reordered (different IDs)D completes before C— reordered…
Figure 2 — same-ID ordered, different-ID free. Two transactions with the same ID (ID0) must complete in issue order. Two with different IDs (ID0, ID1) may complete in any order — here ID1 finishes first. The manager picks: same ID to enforce order, distinct IDs to allow reordering for throughput.

3. How the Interconnect Uses IDs — Routing and Width Remapping

IDs do double duty: besides ordering, they're how the interconnect routes responses back to the right manager. When several managers share a subordinate, the interconnect must remember which manager issued each transaction so it can return the response there. It does this by extending the ID: on the way to the subordinate, it appends bits identifying the source manager port, producing a wider ID that's unique across managers; on the response, it uses those appended bits to route back, then strips them so the manager sees its original ID.

Two managers issuing ID 2 each; the interconnect appends port bits so the subordinate sees IDs A2 and B2, then routes responses back by those bits and strips them, returning ID 2 to each manager.ID=2ID=2widened IDsresp (wideID)Manager Aissues ID = 2Manager Bissues ID = 2Interconnectappend source-port bits →wider IDSubordinatesees {A,2} and {B,2} —distinct12
Figure 3 — interconnect ID width remapping. Two managers both issue ID=2. The interconnect appends source-port bits, so the subordinate sees distinct IDs ({A,2} and {B,2}); responses carry those wider IDs back, and the interconnect routes by the appended bits and strips them, returning the original ID=2 to each manager. This is why the subordinate-side ID is wider than the manager-side ID.

Two consequences: the subordinate-side ID width is larger than the manager-side width (it must hold the appended routing bits), and a subordinate may see more distinct IDs than any single manager uses. Conversely, the ordering rule is scoped to the full ID seen at each point: same-ID-from-the-same-manager stays ordered, but two managers' same-numbered IDs are different full IDs after remapping, so they're (correctly) independent.

4. Read and Write ID Spaces Are Separate

AWID and ARID are independent ID spaces: a write with AWID=3 and a read with ARID=3 are not related by their shared number — the write-ordering rule applies among writes, the read-ordering rule among reads, and the two channels are independent anyway (Chapter 2.4). So sharing a numeric value between a read ID and a write ID implies no ordering between that read and that write.

Azvya Education Pvt. Ltd.VLSI Mentor
Snippet
// Conceptual — ID semantics in one place.
// Pairing:   BID == the write's AWID;   RID == the read's ARID (every beat).
// Ordering:  same AxID  → complete in issue order
//            diff AxID  → may complete out of order
// Spaces:    AWID and ARID are separate — same number ≠ related
// Routing:   interconnect appends source-port bits (slave-side ID is wider),
//            routes the response back by those bits, strips them for the master.
Same ID means ordered completion; different IDs may reorder; AWID and ARID are separate spaces; the interconnect remaps ID width for routing.Same AxIDComplete inissue orderDifferent AxIDMay complete outof orderAWID vs ARIDSeparate spaces— same numberunrelated
Figure 4 — the AxID rules at a glance. Same ID enforces issue-order completion; different IDs allow reordering; AWID and ARID are separate spaces; and the interconnect remaps ID width to route responses back. Four facts that together define how IDs route and order traffic.

5. Common Misconceptions

6. Debugging Insight

7. Verification Insight

8. Interview Questions

9. Summary

AxID is the transaction tag that does two jobs. Pairing/routing: AWID/ARID tag a request and the matching BID/RID come back, so a manager pairs responses to requests when many are outstanding, and an interconnect routes each response to the issuing manager. Ordering: same-AxID transactions complete in issue order; different-AxID transactions may reorder — so the ID is how a manager chooses ordering (one ID to serialize, many IDs to allow reordering for throughput). Read (ARID) and write (AWID) IDs are separate spaces — a shared number implies nothing.

Interconnects remap ID width, appending source-port bits so the subordinate-side ID is wider and unique across managers, then routing responses back by those bits and restoring the original ID — which is why subordinate IDs are wider and where multi-master mis-routing bugs live. Debug ID problems as either response mis-pairing (routing/remap) or ordering surprises (check whether transactions share an ID); verify with a per-ID-scoped scoreboard that allows different-ID reordering but flags same-ID violations. Next: AxLOCK and AxCACHE — the exclusive-access and memory-attribute encodings.

10. What Comes Next

You understand how IDs route and order traffic; next, the access-attribute signals:

Previous: 6.2 — AxBURST. For the broader protocol catalog, see the AMBA family overview doc.