Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 10/04/2021
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.24.10. 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

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 {

    ##