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 get_all_parameters (::quartus::project)

The following table displays information for the get_all_parameters Tcl command:

Tcl Package and Version

Belongs to ::quartus::project

Syntax get_all_parameters [-h | -help] [-long_help] [-entity <entity_name> ] [-fall] -name <name> [-rise] [-tag <data> ] [-to <destination> ]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-entity <entity_name> Entity to which parameter belongs
-fall Option applies to falling edge
-name <name> Parameter name (string pattern is matched using Tcl string matching)
-rise Option applies to rising edge
-tag <data> Option to tag data to this assignment
-to <destination> Destination of the parameter (string pattern is matched using Tcl string matching)

Returns a filtered output collection of all matching parameter values. To access each element of this 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_parameters" command. These two new commands simplify the interface to retrieve information about Quartus Prime Settings File (.qsf) assignments. The "get_all_parameters" command is still supported for backward compatibility. The "-name" option is not case sensitive. The "-to" option is case sensitive. If the "-to" argument is specified, the function returns the parameter values for the current entity. The values are retrieved from the PARAMETERS section of the entity. Otherwise, the function returns the project-wide default parameter values obtained from the DEFAULT_PARAMETERS section. This Tcl command filters the parameter data found in the Quartus Prime Settings File (.qsf) and outputs the data based on the values specified by the "-name" and "-to" options. These options can take string patterns containing special characters from the set "*?\[]" as values. The values are matched using Tcl string matching. Note that bus names are automatically detected and do not need to be escaped. Bus names have the following format: <bus name>[<bus index>] or <bus name>[*] The <bus name> portion is a string of alphanumeric characters. The <bus index> portion is an integer greater than or equal to zero or it can be the character "*" used for string matching. Notice that the <bus index> is enclosed by the square brackets "[" and "]". For example, "a[0]" and "a[*]" are supported bus names and can be used as follows: # To match index 0 of bus "a", type: get_all_parameters -name * -to a[0] # To match all indices of bus "a", type: get_all_parameters -name * -to a[*] All other uses of square brackets must be escaped if you do not intend to use them as string patterns. For example, to match indices 0, 1, and 2 of the bus "a", type: get_all_parameters -name * -to "a[escape_brackets \[]\[0-2\][escape_brackets \]]" For more information about escaping square brackets, type "escape_brackets -h". Each element of the collection is a list with the following format: { {<Destination>} {<Parameter name>} {<Parameter value>} {<Entity name>} {<Tag data>} } If you tagged data by making assignments with the -tag option, then the information will be displayed in the <Tag data> field. Use the "-entity" option to retrieve the parameter values 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
## Display all project-wide default parameter values
set parameter_col [get_all_parameters -name *]

foreach_in_collection parameter $parameter_col {

    ## Each element in the collection has the following
    ## format: { {} {<Parameter name>} {<Parameter value>} {} {} }
	set name [lindex $parameter 1]
	set value [lindex $parameter 2]

	## Now, display the content of the parameter
	puts "Parameter Name ($name)"
	puts "Parameter Value ($value)"

## Display all entity-specific parameter values
foreach_in_collection parameter [get_all_parameters -name * -to *] {

    ## Each element in the collection has the following
    ## format: { {Destination} {<Parameter name>} {<Parameter value>} {} {} }
	set dest [lindex $parameter 0]
	set name [lindex $parameter 1]
	set value [lindex $parameter 2]

	## Now, display the content of the parameter
	puts "Destination ($dest)"
	puts "Parameter Name ($name)"
	puts "Parameter Value ($value)"
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
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: You must open a project before you can use this command.
TCL_ERROR 1 ERROR: Illegal default parameter: <string>. Specify a legal default parameter name.
TCL_ERROR 1 ERROR: Illegal parameter: <string>. Specify a legal parameter name.
TCL_ERROR 1 ERROR: An unknown error has occured.