Report timing paths
Syntax
report_timing [‑from <args>] [‑rise_from <args>] [‑fall_from <args>]
[‑to <args>] [‑rise_to <args>] [‑fall_to <args>] [‑through <args>]
[‑rise_through <args>] [‑fall_through <args>] [‑delay_type <arg>]
[‑setup] [‑hold] [‑max_paths <arg>] [‑nworst <arg>] [‑unique_pins]
[‑path_type <arg>] [‑input_pins] [‑no_header] [‑no_reused_label]
[‑slack_lesser_than <arg>] [‑slack_greater_than <arg>] [‑group <args>]
[‑sort_by <arg>] [‑no_report_unconstrained] [‑user_ignored]
[‑of_objects <args>] [‑significant_digits <arg>] [‑column_style <arg>]
[‑file <arg>] [‑append] [‑name <arg>] [‑no_pr_attribute] [‑no_pblock]
[‑routable_nets] [‑inter_slr <arg>] [‑return_string]
[‑warn_on_violation] [‑cells <args>] [‑rpx <arg>] [‑quiet] [‑verbose]
Usage
| Name | Description |
|---|---|
[-from]
|
From pins, ports, cells or clocks |
[-rise_from]
|
Rising from pins, ports, cells or clocks |
[-fall_from]
|
Falling from pins, ports, cells or clocks |
[-to]
|
To pins, ports, cells or clocks |
[-rise_to]
|
Rising to pins, ports, cells or clocks |
[-fall_to]
|
Falling to pins, ports, cells or clocks |
[-through]
|
Through pins, ports, cells or nets |
[-rise_through]
|
Rising through pins, ports, cells or nets |
[-fall_through]
|
Falling through pins, ports, cells or nets |
[-delay_type]
|
Type of path delay: Values: max, min, min_max, max_rise, max_fall, min_rise, min_fall Default: max |
[-setup]
|
Report max delay timing paths (equivalent to -delay_type max) |
[-hold]
|
Report min delay timing paths (equivalent to -delay_type min) |
[-max_paths]
|
Maximum number of paths to output when sorted by slack, or per path group when sorted by group: Value >=1 Default: 1 |
[-nworst]
|
List up to N worst paths to endpoint: Value >=1 Default: 1 |
[-unique_pins]
|
For each unique set of pins, show at most 1 path per path group |
[-path_type]
|
Format for path report: Values: end, summary, short, full, full_clock, full_clock_expanded Default: full_clock_expanded |
[-input_pins]
|
Show input pins in path |
[-no_header]
|
Do not generate a report header |
[-no_reused_label]
|
Do not label reuse status on pins in the report |
[-slack_lesser_than]
|
Display paths with slack less than this Default: 1e+30 |
[-slack_greater_than]
|
Display paths with slack greater than this Default: -1e+30 |
[-group]
|
Limit report to paths in this group(s) |
[-sort_by]
|
Sorting order of paths: Values: group, slack Default: slack |
[-no_report_unconstrained]
|
Do not report infinite slack paths |
[-user_ignored]
|
Only report paths which have infinite slack because of set_false_path or set_clock_groups timing constraints |
[-of_objects]
|
Report timing for these paths |
[-significant_digits]
|
Number of digits to display: Range: 0 to 3 Default: 3 |
[-column_style]
|
Style for path report columns: Values: variable_width, anchor_left, fixed_width Default: anchor_left |
[-file]
|
Filename to output results to. (send output to console if -file is not used) |
[-append]
|
Append the results to file, don't overwrite the results file |
[-name]
|
Output the results to GUI panel with this name |
[-no_pr_attribute]
|
For Dynamic Function eXchange designs, do not report whether netlist resources are in the static or reconfigurable regions |
[-no_pblock]
|
Report timing without pblock column |
[-routable_nets]
|
Store the number of routable nets traversed as a property on timing paths. |
[-inter_slr]
|
Report timing paths crossing between SLRs: Values: any_crossing, data_crossing, clock_crossing, no_crossing |
[-return_string]
|
Return report as string |
[-warn_on_violation]
|
Issue a critical warning when the report contains a timing violation |
[-cells]
|
Run report_timing on the specified cell(s) |
[-rpx]
|
Filename to output interactive results to. |
[-quiet]
|
Ignore command errors |
[-verbose]
|
Suspend message limits during command execution |
Description
This command performs timing analysis on the specified timing paths of the current Synthesized or
Implemented Design. By default, the tool reports the timing path with the worst
calculated slack within each path group. However, you can optionally increase the number
of paths and delays reported with the use of the -nworst or
-max_paths arguments.
report_timing reports on unconstrained paths in the design. However,
if even one path has timing constraints then report_timing only reports
on the constrained paths in the design, unless -from/-to options
specifies unconstrained timing paths.report_timing allows multi-threading to speed the process.
Refer to the set_param command for more information on setting the
general.maxThreads parameter.The timing engine runs in "quad" timing mode, analyzing minimum and maximum delays for both slow
and fast corners. You can configure the type of analysis performed by the
config_timing_corners command. Changing the default value is not
recommended as it reduces timing analysis coverage.
Arguments
-from <args> - (Optional) Specifies starting points of the timing paths to
run the analysis. You can specify ports, pins, or cells as timing path startpoints. For
clock object, it analyzes all startpoints clocked by the named clock.
-rise_from <args> - (Optional) Similar to the -from option,
but it considers the rising edge of signals from the startpoints. For a clock object, it
considers only the paths launched by the rising edge of the clock as startpoints.
-fall_from <args> - (Optional) Similar to the -from option,
but it considers only the falling edge of signals coming from the startpoints for timing
analysis. For a clock object, it considers only the paths launched by the falling edge
of the clock as startpoints.
-to <args> - (Optional) Specifes endpoints or destination objects of timing
paths to run the analysis. You can specify ports, pins, and cell objects as endpoints.
For a clock object, it analyzes all endpoints clocked by the named clock.
-rise_to <args> - (Optional) Similar to the -to option, but
it considers only the rising edge of signals going to the endpoints. For a clock
object, it considers only the paths captured by the rising edge of the named clock as
endpoints.
-fall_to <args> - (Optional) Similar to the -to option, but
only the falling edge of signals going to the endpoints is considered for timing
analysis. For a clock object, it considers only the paths captured by the falling edge
of the named clock as endpoints.
-through <args> - (Optional) Considers only paths through the specified pins,
cell instance, or nets during timing analysis. You can specify individual
-through (or -rise_through and
-fall_through) points in sequence to define a specific path through
the design for analysis. The order of the specified through points is important to
define a specific path. You can also specify through points with multiple objects, in
which case the timing path passes through any of the specified objects.
-rise_through <args> - (Optional) Similar to the -through
option, but performs timing analysis only on the paths with a rising transition at the
specified objects.
-fall_through <args> - (Optional) Similar to the -through
option, but performs timing analysis only on the paths with a falling transition at the
specified objects.
-delay_type <arg> - (Optional) Specifies the type of delay to analyze when
running the timing report. The valid values are min, max, min_max, max_rise, max_fall,
min_rise, min_fall. The default value for -delay_type is max.
-setup - (Optional) Check for setup violations. This is the same as specifying -delay_type max.
-hold - (Optional) Check for hold violations. This is the same as specifying -delay_type min.
-setup and -hold can be specified together, which is the same as specifying -delay_type min_max.
-max_paths <arg> - (Optional) The maximum number of paths to output when
sorted by slack; or maximum number of paths per path group when sorted by group, as
specified by -sort_by. The value must be greater than or equal to 1. By
default, the report_timing command reports the single worst timing
path, or the worst path per path group.
-nworst <arg> - (Optional) The number of timing paths per endpoint to output
in the timing report. The timing report returns the <N> worst paths based on the
specified value, greater than or equal to 1. The default setting is 1.
-unique_pins - (Optional) Show only one timing path for each unique set of pins.
-path_type <arg> - (Optional) Specify the path
data to output in the timing report. The default format is
full_clock_expanded. The valid path types are:
- end - Shows the endpoint of the path only, with calculated timing values.
- summary - Displays the startpoints and endpoints with slack calculation.
- short - Displays the startpoints and endpoints with calculated timing values.
- full - Displays the full timing path, including startpoints, through points, and endpoints.
- full_clock - Displays full clock paths in addition to the full timing path.
- full_clock_expanded - Displays full clock paths between a master clock and generated clocks in addition to the full_clock timing path. This is the default setting.
-input_pins - (Optional) Show input pins in the timing path report. For use with -path_type full, full_clock, and full_clock_expanded.
-no_header - (Optional) Do not write a header to the report.
-no_reused_label - (Optional) Disable the reporting
of reuse information in designs that use incremental place and route based on an
existing design checkpoint (DCP) file. Both placement and routing completes
incrementally, based on prior results stored in a DCP using the incremental
implementation flow. Refer to the read_checkpoint command, or to
Vivado Design Suite User Guide: Implementation (UG904) for more
information on incremental place and route. By default, designs using incremental place
and route have pins labeled with information related to the physical data reused from
the specified incremental checkpoint. This option removes the reuse labels including the
following:
- Routing: Reuses placement and routing to this pin.
- Placement: Reuses cell placement but does not reuse routing to this pin.
- Moved: Reuses neither cell placement nor routing to this pin.
- New: The cell, net, or pin is new. It does not exist in the incremental checkpoint.
-slack_lesser_than <arg> - (Optional) Report timing on paths with a calculated slack value less than the specified value. Used with -slack_greater_than to provide a range of slack values of specific interest.
-slack_greater_than <arg> - (Optional) Report timing on paths with a calculated slack value greater than the specified value. Used with -slack_lesser_than to provide a range of slack values of specific interest.
-group <args> - (Optional) Report timing for paths
in the specified path groups. Currently, get_path_groups command
determines the defined path groups.
group_path command. The -group option cannot be specified with -of_objects, which also specifies timing path objects.
-sort_by [ slack | group ] - (Optional) Sort timing paths in the report by slack values, or by path group. Valid values are slack or group. By default, the report_timing command reports the worst, or -nworst, timing paths in the design. However, with -sort_by group, the report_timing command returns the worst, or -nworst, paths of each path group.
-no_report_unconstrained - (Optional) Do not report timing on unconstrained
paths. Without this option specified, the report_timing command
includes unconstrained paths with infinite slack.
-user_ignored - (Optional) Report only the paths that
are ignored by timing due to presence of set_false_path or
set_clock_groups constraints.
-user_ignored and -no_report_unconstrained options are mutually exclusive and cannot be specified together. The -user_ignored option is also mutually exclusive with the -slack_lesser_than and -slack_greater_than options.
-of_objects <args> - (Optional) Report timing on the specified timing path objects. Used with the get_timing_paths command.
-of_objects option cannot be used with the various forms of -from, -to, or -through options which are also used to identify timing paths to report. The -of_objects option, which defines a timing path object containing a DELAY_TYPE property, cannot be used with -setup, -hold or -delay_type, which all also define a delay type. The -of_objects option also cannot be specified with -group, which defines groups of timing path objects.
-significant_digits <arg> - (Optional) The number of significant digits in the output results. The valid range is 0 to 3. The default setting is 3 significant digits.
-column_style [ variable_width | anchor_left | fixed_width ] - (Optional) Specify the format of the timing path portion of the timing report output. The default format is anchor_left.
-file <arg> - (Optional) Write the report into the
specified file. The command overwrites the existing file unless
-append is specified.
-append - (Optional) Appends the output of the
command to the specified file rather than overwriting it.
-append option is used only with the -file
option.
-name <arg> - (Optional) Specifies the name of the results set for the GUI.
-no_pr_attribute <arg> - (Optional) This option disables the standard
reporting of the Partial Reconfiguration (PR) attribute data. For PR designs, it appends
the logical path to identify cells belonging either to a reconfigurable partition (:RP#)
or to the static region (:S).
-no_pblock - (Optional) Does not report the Pblock information when there are
some Pblocks on the path.
-routable_nets - (Optional) Reports the number of routable nets traversed as a
property of the timing paths returned.
-inter_slr <args> (Optional) Reports the timing paths based on the
SLR crossing characteristics. Ensure to specify one of the following values:
any_crossing, data_crossing, clock_crossing, or
no_crossing.
-return_string - (Optional) Directs the output to a
Tcl string rather than to the standard output. A variable definition captures the Tcl
string, parses, or processes as required.
-file option.
-warn_on_violation - (Optional) Specifies that Vivado™ Design Suite generates
Critical Warnings when the timing report contains a timing violation.
-cells <arg> - (Option) Generates the timing report on the specified
hierarchical cells. Report details are based on the specified cells rather than the
whole design.
-rpx <arg> - (Optional) Specifies the file name
and path of the report file (RPX) to write. This is different from writing the report
results to a file using the -file argument. An RPX file stores all the
report information as an interactive report and lets you reload into the Vivado Design
Suite using the open_report command. You must add a
.rpx file extension to the specified file name, as the Vivado
tool does not automatically assign a file extension.
-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
set_msg_config command.Examples
The following example reports the timing for 5 worst paths in the design and reports the full timing path including input pins with timing values:
report_timing -nworst 5 -path_type full -input_pins
The following example shows the use of the multiple
through points. It defines both specific path
(through
state_reg1) and alternate paths (through
count_3 or count_4), and writes the timing results to
the specified file:
report_timing -from go -through {state_reg1} \
-through { count_3 count_4 } \
-to done -path_type summary -file C:/Data/timing1.txt
The following example only reports the worst timing path with datapath crossing SLRs:
report_timing -inter_slr data_crossing