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.