Intel® FPGA SDK for OpenCL™: Stratix® V Network Reference Platform Porting Guide

ID 683645
Date 11/06/2017
Document Table of Contents

2.6. Establishing Host Communication

After you modify and rebrand the Stratix® V Network Reference Platform to your own Custom Platform, use the tools and utilities in the Custom Platform to establish communication between your FPGA accelerator board and your host application.
  1. Program your FPGA device with the <your_custom_platform_name>/hardware/<board_name>/base.aocx hardware configuration file and reboot your system.
  2. Confirm that your operating system recognizes a PCIe® device with your vendor and device IDs.
    • For Windows, open the Device Manager
    • For Linux, invoke the lspci command
  3. Run the aocl install <path_to_customplatform> utility command to install the kernel driver on your machine.
  4. Ensure that you properly set the LD_LIBRARY_PATH environment variable on Linux or the PATH environment variable on Windows.
    For more information about the settings for LD_LIBRARY_PATH or PATH, refer to the Setting the Intel® FPGA SDK for OpenCL™ User Environment Variables section of the Intel® FPGA SDK for OpenCL™ Getting Started Guide.
  5. To instruct the MMD software not to use CvP or flash memory to program the FPGA, perform one of the following tasks :
    • To force the MMD to program via the quartus_pgm executable, set the environment variable ACL_PCIE_FORCE_USB_PROGRAMMING to a value of 1.
    • To force the MMD to program via your custom programming method, modify the <your_custom_platform_name>/source/host/mmd/acl_pcie_device.cpp file. Trace the appearance of the environment variable ACL_PCIE_FORCE_USB_PROGRAMMING in the source code, and replace the existing instruction with your custom programming method.
  6. Modify the version_id_test function in the MMD source code in the <your_custom_platform_name>/source/host/mmd/acl_pcie_device.cpp file to exit after reading from the version ID register.
  7. Remake the MMD software.
  8. Run the aocl diagnose utility command and confirm the version ID register reads back the ID successfully. You may set the environment variables ACL_HAL_DEBUG and ACL_PCIE_DEBUG to a value of 1 to visualize the result of the diagnostic test on your terminal.