Multi Channel DMA Intel® FPGA IP for PCI Express* User Guide

ID 683821
Date 7/14/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

3.10.2.1. D2H Descriptor Format (d2hdm_desc)

Table 32.  D2H Descriptor Format
Name Width Description
SRC_ADDR [63:0] 64

Starting local memory address of allocated transmit buffer read by DMA and instruction must be DMWr for DMA operation with MM_mode=1.

Application specific bit indicates whether this command is an Interrupt.

If App_specific_bit=001, MM_mode=0:
  • Expectations is for user DMA to use MM_mode=0 and use the DMWr command for WB
DEST_ADDR [127:64] 64

Destination system address where the DM sends the data to in the host memory.

When MM_mode=0, instruction is DMWr, app_specific_bits=001
  • When app_specific_bits=010, contains the WB address H/L from external DMA’s QCSR
PYLD_CNT [147:128] 20

DMA payload size in bytes. Max 1 MB, with 20’h0 indicating 1 MB

.
DM_FmtType [155:148] 8

‘h60: DMWr

RSVD [159:156] 1

Reserved

PFVF [175:160] 16

{VF_ACTIVE, VFNUM[10:0], PF[3:0]}

MM_mode [176:176] 1

MM_mode=0: Only when Write back is intended. It is illegal and behavior is undefined if a DMRd is instructed with MM_Mode=0;

MM_mode=1: Indication to D2H DM to transfer the data to Host side. MM_mode=1 with DMWr command enables reading local FPGA memory and writing to host memory.

App_specific_bits [179:177] 3

Application-specific bits.

An example use case is that the external DMA controller set these bits to generate the Interrupt.

Note: In Intel® Quartus® Prime 22.1 release, D2H Data Mover doesn't support Interrupt generation.
DESC_IDX1 [195:180] 16

Unique Identifier for each descriptor, the same ID will be applied AVST source status signaling (d2hdm_desc_status) returning the status of the data mover completion to DMA controller.

RSVD [196:196] 1

Reserved

RSVD [212:197] 16

Reserved

DESC_IDX2 [224:213] 12

Optional.

Descriptor ID field providing additional provision for descriptor fetch engine to embed information such as channel number, etc. which the completion status on AVST will return unedited for the response completion packet.

If not used, the user external DMA controller is expected to drive this field to zero. The data mover subsystem will treat the descriptor ID field as {DESC_IDX2, DESC_IDX1}.