FPGA AI Suite: IP Reference Manual

ID 768974
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

3.1. IP Generation Utility Execution Flows

The IP generation utility (dla_create_ip command) has the following flows:

Creating an IP Directory

This flow is typically first flow that you use. It creates an FPGA AI Suite IP library directory and adds an architecture as follows:

  1. Creates the IP library directory and copies all contents from <ai_suite_root>/fpga/ip_template/ into the new directory. The copied folder (<ip_template>) contains some basic Tcl scripts and Platform Designer IP configurations.
  2. Creates a <ip_directory>/Verilog directory and copies over RTL files that are common to any generated FPGA AI Suite IP architecture.

    These files are listed in static_files.tcl, which is used to ensure that other flows (the Platform Designer flow and design assembly flows outside Platform Designer) have access to the list of RTL source files.

  3. Creates the following directory for each architecture-family pair to add to the IP library:

    <ip_directory>/Verilog/<architecture>_<family>

    This location stores architecture-specific files.

  4. Invokes an internal utility to read the architecture description file (.arch).

    Output files are architecture-specific and are copied to the <ip_directory>/Verilog/<architecture>_<family> directory.

  5. For the specific architecture, creates a generated_files.tcl file and a dla_ip.qsf file in the <ip_directory>/Verilog/<architecture>_<family> directory.

Adding an Architecture to an Existing IP Directory

This flow adds a new architecture to an existing IP library directory as follows:
  1. Creates a <ip_directory >/Verilog directory and copies over RTL files that are common to any generated FPGA AI Suite IP architecture.

    These files are listed in static_files.tcl, which is used to ensure that other flows (the Platform Designer flow and design assembly flows outside Platform Designer) have access to the list of RTL source files.

  2. Creates the following directory for each architecture-family pair to add to the IP library:

    <ip_directory>/Verilog/<architecture>_<family>

    This location stores architecture-specific files.

  3. Invokes an internal utility to read the architecture description file (.arch).

    Output files are architecture-specific and are copied to the <ip_directory>/Verilog/<architecture>_<family> directory.

  4. For the specific architecture, creates a generated_files.tcl file and a dla_ip.qsf file in the <ip_directory>/Verilog/<architecture>_<family> directory.

Listing Architectures in an IP Directory

This flow lists all available architectures in the IP library directory. The utility looks for all <architecture_family> folders and displays them.

Removing an Architecture from an IP Directory

This flow removes an architecture from an IP library directory. The utility looks for a <architecture_family> folder and removes it.