get_all_global_assignments (::quartus::project)

The following table displays information for the get_all_global_assignments Tcl command:

Tcl Package and Version

Belongs to ::quartus::project 5.0

Syntax get_all_global_assignments [-h | -help] [-long_help] [-entity <entity_name> ] [-fall] -name <name> [-rise] [-section_id <section id> ] [-tag <data> ]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-entity <entity_name> Entity to which assignment belongs
-fall Option applies to falling edge
-name <name> Assignment name (string pattern is matched using Tcl string matching)
-rise Option applies to rising edge
-section_id <section id> Section id
-tag <data> Option to tag data to this assignment
Description
Returns a filtered output collection of all matching global
assignment values. To access each element of the output 
collection, use the Tcl command "foreach_in_collection". To 
see example usage, type "foreach_in_collection -long_help".

In version 5.0 of the ::quartus::project package, two new
Tcl commands "get_all_assignments" and "get_assignment_info"
have been introduced to replace the "get_all_global_assignments"
command. These two new commands simplify the interface to retrieve
information about Quartus Prime Settings File (.qsf) assignments.
The "get_all_global_assignments" command is still supported for 
backward compatibility. 

The "-name" option is not case sensitive. This option can take 
string patterns containing special characters from the set 
"*?\[]" as the value. The value is matched using Tcl string 
matching.

This Tcl command reads the global assignments found in
the Quartus Prime Settings File (.qsf). This Tcl command filters
the assignment data in the .qsf and outputs the data based 
on the values given by the "-name" option.

Each element of the collection is a list with the following 
format:
{ {<Section Id>} {<Assignment name>} {<Assignment value>} {<Entity name>} {<Tag data>} }

Certain sections in the .qsf can appear more than once. 
For example, because there may be more than one clock 
used in a project, there may be more than one CLOCK section 
each containing its own set of clock assignments. To uniquely 
identify sections of this type, a <Section Id> is used. 
<Section Id> can be one of three types. It can be the same as 
the revision name, or it can be some unique name. The 
following is a list of sections requiring a <Section Id> and 
the associated <Section Id> description:

Section Id                    Description
---------------------------   ------------------------------
CHIP                          Same as revision name
LOGICLOCK_REGION              A unique name
EDA_TOOL_SETTINGS             A unique name
CLIQUE                        A unique name
BREAKPOINT                    A unique name
CLOCK                         A unique name
AUTO_INSERT_SLD_NODE_ENTITY   A unique name

If you tagged data by making assignments with the -tag option,
then the information will be displayed in the <Tag data> field.

For entity-specific assignments, use the "-entity" option to 
retrieve the assignment(s) from the 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.
Example Usage
## Print out all the registered source files
## using the foreach_in_collection method
set file_asgn_col [get_all_global_assignments -name SOURCE_FILE]
foreach_in_collection file_asgn $file_asgn_col {

    ## Each element in the collection has the following
    ## format: {} {SOURCE_FILE} {<file_name>} {} {}
    puts [lindex $file_asgn 2]
}

## Print out all global assignments
set asgn_col [get_all_global_assignments -name *]

foreach_in_collection asgn $asgn_col {

    ## Each element in the collection has the following
    ## format: { {} {<Assignment name>} {<Assignment value>} {<Entity name>} {<Tag data>} }
    set name   [lindex $asgn 1]
    set value  [lindex $asgn 2]
    set entity [lindex $asgn 3]
    set tag    [lindex $asgn 4]

    puts "$entity: $name = $value"
}
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 INFO: 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: 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.
TCL_ERROR 1 ERROR: Value <string> for the -<string> option is illegal. Specify a legal value.
TCL_ERROR 1 ERROR: Option -<string> for <string> assignment is illegal. Specify a legal option or remove the option.
TCL_ERROR 1 ERROR: Options cannot be specified together: -<string>, -<string> and -<string>. Specify only one or two of the three options.
TCL_ERROR 1 ERROR: Missing destination for assignment. Specify the destination for the assignment.
TCL_ERROR 1 ERROR: You must open a project before you can use this command.
TCL_ERROR 1 ERROR: Found two options: -<string> and -<string>. Choose one of the options.
TCL_ERROR 1 ERROR: Illegal assignment name: <string>. Specify a legal assignment name. To view the list of legal assignment names, run get_all_assignment_names.
TCL_ERROR 1 ERROR: An unknown error has occured.