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.29.60. report_neighbor_paths (::quartus::sta)

The following table displays information for the report_neighbor_paths Tcl command:

Tcl Package and Version

Belongs to ::quartus::sta

Syntax report_neighbor_paths [-h | -help] [-long_help] [-append] [-enable_complementary] [-extra_info <basic|all|none> ] [-fall_from <names> ] [-fall_from_clock <names> ] [-fall_through <names> ] [-fall_to <names> ] [-fall_to_clock <names> ] [-file <name> ] [-from <names> ] [-from_clock <names> ] [-hold] [-intra_clock] [-less_than_slack <slack limit> ] [-neighbor_path_num <number> ] [-npaths <number> ] [-nworst <number> ] [-pairs_only] [-panel_name <name> ] [-recovery] [-removal] [-rise_from <names> ] [-rise_from_clock <names> ] [-rise_through <names> ] [-rise_to <names> ] [-rise_to_clock <names> ] [-setup] [-stdout] [-through <names> ] [-to <names> ] [-to_clock <names> ]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-append If output is sent to a file, this option appends the result to that file. Otherwise, the file will be overwritten. This option is not supported for HTML files.
-enable_complementary Option to enable complementary analysis for the neighbor paths report
-extra_info <basic|all|none> Option to determine how much detail should be shown in the Extra Info report
-fall_from <names> Valid sources (string patterns are matched using Tcl string matching)
-fall_from_clock <names> Valid source clocks (string patterns are matched using Tcl string matching)
-fall_through <names> Valid through nodes (string patterns are matched using Tcl string matching)
-fall_to <names> Valid destinations (string patterns are matched using Tcl string matching)
-fall_to_clock <names> Valid destination clocks (string patterns are matched using Tcl string matching)
-file <name> Sends the results to an ASCII or HTML file. Depending on the extension
-from <names> Valid sources (string patterns are matched using Tcl string matching)
-from_clock <names> Valid source clocks (string patterns are matched using Tcl string matching)
-hold Option to report clock hold paths
-intra_clock Only report paths whose launch and latch clock are the same
-less_than_slack <slack limit> Limit the paths reported to those with slack values less than the specified limit.
-neighbor_path_num <number> Specifies the number of before and after paths for the neighbor paths report (default=1)
-npaths <number> Specifies the number of paths to report (default=1, or the same value as nworst, if nworst is specified. Value of 0 causes all paths to be reported but be wary that this may be slow)
-nworst <number> Specifies the maximum number of paths to report for each endpoint. If unspecified, there is no limit. If nworst is specified, but npaths is not, npaths defaults to the same value as nworst
-pairs_only When set, paths with the same start and end points are considered equivalent. Only the worst case path for each unique combination is displayed.
-panel_name <name> Sends the results to the panel and specifies the name of the new panel
-recovery Option to report recovery paths
-removal Option to report removal paths
-rise_from <names> Valid sources (string patterns are matched using Tcl string matching)
-rise_from_clock <names> Valid source clocks (string patterns are matched using Tcl string matching)
-rise_through <names> Valid through nodes (string patterns are matched using Tcl string matching)
-rise_to <names> Valid destinations (string patterns are matched using Tcl string matching)
-rise_to_clock <names> Valid destination clocks (string patterns are matched using Tcl string matching)
-setup Option to report clock setup paths
-stdout Send output to stdout, via messages. You only need to use this option if you have selected another output format, such as a file, and would also like to receive messages.
-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)
-to_clock <names> Valid destination clocks (string patterns are matched using Tcl string matching)
Description

