Data (Pixel) Stream Interface
The Data Stream interface is based on the AMBA AXI4-Stream Protocol Specification:
□ | At the slave side, the CustomLogic receives images acquired from a CoaXPress Device (for example a CoaXPress camera) |
□ | At the master side, the Data Stream interface transfers the resulting images/data generated by the CustomLogic to the PCI Express DMA Back-End channel. |

Signal |
Width |
Direction |
Description |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
s_axis_aresetn | N*1 | Input | ARESETn resets the AXI4-Stream interface. This pulse is asserted when a Stop Acquisition command (DSStopAcquisition) is executed. This signal should be used to clear the CustomLogic internal Data Stream pipeline. |
||||||||||||
s_axis_tvalid |
N*1 |
Input |
TVALID indicates that a corresponding master interface is driving a valid transfer. |
||||||||||||
s_axis_tready |
N*1 |
Output |
TREADY indicates that the CustomLogic can accept a transfer in the current cycle. |
||||||||||||
s_axis_tdata |
N*W |
Input |
TDATA is the primary payload that is used to provide the data passing across the interface. |
||||||||||||
s_axis_tuser |
N*4 |
Input |
TUSER is user defined sideband information that can be transmitted alongside the data stream.
|
In the Width column: “N” refers to the total number of interface slots, which is the number of devices/cameras supported by the CustomLogic variant, and "W" refers to STREAM_DATA_WIDTH, the stream data width per device/camera.
□ |
□ |
□ |

Signal |
Width |
Direction |
Description |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
m_axis_tvalid |
N*1 |
Output |
TVALID indicates that the CustomLogic is driving a valid transfer. |
||||||||||||
m_axis_tready |
N*1 |
Input |
TREADY indicates that the PCI Express DMA Back-End can accept a transfer in the current cycle. |
||||||||||||
m_axis_tdata |
N*W |
Output |
TDATA is the primary payload that is used to provide the data passing across the interface. |
||||||||||||
m_axis_tuser |
N*4 |
Output |
TUSER is user defined sideband information that can be transmitted alongside the data stream. The TUSER content is encoded as follows:
|
In the Width column: “N” refers to the total number of interface slots, which is the number of devices/cameras supported by the CustomLogic variant, and "W" refers to STREAM_DATA_WIDTH, the stream data width per device/camera.
□ |
□ |
□ |
At the CustomLogic master side, the m_axis_tuser signal has the function of controlling the PCI Express DMA Back-End. The flags carried by m_axis_tuser are interpreted as follows:
□ | Start-of-Buffer: A cycle containing this flag starts a new buffer. |
□ | End-of-Buffer: A cycle containing this flag ends a buffer even if it still has available space to accommodate new transfers. |

TVALID/TREADY handshake and TUSER flags timing diagram
In this example, we consider that the LinePitch is 64 bytes (4 transfer cycles of 16 bytes each) and the full frame is composed of 10 lines/packet.
For more information about the AXI4-Stream Protocol, please refer to Xilinx “AXI Reference Guide (UG1037)” at www.xilinx.com and “AMBA AXI4-Stream Protocol Specification” at www.amba.com.