Data Plane Development Kit Reference Manual: Intel FPGA Programmable Acceleration Card N3000
ID
683512
Date
12/06/2019
Public
4.1. opae_manager_get_eth_group_nums()
4.2. opae_manager_get_eth_group_info()
4.3. opae_manager_eth_group_write_reg()
4.4. opae_manager_eth_group_read_reg()
4.5. opae_manager_get_eth_group_region_info()
4.6. Data Structures for Retiming
4.7. opae_manager_get_retimer_info()
4.8. opae_manager_get_retimer_status()
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
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