FPGA AI Suite: Design Examples User Guide

ID 848957
Date 4/30/2025
Public
Document Table of Contents

16.8. [HL-JTAG] Known Issues and Limitations

The JTAG design example has the following known issues and limitations:
  • The number of inference request (-nireq) must be 1 when running dla_benchmark with the Agilex 5 E-Series JTAG Example Design.
  • The USB-JTAG connection between the host and the FPGA is relatively slow, so the system throughput is much lower than both the measured and estimated IP throughputs per instance.
  • For FPGA AI Suite IP configured with large Kvec and Cvec parallelism, the peak throughput of the DDR4 interface on the Agilex™ 5 FPGA E-Series 065B Modular Development Kit can become the bottleneck. When you run the dla_benchmark application with the flag -perf_est, the application provides a throughput estimation that does not fully account for the limited external memory bandwidth on the development kit, so the estimate might be higher than the measured IP throughput per instance.
  • On Ubuntu 20 and Ubuntu 22 systems, the runtime might fail when loading model to the FPGA device if the $DLA_SOF_PATH environment variable does not point to the correct bitstream file, or if the Quartus® Prime System Console system-console command is not present in the $PATH environment variable.

    The Quartus® Prime System Console command is in $QUARTUS_ROOTDIR/syscon/bin.

    [Step 5/12] Resizing network to match image sizes and given batch
    [Step 6/12] Configuring input of the model
    [[Step 7/12] Loading the model to the device
    Generating unsupported layer chains graph (./unsupported_layer_chains.dot)
    Using the Tcl setup script at /home/user/coredla-work/runtime/build_Release/system_console_script.tcl
    Saving temporary files to /home/user/Downloads
    Segmentation fault (core dumped)
  • You might occasionally see the following Quartus® Prime System Console error when running inference with the runtime on this design example:
    claim_service: Path cannot be found while executing
    "claim_service master $path {} 
    "\{${::g_const_master_offset_dla} ${::g_const_master_range_dla} EXCLUSIVE\}""
        procedure "claim_dla_csr_service" line 4)
        invoked from within"claim_dla_csr_service" 
    procedure "initialization" line 4)
     invoked from within
    "initialization"
    To recover from the issue, reprogram the FPGA with the correct bitstream and rerun the dla_benchmark application. To reduce the likelihood of this issue, lower the JTAG clock frequency to 16 MHz before running the run the dla_benchmark application:
    jtagconfig --setparam 1 JtagClock 16M
  • The build example design flow might generate bitstreams with timing failures for the Agilex™ 5 hostless JTAG design example, which causes inference to hang.
    When these faulty bitstreams are generated, the log file dla_adjust_pll.log found under the hw folder in the build output directory contains the following error message:
    Error (23098): One or more blocks are configured incorrectly and will not have the desired functionality

    To work around this issue, relaunch the example design compilation script with a different seed value.