Scalable Scatter-Gather DMA Intel® FPGA IP User Guide

ID 823097
Date 4/07/2025
Public
Document Table of Contents

3.8.5. Aligned and Unaligned Transfer Support

SSGDMA IP supports both aligned and unaligned data transfers between host and device ports. Aligned and unaligned data transfers are defined as follows:
  • DWORD aligned access: Address or payload length of descriptors are aligned to 4-byte boundaries.
  • Data width aligned access: Address or payload length of descriptors are aligned to data width (in bytes) of both host and respective device port interfaces. For example, the data width of the Host interface, H2D ST Port 0 and H2D ST Port 1 are 256-bit (32 bytes), 64-bit (8 bytes), and 512-bit (64 bytes), respectively. Possible address and payload length values of descriptors for H2D ST Port 0 are 0 (address only), 32, 64, 96, 128, etc.; while possible address and payload length values of descriptors for H2D ST Port 1 are 0 (address only), 64 128, 192, 256, etc.

  • Unaligned Access: Address or payload length of descriptors is aligned to byte boundary. Unaligned data transfer support can be enabled by enabling Enable un-aligned addressing access parameter. In DMA PCIe mode, the SSGDMA IP uses the PCIe semantic of First DW Byte-enable and Last DW Byte-enable to request data. In DMA SoC mode, the SSGDMA IP Host AXI-4 interface supports unaligned transfer which adheres to AXI-4 specifications.
    Note: Unaligned access is not supported for H2D MM port in current release.
Table 34.  Alignment Modes Supported for Descriptor Address and Payload Length
Alignment Mode Enable un-aligned addressing access IP Parameter SRC/DEST Address Alignment Payload Length Alignment Notes
Default alignment Disabled

AXI4: data width aligned

AXI/Avalon-ST: data width aligned

AXI4: data width aligned

AXI/Avalon-ST: data width aligned (exception: DWORD aligned for last descriptor of a packet with EOP)

  • Low resource utilization
Unaligned (or Byte aligned) access Enabled Byte aligned Data width aligned (exception: byte aligned for last descriptor of a packet with EOP)
  • Supported for H2D/D2H device port only (AXI-ST/ Avalon-ST)
  • Supported for device port data widths of 64/128/256/512-bit only
  • High resource utilization