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

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

1.6.2.1.1. Creating the board_env.xml File

To create a board_env.xml file for your Custom Platform, specify the elements and attributes in the board_env.xml file template.
Refer to The board_env.xml File section for a sample board_env.xml file.

For the Intel® FPGA SDK for OpenCL™ Offline Compiler to target a Custom Platform, the Intel® FPGA SDK for OpenCL™ user has to set the environment variable AOCL_BOARD_PACKAGE_ROOT to point to the Custom Platform directory in which the board_env.xml file resides.

Table 6.  Specifications of XML Elements and Attributes in the board_env.xml File
Element Attribute Description
board_env version: The Intel® FPGA SDK for OpenCL™ Custom Platform Toolkit release you use to create your Custom Platform.
Attention: The Custom Platform version must match the SDK version you use to develop the Custom Platform.

name: Name of the board installation directory containing your Custom Platform.

hardware dir: Name of the subdirectory, within the board installation directory, that contains the board variants.

default: The default board variant that the Intel® FPGA SDK for OpenCL™ Offline Compiler targets when the SDK user does not specify an explicit argument for the --board <board_name> Intel® FPGA SDK for OpenCL™ Offline Compiler option.

platform name: Name of the operating system (OS).

For a list of supported OS, refer to Operating System Support page on the Intel website.

mmdlib A string that specifies the path to the MMD library of your Custom Platform.

To load multiple libraries, specify them in an ordered, comma separated list. The host application will load the libraries in the order that they appear in the list.

linkflags A string that specifies the linker flags necessary for linking with the MMD layer available with the board.
Tip: You can use %a to reference the SDK installation directory and %b to reference your board installation directory.
linklibs A string that specifies the libraries the SDK must link against to use the MMD layer available with the board.
Note: Include the alterahalmmd library, available with the SDK, in this field because the library is necessary for all devices with an MMD layer.
utilbindir Directory in which the SDK expects to locate the SDK utility executables (that is, install, uninstall, program, diagnose, and flash).
Tip: You can use %a to reference the SDK installation directory and %b to reference your board installation directory.
  1. Within the board_env top-level XML element, under the name attribute, specify the name for the board installation.
    Usually, this field matches the directory in which the board_env.xml file is located. In this example, this directory is a10_ref_16.0.
  2. For the hardware element, under the dir attribute, specify the name of the hardware subdirectory within your board installation directory in which all the board variants are located.
    For Intel-provided Reference Platforms, this subdirectory is named hardware.
  3. Also for the hardware element, under the default attribute, specify the default board variant to use.
    This board variant is the board that will be targeted in compilation if a board is not specified. In this example, the default board variant is a10gx_fifo.
  4. A platform section exists for each host OS that is supported by the board installation. Under the name attribute of the platform element, specify the name as one of the operating systems that is supported by the SDK. Usually, the name is windows64, linux64, ibm power 64 , or arm32 for Intel SoCs.
  5. For each supported OS, specify the following fields:
    • mmdlib—a string that lists the paths to the MMD libraries of your Custom Platform.
    • linkflags—a string that lists the compiler flags necessary for linking with the MMD driver software layer. The MMD layer is delivered with the board during compilation.
    • linklibs—a string that lists the libraries that the compiler must link to in order to use the MMD layer with the board.
      Remember: Include alterahalmmd in the linklibs field along with your libraries.
    • utilbindir—the directory where the SDK expects to find the board utility executables. When the SDK user runs an SDK utility such as install, uninstall, program, diagnose, or flash, the SDK looks in the utilbindir directory to find the actual executable.