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.53. set_multicycle_assignment (::quartus::project)

The following table displays information for the set_multicycle_assignment Tcl command:

Tcl Package and Version

Belongs to ::quartus::project

Syntax set_multicycle_assignment [-h | -help] [-long_help] [-comment <comment> ] [-disable] [-end] [-fall] [-from <from_list> ] [-hold] [-remove] [-rise] [-setup] [-start] [-tag <data> ] [-to <to_list> ] <path_multiplier>
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-comment <comment> Comment
-disable Option to disable multicycle assignment
-end Option to indicate that destination clock cycles should be considered for path multiplier
-fall Option applies to falling edge
-from <from_list> List of clock names, node names, and/or assignment group names that represent start or source points of multicycle path, for example, {node1 node2 ...}
-hold Option to indicate that path multiplier is meant for hold
-remove Option to remove multicycle assignment
-rise Option applies to rising edge
-setup Option to indicate that path multiplier is meant for setup
-start Option to indicate that source clock cycles must be considered for path multiplier
-tag <data> Option to tag data to this assignment
-to <to_list> List of clock names, node names, and/or assignment group names that represent end or destination points of multicycle path, for example, {node1 node2 ...}
<path_multiplier> Multicycle path multiplier
Description
Specifies that the given timing paths have multicycle setup 
or hold delays with the number of cycles specified by the 
"-path_multiplier" option. 

If neither the "-setup" nor "-hold" options are used, the 
"-setup" option is the default option. If neither the "-start" 
nor "-end" options are used, the "-end" option is the default 
option.

You must use either the "-from <from_list>" or "-to <to_list>" 
option.

Note that Quartus Prime timing analysis is optimized to use
assignment groups for timing constraints instead of a list of nodes.
Of the following two methods to make multicycle assignments, 
method (1) is the optimal method.

(1) assignment_group "src_group" -add_member "s1"
    assignment_group "src_group" -add_member "s2"
    assignment_group "src_group" -add_member "s3"
    assignment_group "dst_group" -add_member "d1"
    assignment_group "dst_group" -add_member "d2"
    set_multicycle_assignment -from "src_group" -to "dst_group"

(2) set_multicycle_assignment -from {s1 s2 s3} -to {d1 d2}

For more information about assignment groups, type "assignment_group -h".

The "assignment_group" command replaces the deprecated
"timegroup" command in ::quartus::project, version 5.0.

The meaning of multicycle hold differs between the Quartus Prime 
software timing analysis and the Synopsys PrimeTime software 
timing analysis. Refer to the online Help of each software for 
more information.

Assignments created or modified 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
## Multicycle "setup" from reg1 and reg2 to any destinatio