Skip to content

AMBA AXI · Module 11

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.

Everything so far — full AXI4 and AXI4-Lite — has been memory-mapped: you read and write addresses, and data has a location. AXI4-Stream is a different beast entirely. It has no addresses, no read/write distinction, and no request/response — just a unidirectional flow of data from a source to a sink, like a pipe between two blocks. The hard part of learning it isn't the signals (there are few, and the handshake is the familiar VALID/READY); it's the mental model shift from "accessing memory locations" to "streaming data through a pipe." This chapter makes that shift, introduces the core signals, and shows when streaming is the right paradigm.

1. Memory-Mapped vs Stream

The fundamental distinction:

  • Memory-mapped (AXI4 / AXI4-Lite): every access targets an address. The master reads or writes a location; data has a place it lives. There's a request (address) and a response (data/status), and the interface is bidirectional (separate read and write). Used for addressable storage and registers.
  • Stream (AXI4-Stream): there are no addresses. A source (master/transmitter) pushes a continuous sequence of data words to a sink (slave/receiver). It's unidirectional — data flows one way — with no read/write distinction and no addressing. Used for continuous dataflow between processing blocks.

The shift: memory-mapped asks "what's at this address?"; stream says "here's the next data word, take it." One is random-access to locations; the other is sequential flow through a connection.

Memory-mapped accesses addressed locations bidirectionally; stream pushes addressless data words one direction from source to sink.Memory-mappedread/write an ADDRESSAddressable storagerequest/response, bidirectionalStreamno address — push data wordsContinuous dataflowunidirectional source → sink12
Figure 1 — memory-mapped vs stream. Memory-mapped (AXI4/Lite) accesses addressed locations: read/write a place where data lives, bidirectional, request/response. Stream (AXI4-Stream) has no addresses: a source pushes a sequence of data words to a sink, one direction, no read/write. Random-access to locations vs sequential flow through a pipe.

2. The Pipe Mental Model

The right intuition for AXI4-Stream is a pipe (or a FIFO) connecting two blocks. A producer writes data words into one end; a consumer reads them out the other end, in order. The producer pushes when it has data; the consumer applies backpressure when it can't keep up — exactly the VALID/READY handshake you already know, now governing flow through the pipe.

Key properties of this model:

  • In-order, sequential — words come out in the order they went in. No reordering, no addressing to jump around.
  • Backpressure-controlledTREADY lets the consumer stall the producer; TVALID lets the producer signal data availability. Flow matches the slower side.
  • Point-to-point — a stream connects one source to one sink (interconnects can route/switch streams, but the link itself is point-to-point).

If you think "data flowing through a pipe, throttled at both ends by VALID/READY," you have the model. There's no "where" — only "next."

