Scalable Scatter-Gather DMA Intel® FPGA IP User Guide

ID 823097
Date 7/08/2024
Public

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

Document Table of Contents

3.3.3. Agent Controller

The Agent Controller module performs the following tasks:

  • Extracts the information from the descriptor instruction passed in from Descriptor Engine. Refer to the tables in Data Descriptor and Responder Descriptor for the definition of each field type.
  • Calculates the number of read or write transfers required by considering the following criteria:
    • Total payload length requested from the descriptor instruction.
    • MPS from PCIe Host for write transfers.
    • MRRS from PCIe Host for read transfers.
    Note:
    For DMA SoC mode:
    • The maximum burst size for read request issued at the Host AXI-4 interface is up to 512 bytes only.
    • The maximum burst size for write request issued at the Host AXI-4 interface can be up to 128/256/512 bytes based on the Maximum Payload Size parameter setting.
  • Forwards corresponding instructions (address, payload length, number of read or write requests) to Constructor to issue read/write requests.
  • Forwards corresponding instructions (address, payload length, sop, eop, number of read or write requests) to MM or ST source/sink agent interfacing with user logic.
  • Coordinates the reset sequence for each module when software reset is issued:
    • Asserts the q_resetting bit to indicate the initialization of reset cycle when q_sw_reset_req bit is set by software.
    • Assert the q_agent_control_paused bit when the q_pause_agent_control bit is set by software.
    • Completes any occurring transaction before proceeding to stop issuing responses and read descriptors further from descriptor engine.
    • De-asserts the q_en bit to prevent descriptor engine to receive or forward further descriptors or responses from or to Prefetcher Engine.
    • Completes any occurring transaction to or from Constructor before proceeding to stop the Constructor.
    • Toggles ready to high for Responder to flush out any occurring response packets from Router.
    • Reset all registers to initial states and erase all contents from descriptor engine's buffers.
    • De-assert the q_resetting bit to indicate the completion of reset cycle.