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.27.24. set_false_path (::quartus::sdc)

The following table displays information for the set_false_path Tcl command:

Tcl Package and Version

Belongs to ::quartus::sdc

Syntax set_false_path [-h | -help] [-long_help] [-fall_from <names> ] [-fall_to <names> ] [-from <names> ] [-hold] [-latency_insensitive] [-no_synchronizer] [-rise_from <names> ] [-rise_to <names> ] [-setup] [-through <names> ] [-to <names> ]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-fall_from <names> Valid source clocks (string patterns are matched using Tcl string matching)
-fall_to <names> Valid destination clocks (string patterns are matched using Tcl string matching)
-from <names> Valid sources (string patterns are matched using Tcl string matching)
-hold Specifies the false_path value (applies only to clock hold or removal checks)
-latency_insensitive Mark this false path as one that should still be optimized
-no_synchronizer Prevent this false path from triggering a synchronizer
-rise_from <names> Valid source clocks (string patterns are matched using Tcl string matching)
-rise_to <names> Valid destination clocks (string patterns are matched using Tcl string matching)
-setup Specifies the false_path value (applies only to clock setup or recovery checks)
-through <names> Valid through nodes (string patterns are matched using Tcl string matching)
-to <names> Valid destinations (string patterns are matched using Tcl string matching)
Description

Specifies a false-path exception, removing (or cutting) paths from timing analysis. The -from and -to values are collections of clocks, registers, ports, pins, or cells in the design. If the -from or -to values are not specified, the collection is converted automatically into [get_keepers *]. It is worth noting that if the counterpart of the unspecified collection is a clock collection, it is more efficient to explicitly specify this collection as a clock collection only if the clock collection also generates the desired assignment. Applying exceptions between clocks applies the exception from all register or ports driven by the -from clock to all registers or ports driven by the -to clock. Applying exceptions between a pair of clocks is more efficient than for specific node to node or node to clock paths. If the -latency_insensitive flag is set, the Fitter will be allowed to freely insert additional pipelining stages on any paths that are cut by the exception. These pipelined stages will be retimed to improve performance, but the timing requirements of the paths will still be ignored, just like for ordinary false paths. Without this flag, the Fitter will not perform any optimizations on the cut paths. If pin names or collections are used, the -from value must be a clock pin and the -to value must be any non-clock input pin to a register. Assignments from clock pins or to and from cells applies to all registers in the cell or driven by the clock pin. The -through values are collections of pins or nets in the design. An exception applied through a node in the design applies only to paths through the specified node. The Timing Analyzer allows you to specify the -through argument multiple times to describe paths that go through multiple points. For instance, users can select all paths that go through node X, and then go through node Y. This helps you narrow down and select the specific paths that you are interested in. The -rise_from and -fall_from options can be used in place of the -from destination nodes. The rise or fall value of the option indicates that the "from" nodes are driven by the rising or falling edge of the clock that feeds this node, taking into consideration any logical inversions along the clock path. The -from option is the combination of both rising and falling "from" nodes. If the "from" collection is a clock collection, the assignment applies to those nodes that are driven by the respective rising or falling clock edge. The -rise_to and -fall_to options behave similarly to the "from" options described previously. These assignments restrict the given assignment to only those nodes or clocks that correspond to the specified rise or fall value, taking into consideration any logical inversions that are along the clock path. The -setup and -hold options allow the false path to only be applied to the corresponding setup/recovery or hold/removal checks. The default if neither value is specified is to apply the false path to both -setup and -hold. The values of the -from, -to, -through, and other similar options are either collections or a Tcl list of wildcards used to create collections of appropriate types. The values used must follow standard Tcl or Timing Analyzer-extension substitution rules. See help for the use_timing_analyzer_style_escaping command for details. See help for the set_clock_groups command for information.

Example Usage
# Set a false-path between two unrelated clocks
# See also set_clock_groups
set_false_path -from [get_clocks clkA] -to [get_clocks clkB]

# Set a false-path for a specific path
set_false_path -from [get_pins regA|clk] -to [get_pins regB|aclr]

# Set a false-path from a node to a falling clock
set_false_path -from [get_pins regA|clk] -fall_to [get_clocks clkB]
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful