FPGA AI Suite: Getting Started Guide

ID 768970
Date 3/29/2024
Public

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

Document Table of Contents

6.8. Building an FPGA Bitstream for the PCIe Example Design

To complete this portion of the tutorial, you must meet the following prerequisites:
  • You must have a license for bitstream generation of the FPGA AI Suite IP.
  • You must have a specific version of Quartus® Prime Pro Edition installed:
    • The PCIe-based design example for Agilex™ 7 devices requires Quartus® Prime Pro Edition Version 22.4 or later. This document assumes that Version 23.4 is used.
    • The PCIe-based design example for Arria® 10 requires Quartus® Prime Pro Edition Version 19.2.
  • You must have the following paths included in your $PATH environment variable:
    • quartus/bin
    • qsys/bin

If you do not have a license for FPGA AI Suite, the generated IP has a built-in inference-count limitation. Any inference operations that occur after the limit is reached generate an error message that indicates that a license is required. To reset the inference count limit, you must reprogram the bitstream onto the FPGA device.

Building an FPGA Bitstream for the PCIe-Based Design Example for Agilex™ 7 Devices

Run the following command for the PCIe-Based Design Example for Agilex™ 7 devices:
cd $COREDLA_WORK/demo
dla_build_example_design.py \  
  -a $COREDLA_ROOT/example_architectures/AGX7_Performance.arch \
  --build -ed 3 -n 4 \
  --build-dir build_AGX7_Performance \
  --output-dir $COREDLA_WORK/demo/my_bitstreams

If the AOCL_BOARD_PACKAGE_ROOT environment variable is not set, the dla_build_example_design.py command returns an error message. To set this environment variable, review the instructions in Additional Software Prerequisites for the PCIe-based Design Example for Agilex 7 Devices.

If you want to see the full set of supported options, run the following command:
dla_build_example_design.py --help
The dla_build_example_design.py command provides a --seed option that you can use to vary the Quartus® Prime random seed.

This commands places the bitstreams into the my_bitstreams directory. The bitstream is named AGX7_Performance.sof.

After the bitstream is built, you must program it onto the FPGA following the instructions in section Programming the FPGA Device.

Building an FPGA Bitstream for the PCIe-Based Design Example for Agilex™ 7 Devices (WSL 2)

Important: These instructions apply to running Ubuntu Linux 20.04 In a Windows* Subsystem for Linux 2 (WSL 2) environment, For these instructions, you must install Quartus® Prime Pro Edition for Windows* on the same system as your WSL 2 environment.
To build the FPGA bitstream for the PCIe-Based Design Example for Agilex™ 7 devices in a WSL 2 environment:
  1. On your Microsoft* Windows* system, start an Ubuntu* 20.04 terminal session.
  2. At the Ubuntu* command prompt, run the following command:
    cd $COREDLA_WORK/demo
    dla_build_example_design.py \  
      -a $COREDLA_ROOT/example_architectures/AGX7_Performance.arch \
      --build -ed 3 -n 4 \
      --build-dir build_AGX7_Performance \
      --output-dir $COREDLA_WORK/demo/my_bitstreams
      --wsl
  3. Follow the instructions provided by the command output. The provided instructions guide you through the following tasks:
    • Copying the finalizing command from the command output.
    • Pasting the finalizing command and running it at a Windows* command prompt.

Building an FPGA Bitstream for the PCIe-Based Design Example for Arria® 10 Devices

Run the following command for the PCIe-Based Design Example for Arria® 10 devices:
cd $COREDLA_WORK/demo
               dla_build_example_design.py \
               -a $COREDLA_ROOT/example_architectures/A10_Performance.arch \
               --build -ed 1 \
               --build-dir build_A10_Performance \
               --output-dir $COREDLA_WORK/demo/my_bitstreams
            

You must include the -n 1 option when you build the A10_FP16_Example.arch architecture because the FPGA device on the Intel® PAC with Arria® 10 GX FPGA has enough DSPs only to build a single instance of this architecture.

If you want to vary the Quartus® Prime random seed, specify the --seed option as part of the dla_build_example_design.py command.

If you want to see the full set of supported options, run the following command:
dla_build_example_design.py --help

This commands places the bitstreams into the my_bitstreams directory. The bitstream is named A10_Performance.gbs.

After the bitstream is built, you must program it onto the FPGA following the instructions in section Programming the FPGA Device.