FPGA AI Suite Handbook

ID 863373
Date 11/21/2025
Public
Document Table of Contents

12.1. Generating Artifacts for Hostless DDR-Free Operation

When a graph is compiled with an architecture file that has the enable_parameter_rom FPGA AI Suite IP block configuration option enabled, the FPGA AI Suite compiler (dla_compiler) produces a set of memory initialization (.mif) files in a directory called parameter_rom under the export directory specified by the --dumpdir compiler command option. These files are required to build the bitstream for DDR-free operation and to run software inference. You do not need to specify any additional compiler options when compiling an architecture with DDR-free operation enabled.

For an architecture with DDR-free operation enabled, the compiler produces the following files:
  • ./ddrfree_filter_hw*.mif

    Contain the graph filters that are used to build the bitstream for DDR-free operation.

  • ./ddrfree_bias_scale_hw*.mif

    Contain the graph biases and scaling factors used to build the bitstream for DDR-free operation

  • ./ddrfree_filter_emu*.mif

    Contain the graph filters in software emulator form.

  • ./ddrfree_bias_scale_emu*.mif

    Contains the graph biases and scaling factors in software emulator format

  • ./ddrfree_config.mif

    Stores the FPGA AI Suite instructions for the compiled graph.

The filter and bias/scale .mif files are postfixed with an integer that represents the PE that the parameters are loaded into.

These files are generated using the dla_compiler tool that takes the architecture definition (.arch file) and the target neural network graph as inputs.

A total of k_vector DDR-free filter .mif files are generated. Each file is postfixed with an integer that represents which PE the filter is to be loaded to. Similarly, a total of k_vector DDR-free bias and scale files are generated, using the same postfix scheme to indicate the PE that should load this file.

The FPGA AI Suite IP requires a stream of instructions that describe the order in which convolutions, activations, and other operations are performed. This instruction stream is stored in a single .mif file (ddrfree_config.mif).

You must also enable input and output streaming when using DDR-free operation. The graph must have a large enough stream buffer depth to accommodate all of the intermediate results during inference.