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.24. get_names (::quartus::project)

The following table displays information for the get_names Tcl command:

Tcl Package and Version

Belongs to ::quartus::project

Syntax get_names [-h | -help] [-long_help] [-entity <wildcard> ] -filter <wildcard> [-library <wildcard> ] [-node_type <all|comb|reg|pin|input|output|bidir|hierarchy|mem|bus|qsf|state_machine|assigned|unassigned|all_reg|partition|virtual> ] [-observable_type <all|pre_synthesis|post_synthesis|post_fitter|post_asm|stp_pre_synthesis> ]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-entity <wildcard> Option to specify the entity to get names from hierarchies instantiated by the entity
-filter <wildcard> Option to specify the node's full path name and/or wildcard character(s)
-library <wildcard> Option to specify the containing library
-node_type <all|comb|reg|pin|input|output|bidir|hierarchy|mem|bus|qsf|state_machine|assigned|unassigned|all_reg|partition|virtual> Option to filter based on the specified node type.
-observable_type <all|pre_synthesis|post_synthesis|post_fitter|post_asm|stp_pre_synthesis> Option to filter based on the specified observable type
Description

Returns a filtered output collection of all matching node name IDs found in a compiled Quartus Prime project. To access each element of the output collection, use the Tcl command "foreach_in_collection". To see example usage, type "get_names -long_help" or "foreach_in_collection -long_help". If the "-node_type" option is not specified, the default value is "all". Similarly, if the "-observable_type" option is not specified, the default value is "all". The node type "pin" includes "input", "output", "bidir", "assinged" and "unassigned". The node type "qsf" include names from qsf settings file. The node type "all" includes all node types. The node type "all_reg" includes all node types and register post-fitting The value for "-observable_type" option can be one of the following: Observable Type Description --------------- ----------------------------------- all Use post-Fitter information. If it is not available, post-Synthesis information is used. Otherwise, pre-synthesis information is used if it exists. pre_synthesis Use pre-synthesis information. post_synthesis Use post-synthesis information. post_fitter Use post-Fitter information. post_asm Use post-Assembler information. The post-Assembler information is only supported for designs using the HardCopy II device family. stp_pre_synthesis Use Signal Tap pre-synthesis information.

Example Usage
# Search for a single post-Fitter pin with the name accel and 
# make assignments
set accel_name_id [get_names -filter accel -node_type pin -observable_type post_fitter]
foreach_in_collection name_id $accel_name_id {

	# Get the full path name of the node
	set target [get_name_info -info full_path $name_id]

	# Set multicycle assignment
	set_multicycle_assignment -to $target 2

	# Set location assignment
	set_location_assignment -to $target Pin_E22
}
# Search for nodes of any post-Fitter node type with name length <= 5
# The default node type is "all"
set name_ids [get_names -filter ????? -observable_type post_fitter]
foreach_in_collection name_id $name_ids {

	# Print the name id
	puts $name_id

	# Print the node type
	puts [get_name_info -info node_type $name_id]

	# Print the full path (which excludes the current
	# focus entity from the path)
	puts [get_name_info -info full_path $name_id]
}
# Search for nodes of any post-Fitter node type that end in "eed".
# The default node type is "all"
set name_ids [get_names -filter *eed -observable_type post_fitter]
foreach_in_collection name_id $name_ids {

	# Print the name id
	puts $name_id

	# Print the node type
	puts [get_name_info -info node_type $name_id]

	# Print the full path (which excludes the current
	# focus entity from the path)
	puts [get_name_info -info full_path $name_id]
}
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: Get names cannot return <string> because the name was found in a partition that's not the root partition. Refine your get_names search pattern to exclude child partitions
TCL_ERROR 1 ERROR: Compiler database does not exist for revision name: <string>. At the minimum, run Analysis and Synthesis (quartus_map) with the specified revision name before using this Tcl command.
TCL_ERROR 1 ERROR: Illegal node type: <string>. Specify all, comb, reg, pin, hierarchy, or bus.
TCL_ERROR 1 ERROR: Illegal observable type: <string>. Specify all, pre_synthesis, post_synthesis, or post_fitter.
TCL_ERROR 1 ERROR: You must open a project before you can use this command.
TCL_ERROR 1 ERROR: Post-Assembler compiler database does not exist for revision name: <string>. Run Assembler (quartus_asm) with the specified revision name before using this Tcl command.

Did you find the information on this page useful?

Characters remaining:

Feedback Message