Data Plane Development Kit Reference Manual: Intel FPGA Programmable Acceleration Card N3000

ID 683512
Date 12/06/2019
Public
Document Table of Contents

2.4. OPAE User Mode Driver

The ifpga rawdev driver, $RTE_SDK/drivers/raw/ifpga/ifpga_rawdev.c, defines the FPGA. This driver uses all the API functions described in this section to retrieve information from FPGA components.

The OPAE Hardware Layer API uses the IFPGA base code data structures defined in table below. These data structures abstract away the detailed hardware implementation to allow communication between IPN3KE User Mode Driver and FPGA base code. DPDK PMD or application can use the OPAE hardware layer API to communicate with the FPGA.

Figure 4. DPDK Software Applications Layered on OPAE Software and Hardware
Table 1.   Intel FPGA Base Code Data Structures
Data Structure Name Description
opae_fpga_adapter Represents an FPGA device for user mode device drivers. The DPDK software uses this structure for FPGA enumeration.
opae_manager Represents an FPGA management unit such as the FME. Stores information about FPGA functions such as thermal management, error reporting, and retimer status reporting.
opae_accelerator Represents an Accelerator Function (AF).
opae_bridge Provides a link between the FPGA Management Unit and AF.
Figure 5.  OPAE Hardware Layer API Architecture