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 deasserts TVALID.
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.