Reports the most timing-critical paths in the design, including associated slack and additional path summary information, including path bounding boxes. Additionally, for each path, shows its most timing-critical neighbor paths: the path with the worst slack that fans into the source of the current path (shown on the report as "Critical Path Before") and the path with the worst slack that fans out of the destination of the current path (shown as "Critical Path After"). Note that if a register's output is connected to its own input, one or both of the neighbor paths may be identical to the current path. When looking for neighbor paths with the worst slack, all operating conditions are considered, not just the operating conditions of the main path itself. Use the "-setup", "-hold", "-recovery", or "-removal" options to specify which kind of analysis should be performed. The report can be directed to the Tcl console ("-stdout", default), a file ("-file"), the Timing Analyzer graphical user interface ("-panel_name"), or any combination of the three. You can limit the analysis performed by this command to specific start and end points, using the "-from" and "-to" options. Use the "-rise_from" and "-fall_from" options to limit the analysis to endpoints with established high or low starting states. Use the "rise_to" and "fall_to" options to limit the analysis to destination points with high or low ending states. The analysis can be further limited to clocks using the "-from_clock" and "-to_clock" options, or to specific edges of the clock using the "-rise_from_clock", "-fall_from_clock", "-rise_to_clock", and "-fall_to_clock" options. Additionally, the "-through" option can be used to restrict analysis to paths which go through specified pins or nets. Use the "rise_through" and "fall_through" options to limit the analysis to intermediate points with high or low ending states. Use "-npaths" to limit the number of paths to report. If you do not specify this option, only the single worst-case path is provided. Use the "-less_than_slack" option to limit output to all paths with slack less than the specified value, up to the number specified by "-npaths". Use "-nworst" to limit the number of paths reported for each unique endpoint. If you do not specify this option, the number of paths reported for each destination node is bounded only by the "-npaths" option. If this option is used, but "-npaths" is not specified, then "-npaths" will default to the same value specified for "-nworst". Use the "-pairs_only" option to filter the output further, restricting the results to only unique combinations of start and end points. The values of the "-from", "-to", and "-through" 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 the help for use_timing_analyzer_style_escaping for details. The following options are not supported for this command: --ccpp, --summary_view, --show_routing, --show_xtalk, --false_path Ideally you should use -panel_name or -file option to get the best view of the report. Here is description of each of the rows displayed for each path: From: Source node in the path To: Destination node in the path Launch Clock: Source node clock Latch Clock: Destination node clock Relationship: Clock relationship Slack: Slack on the path Complement Analysis Slack: Slack of the same path via complement analysis Number of Paths: Number of paths with the same source and destination nodes Clock Skew: Clock Skew on the path Data Delay: Data delay on the path ( ~ cell delay + interconnect delay + misc. delay ) uTCO Delay: input delay Cell Delay: Cell delay Interconnect Delay: Wire Delay Misc. Delay: Other kinds of delay Uncertainty Delay: Clock uncertainty delay uTSU Delay: Data stability delay - setup uTH Delay: Data stability delay - hold Logic Levels: Logic levels in the path Max Fanout: Maximum fanout for any node on the path I/O Crossings: Number of I/O crossings in the path Number of wires: number of wires encountered on the path Source/Destination Bounding Box: Co-ordinates covered by source destination blocks Cell Bounding Box: Co-ordinates covered by cell blocks Interconnect Bounding Box: Co-ordinates covered by wires Source/Destination Relative Area: Normalized to 1.0 Cell Relative Area: Ratio of cell area against src/dst bounding area Interconnect Relative Area: Ration of wire area against src/dst bounding area Elements on Path: Displays the element type that make up that path TDB Names Along Path: All the TDB elements that make up the path (only available with developer license) Corner: Describes the corner the path is found in Complement Analysis Corner: Corner of the complement analysis path found

Example Usage
project_open my_project

# Always create the netlist first
create_timing_netlist
read_sdc my_project.sdc
update_timing_netlist

report_neighbor_paths -npaths 10 -file "neighbor_path_analysis.txt"

# The following command is optional
delete_timing_netlist

project_close
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_ERROR 1 ERROR: Option <string> has illegal value: <string>. Specify a legal option value.
TCL_ERROR 1 ERROR: Collection type '<string>' is not a valid type for a through collection. Valid collection types are 'pin' and 'net'
TCL_ERROR 1 ERROR: Timing netlist does not exist. Use create_timing_netlist to create a timing netlist.
TCL_ERROR 1 ERROR: Report database is not open