A read from the stream interface is performed by MicroBlaze V using one of the GET or GETD custom instructions. A read operation transfers the contents of an input interface to a general purpose register. The transfer is typically completed in two clock cycles for blocking mode reads as long as data is available. If data is not available, the processor stalls at this instruction until it becomes available. In the non-blocking mode (custom instructions with prefix n), the transfer is completed in one or two clock cycles irrespective of whether data is available. In cases where data is not available, the transfer of data does not take place and the C bit is set in the mstream CSR.
The data GET or GETD custom instructions (without prefix c) expect the
AXI4-Stream
TLAST input to be cleared to 0. Otherwise, the
instructions set the FSL bit in the mstream CSR to 1. Conversely, the control GET
instructions (with prefix c) expect the TLAST input to
be set to 1; otherwise, the instructions set the FSL bit to 1. This functionality can be
used to check for the boundary of a packet.