Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 12/13/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.43. remove_all_instance_assignments (::quartus::project)

The following table displays information for the remove_all_instance_assignments Tcl command:

Tcl Package and Version

Belongs to ::quartus::project

Syntax remove_all_instance_assignments [-h | -help] [-long_help] [-entity <entity_name> ] [-fall] [-from <source> ] -name <name> [-rise] [-section_id <section id> ] [-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 assignment belongs
-fall Option applies to falling edge
-from <source> Source of the assignment (string pattern is matched using Tcl string matching)
-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
-to <destination> Destination of the assignment (string pattern is matched using Tcl string matching)
Description

Removes all matching instance assignment values. The "-name" option is not case sensitive. The "-to" and "-from" options are case sensitive. 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: remove_all_instance_assignments -name LOCATION -to a[0] # To match all indices of bus "a", type: remove_all_instance_assignments -name LOCATION -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: remove_all_instance_assignments -name LOCATION -to "a[escape_brackets \[]\[0-2\][escape_brackets \]]" For more information about escaping square brackets, type "escape_brackets -h". This Tcl command reads the instance assignments found in the Quartus Prime Settings File (.qsf) and removes this data based on the values specified by the "-name", "-from", and "-to" options. 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 For entity-specific assignments, use the "-entity" option to remove 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. Assignments removed by using this Tcl command are not saved to the Quartus Prime Settings File (.qsf) unless you explicitly call one of the following two Tcl commands: 1) export_assignments 2) project_close (unless "-dont_export_assignments" is specified) These two Tcl commands reside in the ::quartus::project Tcl package. You must save assignment changes before you run Quartus Prime command-line executables. Note, however, that the Tcl commands "execute_flow" and "execute_module" (part of the ::quartus::flow Tcl package) automatically call "export_assignments" before they run command-line executables.

Example Usage
## Remove all the timing requirements
## Use wildcards to catch TSU_REQUIREMENT, TCO_REQUIREMENT,
## and others
remove_all_instance_assignments -name *_REQUIREMENT

## Remove all the location assignments with
## the destination bus name "timeo".
set bus_name "timeo"
remove_all_instance_assignments -name LOCATION -to $bus_name[*]
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_OK 0 INFO: <string> instance assignment(s) were removed
TCL_OK 0 WARNING: Ignored assignment: <string>. The assignment is no longer supported.
TCL_ERROR 1 ERROR: Assignment is not an instance assignment: <string> -- it is a global assignment. Specify an instance assignment name or use the global 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.