Intel® FPGA SDK for OpenCL™ Pro Edition: Custom Platform Toolkit User Guide

ID 683085
Date 3/28/2022
Document Table of Contents

1.4.6. Testing the Hardware Design

After you create the software utilities and the MMD layer, and your hardware design achieves timing closure, test the design.

To test the hardware design, perform the following tasks:

  1. Navigate to the OpenCL™ kernel within the INTELFPGAOCLSDKROOT/board/custom_platform_toolkit/tests/boardtest directory.
    INTELFPGAOCLSDKROOT points to the location of the Intel® FPGA SDK for OpenCL™ Pro Edition installation.
  2. Compile your kernel to generate an Intel® FPGA SDK for OpenCL™ Offline Compiler executable file (.aocx) by invoking the aoc -no-interleaving=default command.
  3. Program the accelerator board by invoking the aocl program acl0 boardtest.aocx command.
  4. Invoke the commands aocl compile-config and aocl link-config . Confirm they include flags necessary for your MMD layer to compile and link successfully.
  5. Build the boardtest host application.
    • For Windows systems, you may invoke the make -f command or use Microsoft Visual Studio.

      If you invoke the make command, use the file located in the INTELFPGAOCLSDKROOT/board/custom_platform_toolkit/tests/boardtest directory.

      If you build your host application in Microsoft Visual Studio, the boardtest.sln and main.cpp files are located in the INTELFPGAOCLSDKROOT/board/custom_platform_toolkit/tests/boardtest/host directory.

    • For Linux systems, invoke the make -f Makefile.linux command.

      The Makefile.linux file is located in the INTELFPGAOCLSDKROOT/board/custom_platform_toolkit/tests/boardtest directory.

  6. Run the boardtest executable.
Attention: To ensure that your hardware design produces consistent performance, you might have to test it using multiple OpenCL kernels in addition to

To qualify as an Intel® FPGA preferred board, rigorous testing across multiple boards is necessary. Specifically, you should perform overnight testing of all Custom Platform tests and executes the SDK example designs on multiple boards . All board variants within a Custom Platform must go through the testing process.