AN 780: Compiling and Customizing an Intel® Arria® 10 Custom Platform for OpenCL*

ID 683045
Date 10/30/2018
Public
Document Table of Contents

1.6. Intel® Arria® 10 Custom Platform Project Setup and Customization Procedure

This section provides an overview of the Intel® Arria® 10 GX FPGA Development Kit Reference Platform’s directory structure and files. It also outlines the procedures for acquiring the Reference Platform, checking the default Reference Platform compilations, and modifying the Reference Platform name.

To acquire the Intel® Arria® 10 GX FPGA Development Kit Reference Platform, please contact your Intel representative.

Table 5.  Directory Structure of the Intel® Arria® 10 GX FPGA Development Kit Reference Platform
Windows Folder Linux Directory Description
board_env.xml board_env.xml eXtensible Markup Language (XML) file that describes the Reference Platform to the Intel® FPGA SDK for OpenCL™ .
hardware hardware

Contains the Intel® Quartus® Prime project templates for the supported board variants. Each Reference Platform board variant implements the entire OpenCL hardware system on a given Intel® Arria® 10 GX FPGA Development Kit.

Specify the name of this directory in the board_env.xml file. Within this directory, the SDK assumes that any subdirectory containing a board_spec.xml file is a board.
windows64 linux64 Contains the MMD library, kernel mode driver, and executable files of the SDK utilities (that is, install, uninstall, flash, program, diagnose) for your 64-bit operating system.
source_windows64 source

source_windows64: contains source codes for the MMD library and SDK utilities. The MMD library and the SDK utilities are in the windows64 folder.

source: contains source codes for the MMD library and SDK utilities. The MMD library and the SDK utilities are in the linux64 directory.

After developing your Intel® Arria® 10 Custom Platform, store it in the INTELFPGAOCLSDKROOT/board directory. The SDK user will then set the AOCL_BOARD_PACKAGE_ROOT environment variable to point to the location of the Custom Platform's board_env.xml file in order to target an OpenCL kernel compilation to the Intel® Arria® 10 Custom Platform.

At a minimum, the Custom Platform that you design must include all of the following components:

  • The board_env.xml file, which contains information about the custom platform.
  • The hardware directory, which contains all of the hardware design information required for the Intel® FPGA SDK for OpenCL™ Offline Compiler to generate a custom FPGA. The board_spec.xml file resides in this directory.
  • The OS platform directory (for example, windows64 or linux64).

The OS Platform directory contains the board-specific libraries that must link to the host program, and the executables that run when the SDK user invokes an SDK utility. You must include an OS platform directory in your Custom Platform for each supported host operating system (for example, 64-bit Windows and Linux support).

Each board variant in the Custom Platform consists of a Intel® Quartus® Prime project and a board_spec.xml file that describes the system to the Intel® FPGA SDK for OpenCL™ Offline Compiler. The board_spec.xml file also describes the interfaces necessary to connect to the kernel. The Intel® FPGA SDK for OpenCL™ Offline Compiler generates a custom circuit based on the data from the board_spec.xml file. Then it incorporates the OpenCL kernel into the Platform Designer system that you create for all non-kernel logic.