P-Tile Avalon® Memory-mapped Intel® FPGA IP for PCI Express* User Guide

ID 683268
Date 7/14/2021
Public
Document Table of Contents

2.1.1. Avalon® -MM Bridge Architecture

The P-Tile Avalon® -MM Bridge can support three modes of operation:
  • Endpoint mode with Data Movers.
  • Endpoint mode.
  • Root Port mode.

In the first two modes, the P-Tile Avalon® -MM IP functions as an Endpoint (EP). In Root Port mode, it functions as a Root Port (RP).

The Avalon® -MM Bridge consists of five main modules: Read Data Mover (RDDM), Write Data Mover (WRDM), Bursting Avalon® -MM Master (BAM), Bursting Avalon® -MM Slave (BAS) and Control Register Access (CRA). These modules are shown in Figure 2 and described below. Depending on the mode of operation, different modules in the IP core are enabled.

Table 10.  Operating Modes of the Avalon® -MM BridgeIn the following table, Yes means the block is enabled for that operating mode. No means the block is not enabled for that mode.
Modes Modules
Read Data Mover (RDDM) Write Data Mover (WRDM) Bursting Avalon® -MM Master (BAM) Bursting Avalon® -MM Slave (BAS) Control Register Access (CRA)
Non-Bursting Mode Bursting Mode Non-Bursting Mode Bursting Mode
Endpoint mode with Data Movers (EP) Yes Yes Yes No No No No
Endpoint mode (EP) No No Yes No No Yes No
Root Port mode (RP) No No No Yes Yes No Yes

Here is a block diagram of the P-Tile Avalon® -MM Bridge showing the main modules:

Figure 2. P-Tile Avalon® -MM Bridge Block Diagram
  • Bursting Master (BAM): This module converts memory read and write TLPs initiated by the remote link partner and received over the PCIe link into Avalon® -MM burst read and write transactions, and sends back CplD TLPs for read requests it receives. It can also function in a non-bursting mode.
  • Bursting Slave (BAS): This module converts Avalon® -MM read and write transactions initiated by the application logic into PCIe memory read and write TLPs to be transmitted over the PCIe link. This module also processes the CplD TLPs received for the read requests it sent. It can also function in a non-bursting mode.
  • Read Data Mover (RDDM): This module uses PCIe memory read TLPs and Avalon® -MM write transactions to move large amounts of data from the system memory in the PCIe space to the FPGA memory in the Avalon® -MM space. It fetches descriptors from the system memory through one of its two Avalon® -ST sink interfaces. These descriptors define the data transfers to be executed. The RDDM also reports the status of these data transfers via its Avalon® -ST source interface.
  • Write Data Mover (WRDM): This module uses PCIe memory write TLPs and Avalon® -MM read transactions to move large amounts of data from your application logic in the Avalon® -MM space to the system memory in the PCIe space. The WRDM also supports immediate writes, which are enabled by a bit in the descriptors that the WRDM receives via one of its Avalon® -ST descriptor sink interfaces. For more details on immediate writes, refer to Write Data Mover Avalon -ST Descriptor Sinks. Similar to the RDDM, the WRDM also has its own Avalon® -ST source interface to report the status of its data transfers.
  • Control Register Access (CRA) Avalon-MM Slave (Root Port only): This module is used in Root Port mode only to issue accesses to the Endpoint's configuration space registers. It supports a single transaction at a time. It converts single-cycle, 32-bit Avalon® -MM read and write transactions into PCIe configuration read and write TLPs (CfgRd0, CfgRd1, CfgWr0 and CfgWr1) to be sent over the PCIe link. This module also processes the completion TLPs (Cpl and CplD) it receives in return.

The Response Reordering module assembles and reorders completion TLPs received over the PCIe link for the Bursting Slave and the Read Data Mover. It routes the completions based on their tags.

No re-ordering is necessary for the completions sent to the CRA module as it only issues one request TLP at a time.

Endpoint applications typically need the Bursting Master to enable the host to provide information for the other modules.