AMBA AXI · Module 11
DMA, Video & Network Use Cases
AXI4-Stream in real systems — the MM-to-stream DMA bridge, video pipelines (SOF/EOL framing), and network packet processing (TLAST/TKEEP/TDEST). How every stream signal maps to a concrete role across three canonical pipelines.
This chapter closes Module 11 by grounding everything — TDATA, TLAST, TKEEP, TUSER, TID/TDEST, and backpressure — in three canonical use cases: DMA (bridging memory-mapped and streaming), video (pixel pipelines), and network (packet processing). These are where AXI4-Stream actually lives, and seeing each signal play its real role makes the whole module concrete. The unifying theme: every "T" signal maps to a tangible job, and real systems combine all three AXI flavors — memory-mapped for storage, stream for dataflow, AXI4-Lite for control.
1. DMA — Bridging Memory-Mapped and Stream
The most fundamental use case is the DMA that bridges memory-mapped AXI and AXI4-Stream. Two directions:
- MM-to-Stream (MM2S / "read" DMA): reads data from memory over full AXI4 (addressed, bursting), and emits it as an AXI4-Stream into a downstream block (e.g., an accelerator). It converts addressed memory data into a flow.
- Stream-to-MM (S2MM / "write" DMA): receives an AXI4-Stream and writes it to memory over full AXI4. It uses
TLASTto know a packet is complete — finalizing a buffer, recording the length, advancing a descriptor, raising an interrupt.
This is the MM-edges, stream-middle pattern (Chapter 11.1): memory-mapped AXI4 at the memory endpoints (where addressing and bursts are needed), AXI4-Stream through the compute (where data just flows), and AXI4-Lite for the DMA's control registers. The DMA is the glue that converts between the addressed and streaming worlds.
2. Video — Pixel Pipelines
In a video pipeline, pixels stream through processing stages (scaler, color-space converter, on-screen display, etc.), and the stream signals carry the frame structure:
TDATA= the pixel data (one or more pixels per beat).TLAST= end-of-line (EOL) — marks the last pixel of each scanline (each line is a packet).TUSER[0]= start-of-frame (SOF) — asserted on the first pixel of each frame (the standard AXI4-Stream Video convention), framing the stream into frames.- Backpressure (
TREADY) throttles the pipeline; FIFOs / frame buffers decouple stages, and a real-time camera source needs buffering to absorb downstream stalls (Chapter 11.6) or frames are torn/dropped.
So a video frame is a sequence of lines (each TLAST-delimited), with SOF on TUSER marking the frame's start. Downstream stages use SOF+EOL to track position within the frame. This combination — TDATA/TLAST/TUSER for framing plus TREADY flow control — is the canonical streaming-video design.
3. Network — Packet Processing
In network/packet processing, Ethernet frames flow through parsers, classifiers, and switches:
TDATA= the frame bytes.TLAST= end-of-frame — frames are variable-length packets, delimited byTLAST(no length field).TKEEP= the partial last beat — since frame length rarely divides the bus width,TKEEPmarks the valid bytes of the final beat, giving the exact frame length (Chapter 11.4).TDEST/TID= routing — a stream switch routes whole frames byTDESTto the right processor/queue (CPU, offload engine), withTIDidentifying the source port (Chapter 11.5).TUSER= per-frame status — e.g., a CRC-error or classification-result flag.
So a frame is a TLAST-delimited, TKEEP-sized packet, routed by TDEST, tagged by TID, with status on TUSER. This exercises essentially every stream signal — which is why networking is the showcase use case for AXI4-Stream's full feature set.
4. Every Signal Maps to a Role
The throughline across all three use cases: each stream signal has a concrete real-world job.
| Signal | Role | Example |
|---|---|---|
TDATA | the payload | samples / pixels / frame bytes |
TVALID/TREADY | flow control | pace producer/consumer, backpressure |
TLAST | unit boundary | packet / line (EOL) / frame |
TKEEP | partial last beat | variable frame length |
TUSER | sideband | SOF (video), CRC/status (network) |
TID/TDEST | identify / route | source port / destination queue |
And every real system layers the three AXI flavors: memory-mapped AXI4 for addressed storage (DMA endpoints, frame buffers), AXI4-Stream for dataflow (the compute/processing pipeline), and AXI4-Lite for control (configuration/status registers). Recognizing which flavor fits which part — and which stream signal carries which structure — is the practical payoff of the whole AXI curriculum so far.
5. Common Misconceptions
6. Debugging Insight
7. Verification Insight
8. Interview Questions
9. Summary
AXI4-Stream lives in three canonical use cases that put every signal to work. A DMA bridges memory-mapped AXI and stream — MM2S reads memory (AXI4) and emits a stream; S2MM receives a stream and writes memory (AXI4), using TLAST to delimit buffers — the MM-edges, stream-middle pattern with AXI4-Lite control. A video pipeline streams pixels (TDATA) framed by EOL (TLAST) and SOF (TUSER[0]), paced by backpressure with FIFOs/frame buffers, where the real-time camera needs buffering. A network pipeline carries variable-length frames — TLAST end-of-frame, TKEEP sizing the partial last beat, TDEST/TID routing whole frames through a switch, TUSER status — exercising nearly every signal.
The unifying lesson: every stream signal maps to a concrete role (TDATA payload, TLAST boundary, TKEEP length, TUSER sideband, TID/TDEST routing, TVALID/TREADY flow), and real systems combine all three AXI flavors — memory-mapped for storage, stream for dataflow, AXI4-Lite for control — each where its model fits. Streaming is the right abstraction for sequential dataflow precisely because forcing it through an addressed model would be wasteful overhead. This completes Module 11 (AXI4-Stream). Next, Module 12 returns to the heart of memory-mapped systems: the AXI interconnect — how it routes, arbitrates, and converts between many managers and subordinates.
10. What Comes Next
You've grounded AXI4-Stream in real systems; Module 12 turns to the interconnect:
- 12.1 — AXI Interconnect Overview (coming next) — the interconnect's job: routing, arbitration, and protocol conversion between many managers and subordinates.
Previous: 11.6 — Stream Backpressure. Related: 11.1 — The AXI4-Stream Mental Model for the MM-edges/stream-middle pattern, and 10.1 — Why AXI4-Lite Exists for the control flavor. 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
AXI4 vs AXI3 vs AXI4-Lite vs AXI4-Stream
Map the four AXI variants — AXI4, AXI3, AXI4-Lite, and AXI4-Stream — what each keeps or drops, and when an engineer reaches for each.
- Related topic
The AXI4-Stream Mental Model
AXI4-Stream is a different paradigm from memory-mapped AXI — a unidirectional, address-less point-to-point stream of data. The stream-vs-memory-mapped distinction, the pipe mental model, the core signals, and when to use streaming.
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.
