GTS AXI Multichannel DMA IP for PCI Express* User Guide

ID 847470
Date 8/25/2025
Public
Document Table of Contents

B.1.2.2. Descriptor Memory Management

At the time of channel initialization, the device allocates the descriptor memory and data memory.

Descriptor memory

The maximum length of data in a descriptor is 1 MB. Link specifies whether the next descriptor is in any other page.

AXI-Stream H2D/D2H descriptor

  • source address
  • Destination address
  • Data length
  • Start of file (SOF)
  • End of file (EOF)
  • Descriptor index
  • Link

Application needs to pass these values to the hardware through the libmqdma.

Data Memory

The user space data page can be much bigger than the normal TLB entry page size of 4 KB. The libqdma library implements the allocator to organize the memory.

Following are the hardware registers which the software updates as part of the channel enumeration.

  • Q_START_ADDR_LQ_START_ADDR_H: Contains the physical address of the start of the descriptor array.
  • Q_SIZE: Logarithmic value of number of descriptors.
  • Q_CONS_HEAD_ADDR_LQ_CONS_HEAD_ADDR_H: Physical address of the head index of the ring, where the FPGA syncs the value of the head.