Assignment_group, Usage, Options – Altera Quartus II Scripting User Manual
Page 316: Description, Assignment_group –186

3–186
Chapter 3: Tcl Packages & Commands
project
Quartus II Scripting Reference Manual
© July 2013
Altera Corporation
assignment_group
Usage
assignment_group [-add_exception
[-disable] [-get_exceptions] [-get_members] [-overwrite] [-remove] [-remove_exception
Options
-add_exception
-add_member
-comment
-disable: Option to disable assignment
-get_exceptions: Option to get collection of assignment group exceptions
-get_members: Option to get collection of assignment group members
-overwrite: Option to overwrite existing assignment group with the same group name
-remove: Option to remove assignment group
-remove_exception
-remove_member
-tag : Option to tag data to this assignment
Description
Adds, removes, gets members of, or gets exceptions to an assignment group.
The "assignment_group" command replaces the deprecated "timegroup" command.
An assignment group is a custom group of registers and pins. You can use the "-add_member" option to
specify register or pin names you want to include in the assignment group. You can use the
"-add_exception" option to specify names you want to exclude from the assignment group.
You can specify the names using wildcards, that is, using "?" or "*". For example, to add all registers and
pins that start with a "b" except those that start with "b|c|" to a particular assignment group named
"group_b", type:
assignment_group "group_b" -add_member "b*" -add_exception "b|c|*"
To remove members or exceptions from a assignment group, use the "-remove_member" or
"-remove_exception" options respectively.
The "-get_members" option returns a collection of members in the assignment group. The
"-get_exceptions" option returns a collection of exceptions to the assignment group. To access each element
of the collection, use the Tcl command "foreach_in_collection". To see example usage, type
"assignment_group -long_help" or "foreach_in_collection -long_help".
Specifying registers and pins in terms of an assignment group allows you to set timing constraints easily.
For example, to make a multicycle assignment from nodes "a1" and "a2" to nodes "b1", "b2", and "b3", type
the following:
assignment_group "group_a" -add_member [list "a1" "a2"]
assignment_group "group_b" -add_member [list "b1" "b2" "b3"]
set_multicycle_assignment -from "group_a" -to "group_b" 2