Scalable Scatter-Gather DMA Intel® FPGA IP User Guide

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

3.8.1. Link Descriptor

Table 11.  Link Descriptor Format
Offset Byte Lanes
3 2 1 0
0x00 DescrIDX Control

FormatField[7:0]

0b00xx_xx01

0x04 Reserved. Set to 0.
0x08 NextBlockAddress[31:0]
0x0C NextBlockAddress[63:32]
0x10-0x1C Reserved. Set to 0.
Table 12.  Link Descriptor — Field Description
Field Description
DescrIDX

Unique Identifier for each descriptor. This value is updated to the following value:

  • Q_EXTRACT_POINTER register when a descriptor data transfer is complete.
Note: The value of DescrIDX cannot be 0. It must be incremented by 1. Once DescrIDX reaches the maximum value (number of descriptor block *128), the subsequent DescrIDX value should rollover. Refer to Figure Descriptor Chain / Ring buffer for Descriptor Blocks (Continuous Ring) and Figure Descriptor Chain for Descriptor Blocks (Stop at Last Descriptor) for examples of DescrIDX values.
Control The control field in the Link descriptor block.
NextBlockAddress

The address of the next 4kB page/descriptor block in host memory containing the descriptors.

Note: If there is only one 4kB page/descriptor block is allocated, the NextBlockAddress values must be configured to the values as defined in Q_START_ADDR_L & Q_START_ADDR_H CSR registers.

The NextBlockAddress and Q_START_ADDR_* from Device Port CSR configured by software must be aligned to 4kB page boundary by setting NextBlockAddress[11:0] and Q_START_ADDR_L[11:0] to zero.

Table 13.  Link Descriptor — Control Field
Bit Field Description
6:0 Reserved Set to 0.
7 DescValid

If set, indicate the current link descriptor content is valid.

Notes: This bit must set to high always by software.