AXI Master and Slave Read/Write Length Limitations
For outbound transfers:
- Reads are limited by minimums (
AXI_SLAVE_MAX_RD_TRANSFER_SIZE,MAX_READ_REQUEST_SIZE). The PCIe Controller AXI bridge cannot handle read requests if the outbound read request length is greater thanMAX_READ_REQUEST_SIZE. - Writes are limited by
AXI_SLAVE_MAX_WR_TRANSFER_SIZE. IfAXI_SLAVE_MAX_WR_TRANSFER_SIZEis greater thanMAX_PAYLOAD _SIZE—and the outbound write request length is greater thanMAX_PAYLOAD _SIZE—the write requests are split atMAX_PAYLOAD_SIZEboundary.
For inbound transfers:
- Writes are limited by
MAX_PAYLOAD_SIZE. IfAXI_MASTER_MAX_WR_TRANSFER_SIZEis less thanMAX_PAYLOAD_SIZEand the inbound packet length is greater thanAXI_MASTER_MAX_WR_TRANSFER_SIZE, requests are split intoAXI_MASTER_MAX_WR_TRANSFER_SIZEpackets. The same AXI ID is assigned to all split packets. - Reads are limited by
MAX_READ_REQUEST_SIZE. IfAXI_MASTER_MAX_RD_TRANSFER_SIZEis less thanMAX_READ_REQUEST_SIZEand the inbound packet length is greater thanAXI_MASTER_MAX_RD_TRANSFER_SIZE, requests are split into min(AXI_MASTER_MAX_RD_TRANSFER_SIZE,MAX_PAYLOAD_SIZE) packets. The same AXI ID is assigned to all split packets. The splits measure a length of min(AXI_MASTER_MAX_RD_TRANSFER_SIZE,MAX_PAYLOAD_SIZE). The start address is aligned to an RCB boundary and the next address is calculated by adding min(AXI_MASTER_MAX_RD_TRANSFER_SIZE,MAX_PAYLOAD_SIZE).
Note:
MAX_PAYLOAD_SIZE and MAX_READ_REQUEST_SIZE are
host-configured values in the device control register.
AXI_MASTER_MAX_RD_TRANSFER_SIZE,
AXI_MASTER_MAX_WR_TRANSFER_SIZE are the maximum transfer sizes for the
AXI master. AXI_SLAVE_MAX_RD_TRANSFER_SIZE,
AXI_SLAVE_MAX_WR_TRANSFER_SIZE are the maximum transfer sizes for the AXI
slave.