Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 12/13/2021

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

Document Table of Contents set_global_assignment (::quartus::project)

The following table displays information for the set_global_assignment Tcl command:

Tcl Package and Version

Belongs to ::quartus::project

Syntax set_global_assignment [-h | -help] [-long_help] [-comment <comment> ] [-disable] [-entity <entity_name> ] [-fall] -name <name> [-remove] [-rise] [-section_id <section id> ] [-tag <data> ] [ <value> ]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-comment <comment> Comment
-disable Option to disable assignment
-entity <entity_name> Entity to which to add assignment
-fall Option applies to falling edge
-name <name> Assignment name
-remove Option to remove assignment
-rise Option applies to rising edge
-section_id <section id> Section id
-tag <data> Option to tag data to this assignment
<value> Assignment value

Sets or removes a global assignment. Assignments created or modified by using this Tcl command are not saved to the Quartus Prime Settings File (.qsf) unless you explicitly call one of the following two Tcl commands (from the ::quartus::project Tcl package): 1) export_assignments 2) project_close (unless -dont_export_assignments is specified as an argument to project_close) You must save assignment changes before you run Quartus Prime command-line executables. Note, however, that the Tcl commands execute_flow and execute_module (from the ::quartus::flow Tcl package) call "export_assignments" before they run command-line executables. For entity-specific assignments, use the -entity option to force the assignment to specified entity. If the -entity option is not specified, the value for the FOCUS_ENTITY_NAME assignment is used. If the FOCUS_ENTITY_NAME value is not found, the revision name is used. If the Quartus Prime Settings File contains a USER_LIBRARIES assignment and you call set_global_assignment to set a SEARCH_PATH or USER_LIBRARIES assignment, the existing USER_LIBRARIES assignment expands into one or more SEARCH_PATH assignments. Note that values that begin with a dash ("-") should be enclosed in a backslash followed by a quote. In the following example, -02 is enclosed by \" at the beginning and the end. set_global_assignment -name ARM_CPP_COMMAND_LINE \"-O2\"

Example Usage
## Specify Stratix as the family to use when compiling
set_global_assignment -name FAMILY Stratix

## If the family name has empty spaces, use quotes
set_global_assignment -name FAMILY "Stratix GX"

## or remove any empty space
set_global_assignment -name FAMILY StratixGX
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_OK 0 INFO: Assigment <string> is not supported in this edition of the Quartus Prime software.
TCL_OK 0 WARNING: Ignored assignment: <string>. The assignment is no longer supported.
TCL_ERROR 1 ERROR: Assignment is not a global assignment: <string> -- it is an instance assignment. Specify a global assignment name or use the instance assignment commands.
TCL_ERROR 1 ERROR: Can't find file(s) associated with assignment. Specify a different assignment name.
TCL_ERROR 1 ERROR: Can't find section information for assignment. Specify a different assignment name.
TCL_ERROR 1 ERROR: Can't find active revision name. Make sure there is an open, active revision name.
TCL_ERROR 1 ERROR: Entity does not exist or uses illegal name characters: <string>. Specify a legal entity name.
TCL_ERROR 1 ERROR: The assignment <string> is from Design Template and can't be changed/removed.
TCL_ERROR 1 ERROR: File name <string> exceeds maximum of <string> characters. Specify a file name with fewer characters.
TCL_ERROR 1 ERROR: Can't run Tcl command while a process is in progress: <string>. To run the command, stop the compilation or simulation; or wait for the compilation or simulation to complete.