AXI4 Stream difference between Position Byte and Null Byte

In AXI4 Stream protocol apart from data byte two other byte types are defined known as position byte and null byte. 

For the position byte the description says: "A byte that indicates the relative positions of data bytes within the stream. This is a placeholder that does not contain any relevant data values that are transmitted between the source and destination." 

So how does the slave process position byte. Additionally Null byte also does not contain any relevant information, so what is the difference between these two bytes. 

Can anyone elaborate on this?

Parents
  • From the AXI-Stream Specification, a Null byte has TKEEP deasserted, whereas a Position has TKEEP asserted.  TKEEP indicates whether any component is safe to discard this byte from the stream.

    This means we can discard Null bytes, but not Position bytes.  A Null byte has no meaning, and any component is free to add or remove them as it wishes.  Position bytes can be used to indicate relative position within a stream, and so cannot be removed.

Reply
  • From the AXI-Stream Specification, a Null byte has TKEEP deasserted, whereas a Position has TKEEP asserted.  TKEEP indicates whether any component is safe to discard this byte from the stream.

    This means we can discard Null bytes, but not Position bytes.  A Null byte has no meaning, and any component is free to add or remove them as it wishes.  Position bytes can be used to indicate relative position within a stream, and so cannot be removed.

Children
No data