AMBA AXI · Module 7
INCR Bursts
The AXI INCR burst (AxBURST=01) — the incrementing workhorse for memory access. How each beat's address advances by 2^AxSIZE, the per-beat address formula, length up to 256 beats, and the 4 KB-boundary constraint.
The INCR burst (AxBURST = 2'b01) is the one you'll meet most: an incrementing burst where each beat's address advances by the transfer size, so the burst sweeps a contiguous range of memory. Essentially all memory traffic — DMA to/from RAM, instruction fetch, buffer copies, structure reads — is INCR. Where FIXED reused one address, INCR walks forward; that single difference makes it the workhorse of the protocol. This chapter pins down how the address progresses, the per-beat formula, why INCR gets the long-burst extension, and the one rule that bounds it: the 4 KB boundary.
1. What an INCR Burst Is
In an INCR burst, each beat's address is the previous beat's address plus the number of bytes transferred — i.e., it increments by 2^AxSIZE every beat. The manager issues a single start address (AxADDR) and AxBURST = 2'b01; the addresses then walk forward:
beat n address = AxADDR + n × 2^AxSIZE, for n = 0 … AxLEN
So a burst with base 0x1000, AxSIZE = 2 (4 bytes/beat), and AxLEN = 3 (4 beats) touches 0x1000, 0x1004, 0x1008, 0x100C — a contiguous 16-byte span. Everything else is the standard burst machinery (AxSIZE bytes per beat, per-beat WSTRB, LAST on the final beat); the defining feature is the forward-marching address.
2. An INCR Read on the Wire
Here a 4-beat INCR read sweeps four words from base 0x1000 (AxSIZE = 2, 4 bytes/beat). One address handshake, four data beats, each returning the word at the next address:
incr-burst — 4-beat INCR read from 0x1000, 4 bytes/beat
6 cycles3. The Workhorse — Where INCR Is Used
INCR is the default for anything that touches a contiguous memory range:
- DMA to/from RAM — streaming a buffer in or out, address marching through the buffer.
- Cache line fills / evictions — pulling or writing back a contiguous line (when not using
WRAP, Chapter 7.4). - Instruction fetch — sequential code is a forward sweep of addresses.
- Structure / array access — reading or writing a contiguous block.
If the data lives across a span of addresses rather than at one port, it's INCR. That covers the overwhelming majority of high-bandwidth traffic, which is why INCR — not FIXED or WRAP — is the type that received AXI4's long-burst extension.
4. Length up to 256 — and the 4 KB Bound
INCR is the only burst type that reaches AXI4's 256-beat maximum (AxLEN up to 255); AXI3 caps it at 16, and FIXED/WRAP stay at 16 in both. Long INCR bursts are what let a DMA move a large contiguous block in one transaction.
But there is one hard limit that bites INCR specifically: a burst must not cross a 4 KB address boundary (Chapter 7.6). Because INCR's address marches forward, a long enough burst can reach a 4 KB boundary — and the manager must split the transfer at that boundary into separate bursts. (The 4 KB rule exists so that any single burst stays within one minimum-page region, so it can't span two regions that might map to different slaves.) FIXED never moves so it can't cross; WRAP wraps within its own aligned block; only INCR's forward progression makes the 4 KB rule an active design concern.
5. Common Misconceptions
6. Debugging Insight
7. Verification Insight
8. Interview Questions
9. Summary
The INCR burst (AxBURST = 2'b01) is AXI's workhorse: each beat's address advances by 2^AxSIZE, so beat n targets AxADDR + n·2^AxSIZE and the burst sweeps a contiguous memory range. That maps directly onto how memory is laid out, which is why essentially all high-bandwidth traffic — DMA to/from RAM, cache-line fills, instruction fetch, array/structure access — is INCR, and why INCR is the only type that gets AXI4's 256-beat extension (AXI3 and the other types stay at 16). Only the base address rides the bus; the per-beat addresses are derived arithmetic.
The defining constraint, unique among burst types, is the 4 KB boundary: because INCR's address marches forward, a burst can reach a 4 KB boundary it must not cross, so masters split transfers there. Its bugs are address-arithmetic (wrong stride if you don't step by 2^AxSIZE), boundary crossings (tail-of-transfer corruption), and unaligned-edge handling. Debug and verify by reconstructing AxADDR + n·2^AxSIZE and checking the 4 KB boundary. Next: the third type, WRAP — where the address increments but wraps within an aligned block, the natural fit for cache-line fills.
10. What Comes Next
You've got the incrementing workhorse; next, the wrapping variant:
- 7.4 — WRAP Bursts (coming next) — bursts whose address increments then wraps within an aligned block, the natural fit for critical-word-first cache-line fills.
- 7.5 — Burst Address Calculation (coming soon) — worked per-beat address derivations for every burst type.
Previous: 7.2 — FIXED Bursts. Related: 7.6 — The 4KB Boundary Rule for the constraint INCR must respect, and 7.1 — Burst Length, Size & Beats for the underlying arithmetic. For the broader protocol catalog, see the AMBA family overview doc.
Continue learning
Related tutorials
- Related topic
AMBA — AHB · APB · AXI
ARM's AMBA family — channels, handshakes, ordering rules, and verification strategy.
- Related topic
AXI4 Write Channel — AW, W & B Handshake
The AMBA 5 AXI4 write path — AW/W/B channels, the VALID/READY handshake, channel-dependency rules, and BRESP write-response semantics.
- Related topic
CPU-to-Memory Path
Trace a CPU load and store end-to-end through AXI to memory — the path from core through cache, interconnect, and memory controller, how a load becomes an AXI read burst (cache-line WRAP) and a store a write, and how outstanding transactions and cache behavior shape the real performance of the most common AXI path in any SoC.
- Related topic
The AMBA Family Overview
Where APB sits among the AMBA generations (APB, AHB, AXI, ACE, CHI), and how a modern SoC layers them by traffic class.
Standards & specifications
- Governing standard
- Arm AMBA AXI Protocol Specification (IHI 0022)(opens Arm in a new tab)
Defines the AXI channels, handshake and ordering rules. RTL structure, interconnect topology and verification strategy are design choices this specification does not mandate.
This page also covers RTL structure, verification approach and debugging technique. Those are engineering practice built on the standard, not requirements the standard itself imposes.
Where this fits
Part of the AMBA AXI curriculum.
