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.13. get_all_quartus_defaults (::quartus::project)

The following table displays information for the get_all_quartus_defaults Tcl command:

Tcl Package and Version

Belongs to ::quartus::project

Syntax get_all_quartus_defaults [-h | -help] [-long_help] [-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
-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 default 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 ::quartus::project package, two new Tcl commands "get_all_assignments" and "get_assignment_info" have been introduced to replace the "get_all_quartus_defaults" command. These two new commands simplify the interface to retrieve information about Quartus Prime Settings File (.qsf) assignments. The "get_all_quartus_defaults" 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 in the default assignments found inside the Quartus Prime Default Settings File (.qdf). It filters the assignments data found inside the .qdf and outputs the data based on the values specified by the "-name" option. Each element of the collection is a list with the following format: { {<Section Id>} {<Assignment name>} {<Assignment value>} } 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

Example Usage
## Print out all the default assignments using
## the foreach_in_collection method

set default_asgns_col [get_all_quartus_defaults]
foreach_in_collection default $default_asgns_col {
	set sect_id [lindex $default 0]
	set name [lindex $default 1]
	set value [lindex $default 2]

	## Now, display the content of the assignment
	puts "Section ID ($sect_id)"
	puts "Assignment Name ($name)"
	puts "Assignment Value ($value)"
}

## Using wildcards
set default_asgns_col [get_all_quartus_defaults -name *]
foreach_in_collection default $default_asgns_col {
	set sect_id [lindex $default 0]
	set name [lindex $default 1]
	set value [lindex $default 2]

	## Now, display the content of the assignment
	puts "Section ID ($sect_id)"
	puts "Assignment Name ($name)"
	puts "Assignment Value ($value)"
}
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
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: 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: Ignored assignment: <string>. The assignment is no longer supported.
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.