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

ID 683517
Date 12/01/2021
Public

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

Document Table of Contents

The MCDMA BAS programming sequence consists of the following steps defined in the following sections:

Using Traffic Generator (Write in Host Memory)

The following is the programming sequence:
Note: All addresses in the programming sequence needs to shift by a particular offset:
  • In case of x8, it needs to shift by 5 bits.
  • In case of x16, it needs to shift by 6 bits.
  1. Allocate DMA-able memory in the host system.
  2. Program the base address with the write_map_table with the physical address of the table.
  3. Set the write address register with the offset in the block where the Traffic generator needs to write the data.
  4. Set how many number of bursts BAS should write in the host memory in the WRITE_COUNT register.
  5. Set enable bit to start traffic generation.

Using Traffic Checker (Reads from Host Memory)

The following belongs to Traffic checker:
Note: All addresses in the programming sequence needs to shift by a particular offset:
  • In case of x8, it needs to shift by 5 bits.
  • In case of x16, it needs to shift by 6 bits.
  1. Allocate DMA-able memory in the host system.
  2. Program the base address with the read_map_table with the physical address of the host memory.
  3. Set the read address register with the offset in the block where the Traffic generator needs to read the data.
  4. Set how many number of bursts BAS should read in the host memory in the READ_COUNT register.
  5. Set enable bit to start traffic generation.