Quartus® Prime Pro Edition User Guide: Design Compilation

ID 683236
Date 7/08/2024
Public

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

Document Table of Contents

1.14.2.4. VHDL-2019 Conditional Analysis Tool Directives

Quartus® Prime Pro Edition provides support for VHDL-2019 (IEEE Std 1076-2019) section 24.2 Conditional analysis tool directives.

With conditional analysis tool directives, your VHDL description can be varied according to directives stored in a separate .ini file.

Create the .ini file and specify the path in the File name field of the VHDL-2019 Conditional Analysis User Definitions File panel of the VHDL Input compiler settings page.

The format for the file is as follows:
  • One identifier="value" pair per line
  • Use ; or # characters to start line or trailing comments
  • Identifiers must follow the requirements for a basic identifier as specified by the VHDL standard:
    • It must start with a letter.
    • It must contain only alphanumeric and underscore ("_") characters.
  • Values must be surrounded by double quotes.
A line in the file with invalid syntax is ignored and generates a warning message. Lines that attempt to redefine the standard identifiers are ignored.
An example of a conditional analysis user definitions file is as follows:
USER_VAR1="ABC"
USER_VAR2 = "xyz"

# line comment
; line comment
USER_VAR3 = "TEST" # trailing comment
USER_VAR4 = "lorem" ; trailing comment

USER_VAR5=";# comment characters in quotes are ignored"

Standard Conditional Analysis Identifiers

Quartus® Prime provides the following standard conditional analysis identifiers:
  • VHDL_VERSION = "<version>"

    For example, VHDL_VERSION = "2019". The values for <version> are restricted by the IEEE standard.

    VHDL_VERSION is set per file and can have a different value in each file.

  • TOOL_TYPE = "SYNTHESIS"

    The values for TOOL_TYPE are restricted by the IEEE standard.

  • TOOL_VENDOR = "INTEL CORPORATION"
  • TOOL_NAME = "QUARTUS"
  • TOOL_EDITION = "PRIME PRO"
  • TOOL_VERSION = "<major and minor version>"

    For example, TOOL_VERSION = "21.3.0"