AMBA AXI · Module 19
AXI4-Stream Video Pipeline
Build a capture-process-display video pipeline with AXI4-Stream — the address-less streaming plane where data flows continuously: how pixels stream through processing stages, TLAST marks frame/line boundaries, TUSER carries start-of-frame, backpressure throttles the whole pipeline, and why streaming (not memory-mapped) AXI fits continuous dataflow.
The three previous case studies were all memory-mapped — they had addresses (CPU loads, DMA writes, CSR registers). A fourth, fundamentally different pattern has no addresses at all: AXI4-Stream, where data simply flows from producer to consumer continuously. The canonical example is a video pipeline: pixels stream from a camera (capture) through processing stages (filters, format conversion) to a display, in an unbroken flow where each pixel goes to "the next stage," not to an address. This chapter builds a capture→process→display pipeline to show the streaming plane — AXI4-Stream's TVALID/TREADY/TDATA/TLAST/TUSER carrying continuous dataflow, how frame/line structure is marked, and how backpressure throttles the whole chain — completing AXI's design-space tour with its address-less member.
1. The Streaming Pattern: Continuous Dataflow, No Addresses
AXI4-Stream carries a continuous flow of data from a producer to a consumer with no address — data goes to "whoever's downstream," not to a location. A video pipeline is the archetype: the camera produces a stream of pixels, each processing stage consumes the stream, transforms it, and produces a new stream, and the display consumes the final stream — a dataflow graph, not a memory map. The handshake is the familiar TVALID/TREADY (a beat transfers when both are high), and the payload is TDATA (the pixel/data), but there are no AW/AR/address channels — the stream is the channel. This is the right model when data flows in one direction continuously and position-in-the-stream, not address, defines where data goes.
2. Structuring the Stream: TLAST, TUSER, TKEEP
A raw stream is just bytes; video needs structure, and AXI4-Stream's sideband signals provide it. TLAST marks the end of a packet — in video, typically the end of a line (or frame), so the consumer knows where line/frame boundaries are. TUSER carries user-defined sideband, conventionally start-of-frame (the first pixel of a frame asserts a TUSER bit), so the pipeline can align to frame boundaries. TKEEP/TSTRB mark which bytes are valid (for partial/end transfers). Together these turn a flat pixel stream into a structured frames of lines of pixels — TUSER=start-of-frame at the first pixel, TLAST=end-of-line at each line's last pixel, TDATA=the pixels. This is exactly the video-over-AXI4-Stream convention.
3. Backpressure Throttles the Whole Pipeline
The defining behavior of a streaming pipeline is backpressure propagation. Because the stages are chained by TVALID/TREADY handshakes, if any stage can't accept data (drops TREADY — e.g. the display isn't ready, or a processing stage stalls), that backpressure propagates upstream: the stage feeding it stalls, then the stage before that, all the way back to the camera. The whole pipeline runs at the rate of its slowest consumer. This is why streaming designs need rate matching — FIFOs between stages to absorb rate mismatches and bursty processing — and why a real-time source (a camera that can't stall) must have enough downstream buffering, or it drops frames. Backpressure is the flow-control mechanism, and managing it is the central streaming design concern.
4. Why Streaming, Not Memory-Mapped, and the Hybrid
AXI4-Stream fits video because the access pattern is continuous, one-directional dataflow where every pixel goes to the next stage in order — there's no random access, no addressing, no need for the read/write/response structure of memory-mapped AXI. Forcing video through memory-mapped AXI would mean addressing every pixel (pointless — they're sequential) and the overhead of address phases on a continuous flow. But real systems are often hybrid: a video pipeline streams pixels (AXI4-Stream) and is configured over AXI4-Lite (CSRs to set resolution, format, enable) and may write frames to memory via a DMA (full AXI) for buffering. So one video subsystem can use all three AXI variants — Stream for the pixel dataflow, Lite for control, full AXI for frame-buffer DMA — each for the traffic class it fits.
5. Common Misconceptions
6. Debugging Insight
7. Verification Insight
8. Interview Questions
9. Summary
AXI4-Stream is the streaming plane — the fourth and final point in AXI's design-space tour — and it's fundamentally different from the three memory-mapped paths: address-less continuous dataflow where data flows from producer to consumer with no addresses, only the TVALID/TREADY handshake and TDATA payload. A video pipeline (capture→process→display) is the archetype: pixels stream stage to stage as a dataflow graph, structured by sideband signals — TLAST for line/frame boundaries, TUSER for start-of-frame, TKEEP/TSTRB for valid bytes — turning a flat stream into frames-of-lines-of-pixels. The defining behavior is backpressure propagation: chained handshakes mean a stall ripples upstream, so the pipeline runs at its slowest consumer, requiring rate-matching FIFOs between stages and, for un-stallable real-time sources (cameras), sufficient downstream buffering or it drops frames.
Streaming fits video because the traffic is continuous one-directional dataflow with no random access — addressing sequential pixels would be pointless overhead. But real systems are hybrid: a video subsystem streams pixels (AXI4-Stream), is configured over AXI4-Lite (CSRs), and DMAs frames to memory over full AXI — using all three variants, each for its traffic class (often with async FIFOs for the clock-domain crossings). This is the capstone lesson of the case-study module: the four paths span the dimensions of on-chip traffic (addressed-vs-streaming, data-vs-control, latency-vs-throughput), revealing AXI as a family of right-sized protocols that real systems compose. The architect's job is to classify each subsystem's traffic, choose the right variant/configuration, and compose them on the interconnect with appropriate arbitration — the system-architecture understanding the whole curriculum builds toward. Next, we scale up to how AXI bridges into a Network-on-Chip at system scale.
10. What Comes Next
You've toured AXI's four traffic patterns; next, scaling the interconnect:
- 19.5 — NoC / Interconnect Use (coming next) — how AXI bridges into a Network-on-Chip at scale, where many masters and slaves connect through a packet-switched fabric rather than a simple crossbar.
Previous: 19.3 — AXI4-Lite CSR Access. Related: 11.1 — The AXI4-Stream Mental Model for the streaming paradigm, 11.3 — TLAST & Packet Boundaries for the framing, and 11.6 — Stream Backpressure for the flow control.