Accelerator Functional Unit Developer’s Guide for Intel® FPGA Programmable Acceleration Card

ID 683129
Date 7/20/2020
Public
Document Table of Contents

5.3.2.2.1. Start with a Top-level Module Template

The top-level AFU interface requested in the platform configuration file defines the AFU’s top-level RTL module port definition. Use the top-level module templates from OPAE or a corresponding AFU sample’s top-level module as a reference for your AFU’s top-level module port definition according to the top-level AFU interface requested in the platform configuration file.

OPAE top-level AFU RTL module templates are in the following location in the OPAE SDK: $OPAE_PLATFORM_ROOT/sw/<opae-version>/platforms/afu_top_ifc_db/

You can find the AFU samples at the following location in the OPAE SDK:$OPAE_PLATFORM_ROOT/hw/samples/

Table 5.  Associated Interface with Top-Level Module Template
Requested Top-Level Interface Top-Level AFU RTL Module Templates
ccip_std_afu

Blank OPAE template: ccip_std_afu.sv.template

Sample AFU reference: hello_afu/hw/rtl/ccip_std_afu.sv

ccip_std_afu_avalon_mm

Blank OPAE template: ccip_std_afu_avalon_mm.sv.template

Sample AFU reference: hello_mem_afu/hw/rtl/ccip_std_afu.sv

If you extend one of the above basic top-level AFU interfaces to add additional device interfaces (e.g., hssi), manually add the module ports for the added device interfaces. For example, the Ethernet sample AFUs extend the ccip_std_afu top-level AFU interface by adding an hssi device interface as shown in the following sample AFU top-level module RTL source files:

$OPAE_PLATFORM_ROOT/hw/samples/eth_e2e_e10/hw/rtl/ccip_std_afu.sv

$OPAE_PLATFORM_ROOT/hw/samples/eth_e2e_e40/hw/rtl/ccip_std_afu.sv

$OPAE_PLATFORM_ROOT/hw/samples/hssi_prbs/hw/rtl/ccip_std_afu.sv