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.1.2. Request a Top-level Interface

The PIM defines the following two basic top-level AFU interfaces that consist of multiple device interfaces: ccip_std_afu and ccip_std_afu_avalon_mm. AFUs specify their top-level interface with the afu-image:afu-top-interface:name key in the platform configuration file.

The SystemVerilog interface definitions for the device interfaces listed below are documented in the following README:

$OPAE_PLATFORM_ROOT/sw/<opae-version>/platforms/afu_top_ifc_db/README.md

1. ccip_std_afu

This top-level interface consists of the cci-p, clocks, power and error device interfaces.

The top-level AFU module name remains ccip_std_afu . It includes the following device interfaces (device-class:interface):
  • cci-p:struct
  • clocks:pClk3_usr2
  • power:2bit
  • error:1bit
See the hello_afu sample json file for an example of an AFU requesting the ccip_std_afu top-level AFU interface at the following location:

$OPAE_PLATFORM_ROOT/hw/samples/hello_afu/hw/rtl/hello_afu.json

2. ccip_std_afu_avalon_mm

This top-level interface consists of the device interfaces included with the ccip_std_afu top-level plus a local memory interface.

The top-level AFU module name remains ccip_std_afu . It includes the following device interfaces (device-class:interfaces):
  • All device interfaces of the ccip_std_afu top-level AFU module interface
  • local-memory:avalon_mm
See the hello_mem_afu sample JSON file for an example of an AFU requesting the ccip_std_afu_avalon_mm top-level AFU interface:

$OPAE_PLATFORM_ROOT/hw/samples/hello_mem_afu/hw/rtl/hello_mem_afu.json

The PIM also defines a top-level AFU interface with a deprecated local memory device interface used by existing AFUs designed for earlier versions of the OPAE Platform. New AFU designs with local memory interfaces should be designed for the ccip_std_afu_avalon_mm top-level AFU interface.