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.