Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

The AxiStreamPacketizer takes incoming AxiStreams and breaks them into smaller sub-frames (packets). The AxiStreamDepacketizer does the reverse, reassembling a packetized stream into the original frames. The packetization protocol also takes AXI-Stream sideband data (TDEST, TID, TUSER) and inserts it in the data stream as part of the packetization format. Together these features are very useful for sending an AXI-Stream over an external transport such as UDP.

Details

Packet Header

The Packetizer breaks stream frames in to smaller frames called packets. Each packet contains an 8 byte header as follows:

...

ByteBitsNameDescription
06:0TUserLastTUSER of of transaction of the AXI-Stream frame. Only valid if EOF=1
07EOFIndicates that this is the last packet of a frame.

Notes

 

  • We steal the MSB of tUserLast to indicate EOF. EOF=0 indicates that there are more packets left in the frame.
  • Having tUserLast/EOF in a tail allows the packetizer to function in streaming fashion and not have to buffer each packet worth of data in a FIFO.
  • TDest, TId and TUserFirst are placed in the header of every packet, even though they don’t change after the first packet of the frame.
  • TUserLast data is only valid if the EOF bit is 1

 

Contact

Ben Reese

bareese@slac.stanford.edu