report_timing_summary - 2025.2 English - UG835

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
UG835
Release Date
2025-11-20
Version
2025.2 English

Report timing summary

Syntax

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]
    [‑inter_slr <arg>] [‑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]

Usage

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.
[-inter_slr] Report timing paths crossing between SLRs: Values: any_crossing, data_crossing, clock_crossing, no_crossing
[-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

Categories

Report, Timing

Description

Generates a timing summary to understand if the design meets timing requirements. The timing summary runs on an open Synthesized or Implemented Design.

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.

The timing summary report includes the following information:

  • Timer Settings - Details the timing engine settings uses to generate the timing information in the report.
  • Check Timing - Contains the check_timing command generated information which summarizes potential timing issues.
  • Design Timing Summary - Provides a summary of the design timing, including values of worst and total negative slack (WNS/TNS), worst and total hold slack (WHS/THS), and component switching limits (CSL).
  • Clock Definitions - Contains the report_clocks command generated information, showing all the clocks created for the design 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, and component switching limits for each clock defined which are similar to the report_timing command.
  • Data sheet - Contains the report_datasheet command generated information with timing characteristics of a design at the I/O ports. It adds the data sheet information to the summary report only when the -datasheet option is specified.

This command automatically runs during implementation as part of the launch_runs command.

Note: By default, the report is available in the Tcl console or STD output. You can also write results to a file or return them as a string.

Arguments

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

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

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

-setup - (Optional) Checks for setup violations and same as specifying -delay_type max.

-hold - (Optional) Checks for hold violations and same as specifying -delay_type min.

Note: You can specify -setup and -hold together, which is the same as specifying -delay_type min_max.

-max_paths <arg> - (Optional) Specifies the maximum number of paths to report per clock or per path group. This value must be greater than or equal to 1. By default, the report_timing_summary command reports the single worst timing path or the worst path per path group.

-nworst <arg> - (Optional) Specifies the number of timing paths to output in the timing report. The timing report returns 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) Specifies only report timing paths through each unique set of pins, reporting one path per path group.

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

-path_type <arg> - (Optional) Specifies 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) Disables reuse information reporting 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 file 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 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.

-input_pins - (Optional) Shows 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 data reporting that indicates whether netlist resources are in the static or reconfigurable regions.

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

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

-report_unconstrained - (Optional) Reports timing on unconstrained paths in the current design. By default, the report_timing_summary command does not include unconstrained timing paths.

Tip: In the Vivado™ IDE, enable this option to report the User Ignored Paths in the Timing report.

-significant_digits <arg> - (Optional) Specifies 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) Does not add header information to the report. This is useful when returning the timing summary report to a string for further processing.

-file <arg> - (Optional) Write the report into the specified file. This options overwrites the existing file unless -append is specified.

Note: If you do not specify the path, the tool searches for the specified file in the current working directory and then in the launch directory.

-append - (Optional) Appends the output of the command to the specified file rather than overwriting it.

Note: The -append option is used with the -file option only.

-name <arg> - (Optional) Specifies the name of the results set for the GUI. Using delete_timing_results command deletes the Timing summary reports in the GUI.

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

Note: This argument cannot be used with the -file option.

-warn_on_violation - (Optional) Specifies that Vivado Design Suite generates Critical Warning when the timing report contains a timing violation.

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

-cells <arg> - (Option) Generates the timing summary report on the specified hierarchical cells. The 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.

Note: If you do not specify the path, the tool searches for the specified file in the current working directory and then in the launch directory.
-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.

Examples

The following example reports the timing summary of the current design:

report_timing_summary

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}

The following example reports the timing summary of only the paths with datapath crossing SLRs:

report_timing -inter_slr data_crossing