AXI4-Stream is a protocol designed for
transporting arbitrary unidirectional data. In an AXI4-Stream, TDATA width of bits is
transferred per clock cycle. The transfer is started after the producer sends the
TVALID signal and the consumer responds by sending
the TREADY signal (after it has consumed the initial
TDATA). At this point, the producer will start
sending TDATA and TLAST (TUSER if needed to carry
additional user-defined side-channel data). TLAST
signals the last byte of the stream. So the consumer keeps consuming the incoming
TDATA until TLAST
is asserted.
AXI4-Stream has additional optional features
like sending positional data with TKEEP and TSTRB ports which makes it possible to multiplex both the
data position and data itself on the TDATA signal.
Using the TID and TDIST signals, you can route streams as these fields roughly corresponds
to stream identifier and stream destination identifier. Refer to
Vivado Design Suite: AXI Reference
Guide (UG1037) or the
AMBA AXI4-Stream Protocol Specification
(ARM IHI
0051A) for more
information.