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 once the producer sends the TVALID
signal and the consumer responds by sending the TREADY signal (once 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 sideband 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.