report_timing_summary - 2022.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2022.1 English

Report timing summary


report_timing_summary [‑check_timing_verbose] [‑delay_type <arg>]
    [‑no_detailed_paths] [‑setup] [‑hold] [‑max_paths <arg>]
    [‑nworst <arg>] [‑unique_pins] [‑path_type <arg>] [‑no_reused_label]
    [‑input_pins] [‑no_pr_attribute] [‑no_pblock] [‑routable_nets]
    [‑slack_lesser_than <arg>] [‑report_unconstrained]
    [‑significant_digits <arg>] [‑no_header] [‑file <arg>] [‑append]
    [‑name <arg>] [‑return_string] [‑warn_on_violation] [‑datasheet]
    [‑cells <args>] [‑rpx <arg>] [‑quiet] [‑verbose]


Name Description
[-check_timing_verbose] produce a verbose report when checking the design for potential timing problems
[-delay_type] Type of path delay: Values: max, min, min_max Default: min_max
[-no_detailed_paths] do not report timing paths for each clock and path group analyzed
[-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 report per clock or path 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
[-no_reused_label] Do not label reuse status on pins in the report
[-input_pins] Show input pins in path
[-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 summary without pblock column
[-routable_nets] store the number of routable nets traversed as a property on timing paths.
[-slack_lesser_than] Display paths with slack less than this Default: 1e+30
[-report_unconstrained] report unconstrained and user ignored paths
[-significant_digits] Number of digits to display: Range: 0 to 3 Default: 3
[-no_header] do not generate a report header
[-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
[-return_string] return report as string
[-warn_on_violation] issue a critical warning when the report contains a timing violation
[-datasheet] Include data sheet report
[-cells] run report_timing_summary on the specified cell(s)
[-rpx] Filename to output interactive results to.
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution


Report, Timing


Tip: The report_timing_summary can be multi-threaded to speed the process. Refer to the set_param command for more information on setting the general.maxThreads parameter.

Generate a timing summary to help understand if the design has met timing requirements. The timing summary can be run on an open Synthesized or Implemented Design.

The timing summary report includes the following information:
  • Timer Settings - Details the timing engine settings used to generate the timing information in the report.
  • Check Timing - Contains the same information that is produced by the check_timing command, which summarizes potential timing issues.
  • Design Timing Summary - Provides a summary of the timing of the design, including values for worst and total negative slack (WNS/TNS), worst and total hold slack (WHS/THS), and component switching limits (CSL).
  • Clock Definitions - Contains the same information that is produced by the report_clocks command, showing all the clocks that were created for the design, either by create_clock, create_generated_clock, or automatically by the tool.
  • Intra-Clock Table - Summarizes timing paths with the same source and destination clocks.
  • Inter-Clock Table - Summarizes timing paths with different source and destination clocks.
  • Path Group Table - Shows default path groups and user-defined path groups created by the group_path command.
  • Timing Details - Contains detailed timing paths, both max delay and min delay, as well as component switching limits for each clock defined, similar to the report_timing command.
  • Data sheet - Contains the same information that is produced by the report_datasheet command. It contains the timing characteristics of a design at the I/O ports. The data sheet information is added to the summary report only when the -datasheet option is specified.

This command is automatically run during implementation as part of the launch_runs command.

Note: By default the report is written to the Tcl console or STD output. However, the results can also be written to a file or returned as a string if desired.


-check_timing_verbose - (Optional) Output a verbose timing summary report.

-delay_type <arg> - (Optional) Specifies the type of delay to analyze when running the timing report. The valid values are min, max, min_max. The default setting for -delay_type is min_max.

-no_detailed_paths - (Optional) Do not report the full timing path for each clock or path group analyzed.

-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.

Note: -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 report per clock or per path group. This is specified as a value greater than or equal to 1. By default the report_timing_summary command will report the single worst timing path, or the worst path per path group.

-nworst <arg> - (Optional) The number of timing paths to output in the timing report. The timing report will return the <N> worst paths to endpoints based on the specified value, greater than or equal to 1. The default setting is 1.

-unique_pins - (Optional) Only report timing paths through each unique set of pins, reporting one path per path group.

-path_type <arg> - (Optional) Specify the path data to output in the timing summary 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.
-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 can be completed incrementally, based on prior results stored in a Design Checkpoint file (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: Placement and routing to this pin are reused.
  • Placement: Cell placement is reused but routing to this pin is not reused.
  • Moved: Neither cell placement nor routing to this pin is reused.
  • New: The cell, net, or pin is new. It does not exist in the incremental checkpoint.

-input_pins - (Optional) Show input pins in the timing path report. For use with -path_type full, full_clock, and full_clock_expanded.

-no_pr_attribute <arg> - (Optional) For Partial Reconfiguration (PR) designs, this option disables the standard reporting of data that indicates whether netlist resources are in the static or reconfigurable regions.

-no_pblock - (Optional) Do not report the Pblock information when there are some Pblocks on the path.

-routable_nets - (Optional) Report the number of routable nets traversed as a property of the timing paths returned.

-slack_lesser_than <arg> - (Optional) Report timing on paths with a calculated slack value less than the specified value.

-report_unconstrained - (Optional) Report timing on unconstrained paths in the current design. As a default, the report_timing_summary command will not include unconstrained timing paths.
Tip: In the Vivado® IDE, this option must be enabled to report the User Ignored Paths in the Timing report.

-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.

-no_header - (Optional) Do not add header information to the report. This can be useful when returning the timing summary report to a string for further processing.

-file <arg> - (Optional) Write the report into the specified file. The specified file will be overwritten if one already exists, unless -append is also specified.
Note: If the path is not specified as part of the file name, the file will be written into the current working directory, or the directory from which the tool was launched.
-append - (Optional) Append the output of the command to the specified file rather than overwriting it.
Note: The -append option can only be used with the -file option.

-name <arg> - (Optional) Specifies the name of the results set for the GUI. Timing summary reports in the GUI can be deleted by the delete_timing_results command.

-return_string - (Optional) Directs the output to a Tcl string rather than to the standard output. The Tcl string can be captured by a variable definition and parsed or otherwise processed.
Note: This argument cannot be used with the -file option.

-warn_on_violation - (Optional) Specify that a Critical Warning will be generated by the Vivado Design Suite when the timing report contains a timing violation.

-datasheet - (Optional) Generate data sheet information to add to the summary report.

-cells <arg> - (Option) Generate the timing summary report on the specified hierarchical cells. The details of the report will be based on the specified cells rather than the whole design.

-rpx <arg> - (Optional) Specify the file name and path of an Xilinx® report file (RPX) to write. This is different from writing the report results to a file using the -file argument. The RPX file is an interactive report that contains all the report information and can be reloaded into memory in the Vivado Design Suite using the open_report command. You should add a .rpx file extension to the specified file name, as the Vivado tool will not automatically assign a file extension.
Note: If the path is not specified as part of the file name, the file will be written into the current working directory, or the directory from which the tool was launched.
-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.
Note: Any errors encountered on the command-line, while launching the command, will be returned. Only errors occurring inside the command will be trapped.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
Note: Message limits can be defined with the set_msg_config command.


The following example reports the timing summary of the current design:
The following example reports the hold timing summary of the current design, including unconstrained paths, with the specified options:
report_timing_summary -delay_type min -path_type full_clock_expanded \
   -report_unconstrained -max_paths 2 -nworst 1 -significant_digits 2 \
   -input_pins -name {timing_6}