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

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

3. IFPGA Base Code Design

The IFPGA base driver provides an API for enumeration and a data structure for the enumeration result.

The Intel FPGA factory image implements a static region called the FPGA Interface Unit (FIU). This static region can have different features. To discover the FIU features, the IFPGA driver walks through the device feature list in the Intel® Arria® 10 FPGA device memory.

In the example below, after enumeration, the IFPGA code finds the FIU, port, accelerator and their sub features. The ifpga_hw data structure stores this information.

Figure 6. IFPGA Hardware Feature List

The ifpga_hw data structure stores this information.

struct ifpga_hw {
struct opae_adapter *adapter;
struct opae_adapter_data_pci *pci_data;
struct ifpga_fme_hw fme;
struct ifpga_port_hw port[MAX_FPGA_PORT_NUM];
};