The transfer of an I/O write request on the CQ interface is
similar to that of a memory write request with a one-Dword payload. The transfer starts with
the 128-bit descriptor, followed by the one-Dword payload. When the Dword-aligned mode is in
use, the payload Dword immediately follows the descriptor. When the address-alignment mode is
in use, the payload Dword is supplied in a new beat after the descriptor, and its alignment in
the datapath is based on the address in the descriptor. The First Byte Enable bits in the
m_axis_cq_tuser
indicate the valid bytes in the payload. The byte enable
bits byte_en
also provide this information.
Because an I/O write is a Non-Posted transaction, the user logic must respond to it with a Completion containing no data payload. The Completions for I/O requests can be sent in any order. Errors associated with the I/O write transaction can be signaled to the requester by setting the Completion Status field in the completion descriptor to CA (Completer Abort) or UR (Unsupported Request), as is appropriate. The operation of the Completer Completion interface is described in Completer Completion Interface Operation.