AMBA AXI · Module 12
Clock & Reset in Interconnect
How an AXI interconnect handles clock-domain crossings, reset coordination, and the conversion components — clock converters, width up/downsizers, and protocol bridges — that let heterogeneous IP with different clocks, widths, and protocols interoperate.
The interconnect's third core job (Chapter 12.1) is conversion — bridging the mismatches between heterogeneous IP. Real SoCs combine masters and subordinates running at different clock frequencies, with different data widths, and even different protocol versions (AXI3/AXI4, full-AXI/AXI4-Lite/APB). The interconnect is where all this heterogeneity meets, so it contains clock-domain-crossing (CDC) bridges, width converters (up/downsizers), and protocol converters, plus careful reset coordination. This closing Module 12 chapter covers how the fabric handles clocks, resets, and conversion while preserving AXI semantics.
1. Clock-Domain Crossings
Managers and subordinates often run in different clock domains (a CPU at one frequency, a peripheral at another, memory at a third). The interconnect bridges them with clock-domain-crossing (CDC) logic — typically an asynchronous FIFO (with gray-coded pointers and synchronizers) on each channel, so data safely crosses from one clock to another without metastability.
AXI's VALID/READY handshake makes CDC tractable: each channel is a simple flow-controlled stream, so an async FIFO per channel (AW, W, B, AR, R) cleanly decouples the two domains — the source clocks data into the FIFO, the destination clocks it out, and the handshake provides the back-pressure. The cost is latency (synchronizer stages add cycles) and buffering (the FIFOs), which feeds the outstanding depth needed to sustain throughput across the crossing (Chapter 8.1). A related, cheaper case is synchronous rate conversion — two domains with a known integer clock ratio (e.g., 2:1) bridged without full async synchronization.
2. Reset Coordination
Reset (ARESETn, active-low) must be handled carefully in an interconnect because transactions can be in flight when a reset asserts. Resetting one part of the fabric while outstanding transactions exist can leave dangling state — a manager waiting for a response that will never come, or an outstanding-transaction tracker out of sync.
Key reset concerns: AXI requires synchronous deassertion (reset releases cleanly relative to the clock) to avoid metastability on release; and a reset must either quiesce in-flight transactions first (drain or cleanly abandon them) or reset coordinated domains together so no half-reset state results. In a multi-clock interconnect there are also multiple reset domains (one per clock domain), and resetting them independently while transactions cross between them is hazardous — the reset strategy must account for the crossings (e.g., reset the CDC FIFOs and both sides consistently). So reset isn't a trivial "clear everything" — in a fabric with outstanding transactions and multiple domains, it requires a deliberate sequence.
3. Width Conversion
When a manager and subordinate have different data widths (e.g., a 128-bit manager and a 32-bit peripheral), the interconnect uses a width converter:
- Downsizer (wide → narrow): a wide beat is split into multiple narrow beats (a 128-bit write becomes four 32-bit beats), and the burst/length adjusted accordingly. Reads reassemble narrow responses into wide ones.
- Upsizer (narrow → wide): multiple narrow beats are packed into a wide beat (four 32-bit beats → one 128-bit beat), improving efficiency to a wide subordinate.
The converter must preserve everything: the data bytes, WSTRB (which bytes are valid, re-mapped to the new width), burst semantics (the resized burst covers the same bytes — recall the address-calculation byte map of 7.5), IDs (for response routing), and ordering. It adds latency and buffering (packing/unpacking takes cycles). Width conversion is essentially the byte-accurate re-packetization of a transaction across a width boundary, and getting the WSTRB/byte mapping right is the critical correctness concern (the stream analog was TKEEP, 11.4).
4. Protocol Conversion
The interconnect also bridges different protocol versions/variants:
- AXI3 ↔ AXI4: reconcile the
AxLENwidth (4-bit vs 8-bit — a long AXI4 burst must be split to ≤16 beats for AXI3, Chapter 7.1), the removed locked access (AxLOCK2-bit vs 1-bit, Chapter 9.4), and AXI3's separateWID(write data ID) which AXI4 dropped. - Full-AXI ↔ AXI4-Lite: a full master talking to a Lite slave issues only single-beat, single-ID transactions; a converter restricts/adapts accordingly (Chapter 10.1).
- AXI ↔ APB / AHB: bridge to the simpler buses — the AXI-to-APB bridge (Chapter 10.3) translates AXI single-beats into APB 2-phase transfers (mapping responses
SLVERR↔PSLVERR, handling wait states).
Each protocol converter must preserve the transaction's intent across the boundary — same data, same byte semantics, correctly mapped responses and ordering — while adapting the signaling. These converters (plus width and clock converters) are why heterogeneous IP can share one fabric: the interconnect absorbs the differences in one place rather than forcing every IP to match every other. Each adds latency/buffering, contributing to the system's overall latency budget.
5. Common Misconceptions
6. Debugging Insight
7. Verification Insight
8. Interview Questions
9. Summary
The interconnect's conversion job bridges heterogeneous IP across three kinds of mismatch, plus reset coordination. Clock-domain crossings use per-channel async FIFOs (gray-coded, synchronized) — clean thanks to the VALID/READY handshake, at the cost of latency/buffering. Reset must be a deliberate sequence (synchronous deassertion, quiesce in-flight transactions or reset coordinated domains together, handle CDC crossings) — careless reset with outstanding transactions leaves dangling state. Width converters (downsizer split / upsizer pack) re-packetize byte-accurately, preserving data, WSTRB, burst semantics, IDs, and ordering. Protocol converters bridge AXI3↔AXI4 (AxLEN width, locked removal, WID), full-AXI↔AXI4-Lite (single-beat), and AXI↔APB/AHB (2-phase, response mapping).
The unifying principle: concentrating conversion in the interconnect turns pairwise heterogeneity (O(N²)) into a single integration layer (O(N)) — each IP connects with its native clock/width/protocol and the fabric absorbs the differences, preserving AXI semantics across every boundary (adding latency that feeds outstanding-depth needs). Conversion bugs are boundary-specific (work in-domain, fail across a crossing): CDC corruption, post-reset dangling state, width byte-mapping errors, protocol-version failures — so verify each boundary preserves data/bytes/responses/ordering, with reset-during-traffic and byte-accurate width conversion as the highest-value tests. This completes Module 12 (the AXI interconnect). Next, Module 13 turns to performance — bandwidth, throughput, latency, and how to optimize them.
10. What Comes Next
You've completed the interconnect; Module 13 turns to performance:
- 13.1 — Bandwidth & Throughput (coming next) — defining and computing AXI bandwidth and sustained throughput, the foundation of performance analysis.
Previous: 12.6 — Multiple Managers & Subordinates. Related: 8.1 — Why Outstanding Transactions Exist for the latency/buffering interaction, and 10.3 — APB vs AXI4-Lite for the AXI-to-APB bridge. For the broader protocol catalog, see the AMBA family overview doc.