Developer Guide

Intel® oneAPI DPC++/C++ Compiler Handbook for FPGAs

ID 785441
Date 6/24/2024
Public

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

Document Table of Contents

Advanced Board Management

Advanced board management involves programming the FPGA device or programming the flash memory on board (when supported by the BSP).

Programming the FPGA Device (aocl program Command)

Typically, the oneAPI SYCL* runtime programs the FPGA device on the board when you run your multiarchitecture binary. However, if you want to avoid reprogramming time overhead when the multiarchitecture binary is invoked, you can program the FPGA device before your run the binary.

Before you can program the FPGA device, you must have completed the following tasks:

To program the FPGA device in advance, run the following command:
aocl program <board_device_name> <extracted_.aocx_filename>

Programming the Flash Memory (aocl flash Command)

Directly programming the flash memory can be helpful if the SYCL* runtime is updated and the runtime is incompatible with the hardware configuration file programmed in the flash memory. In this case, if the board cannot be reprogrammed after rebooting the board, you can program the flash memory directly.

Before you program the flash memory, you have the following things:

  • FPGA hardware startup configuration file (.aocx) to load into flash memory.
  • The name of the FPGA board that you want to program. Use the aocl list-devices or aocl diagnose commands to get a list of devices detected by the host system.
To program the board flash memory, run the following command:
aocl flash <board_device_name> <startup_configuration_.aocx_file>