Intel Agilex® 7 F-Series and I-Series FPGA Memory Subsystem IP User Guide

ID 789389
Date 12/04/2023
Public

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

Document Table of Contents

7.1. Device Feature List

The memory subsystem can create a Device Feature List (DFL). This feature is used by a variety of Intel FPGA products, like the Intel Open FPGA Stack (OFS).

In general, the intention is to hide details of hardware and provide unified interfaces for your applications running in OS based in the Linux kernel. The DFL allows applications to configure, enumerate, open, access and manage FPGA hardware more easily.

Your design may instantiate multiple packet-processing building block IPs (such as TCAM, MBL, and others.) The DFL improves discoverability, by providing a means of establishing links between CSR address spaces across packet-processing building block IPs. These linkages are achieved using a linked-list data structure. To implement this linked-list structure, each packet-processing building block includes a common section called the Device Feature Header (DFH), at the beginning of its CSR address space. The DFH contains, among other fields, a pointer to the CSR address space of the next packet-processing building block in the chain.

Enabling the Device Feature Header

  1. To enable the Device Feature Header (DFH), navigate to the Implementation Hints tab in the Memory System IP parameter editor.
  2. Set the Sideband Interface parameter to Enabled. (By default, the Sideband Interface parameter is disabled.)

Viewing the contents of the DFL and Adding Parameters

To view the contents of the DFL for your system and add parameters, follow these steps:

  1. Generate a design example, navigate to the generated /synth folder, and open the .qsys file.
  2. Once you have opened the /synth file, look for the dfl_rom file in the System View.
  3. To view the contents of the dfl_rom file, click View > DFL Builder (Beta).
  4. In the DFL Builder, click Generate DFL.
  5. After the DFL is generated, select the axi_lite interface inside the dfl_rom. The tab on the right then displays the contents of the dfl_rom file.