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.57. set_timing_cut_assignment (::quartus::project)

The following table displays information for the set_timing_cut_assignment Tcl command:

Tcl Package and Version

Belongs to ::quartus::project

Syntax set_timing_cut_assignment [-h | -help] [-long_help] [-comment <comment> ] [-disable] [-fall] [-from <from_pin_list> ] [-remove] [-rise] [-tag <data> ] [-to <to_pin_list> ]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-comment <comment> Comment
-disable Option to disable assignment
-fall Option applies to falling edge
-from <from_pin_list> List of start or source node names and/or assignment group names for timing path, for example, {node1 node2 ...}
-remove Option to remove timing cut assignment
-rise Option applies to rising edge
-tag <data> Option to tag data to this assignment
-to <to_pin_list> List of end node names and/or assignment group names for timing path, for example, {node1 node2 ...}
Description

Specifies that the timing paths that start from the designated <from_pin_list> and end in the designated <to_pin_list> are false paths. Nodes for the <from_pin_list> can be input pins, internal nodes, clock pins, or assignment groups. Nodes for the <to_pin_list> can be output pins, internal nodes, clock pins, or assignment groups. You must use either the "-from <from_pin_list>" or the "-to <to_pin_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 timing cut 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_timing_cut_assignment -from "src_group" -to "dst_group" (2) set_timing_cut_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. 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
## Set timing cut from any source points to dst1 and dst2
assignment_group "dst_group" -add_member dst1
assignment_group "dst_group" -add_member dst2
set_timing_cut_assignment -to "dst_group"

## or
assignment_group "src_group" -add_member *
assignment_group "dst_group" -add_member dst1
assignment_group "dst_group" -add_member dst2
set_timing_cut_assignment -from "src_group" -to "dst_group"

## Set timing cut from src1 and src2 to any end points
assignment_group "src_group" -add_member src1
assignment_group "src_group" -add_member src2
set_timing_cut_assignment -from "src_group"

## or
assignment_group "src_group" -add_member src1
assignment_group "src_group" -add_member src2
assignment_group "dst_group" -add_member *
set_timing_cut_assignment -from "src_group" -to "dst_group"
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: Can't set revision: <string>. Make sure there is an open, active revision name.
TCL_ERROR 1 ERROR: You must open a project before you can use this command.
TCL_ERROR 1 ERROR: Found two options: -<string> and -<string>. Choose one of the options.
TCL_ERROR 1 ERROR: Revision does not exist: <string>. Specify a legal revision name using the -<string> option.