AXI-Stream Protocol
AXI-Stream: continuous data streaming without address management.
What is AXI-Stream?
AXI-Stream is a very lightweight variant of the AXI protocol, specialized for continuous data streaming. Developed within the AMBA architecture, it is simple and efficient.
Unlike AXI4 and AXI-Lite, AXI-Stream drops address management entirely. It focuses solely on transferring a data stream from a Master to a Slave. The result: far fewer signals.
Read and Write
AXI-Stream is unidirectional (Master → Slave), so a single set of signals describes a complete transaction. To read from an AXI-Stream Slave, simply sample the data on a rising clock edge when TVALID is asserted.

Transaction sequence:
- Master asserts TVALID and waits for TREADY from the Slave.
- Slave asserts TREADY (it is ready to receive).
- Master sends data on TDATA, with TLAST set to '1' on the last beat.
- Master may keep TVALID high for the next beat, or deassert it when no more data is available.
Handshake
There are three methods for handling the handshake between TREADY and TVALID:


- Method 1: Slave keeps
TREADYpermanently high (always accepts data). - Method 2: Slave only asserts
TREADYwhenTVALIDis high. - Method 3: Slave manages
TREADYindependently ofTVALID.
If you implement a Slave: correctly manage
TREADY. If you implement a Master: correctly manageTVALIDandTLAST.
Signal Summary
| Signal | Direction | Description |
|---|---|---|
| TVALID | Master → Slave | Data on the bus is valid |
| TREADY | Slave → Master | Slave is ready to receive |
| TDATA | Master → Slave | Data to transfer |
| TLAST | Master → Slave | Marks the last beat of a packet |
| TKEEP (optional) | Master → Slave | Valid byte mask |
| TUSER (optional) | Master → Slave | Side-channel user data |
AXI-Stream is ideal for video, audio, DSP and any sequential data transfer that does not require addressing.
📝 Test your knowledge - Chapter quiz