Source sends data words D0, D1, D2 to sink with TVALID; sink accepts with TREADY; words flow in order one direction.Source (TX)Sink (RX)TVALID + TDATA =D0TREADY (accept D0)TVALID + TDATA =D1TVALID + TDATA =D2TREADY (backpressure controls flow)TREADY(backpressure…
Figure 2 — a stream transfer as flow through a pipe. The source asserts TVALID with each data word; the sink asserts TREADY when it can accept; a word transfers when both are high. Words flow in order, source to sink, with the sink's TREADY providing backpressure. It's the familiar VALID/READY handshake governing a one-way data pipe.

3. The Core Signals

AXI4-Stream has a small signal set, most of it optional. The essentials and common options:

  • TVALID / TREADY — the handshake. A transfer happens when both are high (identical rule to AXI's VALID/READY).
  • TDATA — the data payload (the stream's actual content). Width is implementation-defined.
  • TLAST — marks the last word of a packet/frame, framing the stream into packets (Chapter 11.3).
  • TKEEP / TSTRB — byte qualifiers: which bytes of TDATA are valid data (TKEEP) vs position bytes (Chapter 11.4).
  • TID / TDEST — routing identifiers: TID tags the stream source, TDEST the destination (for stream interconnects/switches).
  • TUSER — user-defined sideband, like AXI's AxUSER.

Only TVALID is strictly required (plus the handshake partner TREADY); everything else is optional and added as the application needs. A bare stream is just TVALID/TREADY/TDATA — a throttled data pipe. Note the single-letter "T" prefix convention distinguishes stream signals from memory-mapped AXI.

Core stream signals TVALID, TREADY, TDATA; optional TLAST, TKEEP/TSTRB, TID/TDEST, TUSER.TVALID/TREADYhandshake (required)TDATApayloadTLASTpacket framingTKEEP/TSTRBbyte qualifiersTID/TDESTroutingTUSERsideband12
Figure 3 — the AXI4-Stream signal set. Core: TVALID/TREADY (handshake) and TDATA (payload). Optional: TLAST (packet framing), TKEEP/TSTRB (byte qualifiers), TID/TDEST (routing), TUSER (sideband). Most are optional — a minimal stream is just TVALID/TREADY/TDATA, a throttled one-way data pipe.

4. When to Use Streaming

Streaming fits continuous dataflow; memory-mapped fits addressable access:

If continuous dataflow between blocks use AXI4-Stream; if addressable storage or registers use memory-mapped AXI.flowing datalocations/registersContinuousdataflow, oraddressedaccess?Dataflow →AXI4-Stream(DSP, video,packets)Addressed →memory-mappedAXI/Lite
Figure 4 — choosing stream vs memory-mapped. Use AXI4-Stream for continuous dataflow between processing blocks — DSP pipelines, video/image processing, packet/network data, accelerator datapaths. Use memory-mapped AXI/Lite for addressable storage and control registers. The question is 'flowing data' vs 'addressed locations'.

Typical streaming use cases: DSP datapaths (filters, FFTs — data flows through processing stages), video/image pipelines (pixels stream through scalers, color converters), packet/network processing (frames flow through parsers, classifiers), and accelerator datapaths (a DMA streams data into an accelerator and out again). A very common pattern: a memory-mapped DMA reads data from memory and converts it to a stream into an accelerator, which streams results back to a DMA that writes them to memory — memory-mapped at the endpoints (addressed memory), streaming through the compute pipeline (flowing data). The two paradigms coexist, each where it fits.

5. Common Misconceptions

6. Debugging Insight

7. Verification Insight

8. Interview Questions

9. Summary

AXI4-Stream is a paradigm shift from memory-mapped AXI: no addresses, unidirectional, no read/write — just a continuous flow of data words from a source to a sink, like a pipe between two blocks. The producer pushes with TVALID, the consumer backpressures with TREADY, and a word transfers when both are high (the familiar handshake), with data flowing in order through the connection. The signal set is small and mostly optional — core TVALID/TREADY/TDATA, with optional TLAST (framing), TKEEP/TSTRB (byte qualifiers), TID/TDEST (routing, not addresses), and TUSER (sideband).

Streaming fits continuous dataflow (DSP, video, packets, accelerator datapaths); memory-mapped fits addressable storage and registers — and they coexist, classically as memory-mapped DMA endpoints feeding a streaming compute pipeline (with AXI4-Lite for control). The mental switch for debug and verification is from "addresses" to flow, integrity, framing, routing: is data flowing (handshake), stable (no corruption), framed (TLAST), and routed (TID/TDEST)? With no addressing, burst arithmetic, or cross-ID ordering, stream verification is essentially "does the pipe move data correctly under all flow conditions?" Next: the core stream handshake and data signals in detail — TVALID, TREADY, and TDATA.

10. What Comes Next

You've got the streaming paradigm; next, its core signals in detail:

Previous: 10.5 — AXI4-Lite Verification Checklist. Related: Valid/Ready Handshake — the handshake streaming reuses, and Five Channels for the memory-mapped contrast. For the broader protocol catalog, see the AMBA family overview doc.