report_bus_skew - 2024.1 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2024.1 English

Report timing paths


report_bus_skew [‑delay_type <arg>] [‑setup] [‑hold] [‑no_detailed_paths]
    [‑max_paths <arg>] [‑nworst <arg>] [‑unique_pins] [‑path_type <arg>]
    [‑sort_by_slack] [‑input_pins] [‑no_header] [‑significant_digits <arg>]
    [‑file <arg>] [‑append] [‑return_string] [‑warn_on_violation]
    [‑rpx <arg>] [‑cells <args>] [‑quiet] [‑verbose]


Name Description
[-delay_type] Type of path delay: Values: max, min, min_max Default: min_max
[-setup] Report max delay endpoint timing paths (equivalent to -delay_type max)
[-hold] Report min delay endpoint timing paths (equivalent to -delay_type min)
[-no_detailed_paths] Only report top level summary table
[-max_paths] Maximum number of paths to output per bus skew constraint: Value >=1 Default: 1
[-nworst] List up to N worst paths per endpoint per constraint: Value >=1 Default: 1
[-unique_pins] For each unique set of pins, show at most 1 path per bus skew constraint
[-path_type] Format for path report: Values: short, full, full_clock, full_clock_expanded Default: full_clock_expanded
[-sort_by_slack] Sort summary and per-constraint sections by slack
[-input_pins] Show input pins in path
[-no_header] Do not generate a report header
[-significant_digits] Number of digits to display: Range: 0 to 3 Default: 3
[-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
[-return_string] Return report as string
[-warn_on_violation] Issue a critical warning when the report contains a timing violation
[-rpx] Filename to output interactive results to.
[-cells] Run report_bus_skew on the specified hierarchical cell(s)
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution


Report, Timing


Report the calculated bus skew among the signals constrained by set_bus_skew.

The bus skew requirement applies to both the slow and fast corners. The AMD Vivado™ tool determines the earliest and the latest arrival among all the signals of the bus and calculates the bus skew for both the Slow and Fast process corner, and reports the worst case skew. Each signal of the bus is reported relative to a reference signal from the same bus. Note that the reference signal can be different for each signal of the bus, which ever results in the worst bus skew for that signal.

The bus skew report can be written to the Tcl console or command shell, assigned to a return string, or saved to a file.

This command returns the bus skew report as specified, or returns an error if it fails.


-delay_type <arg> - (Optional) Specifies the type of delay to analyze when running the bus skew report. The valid values are min, max, min_max, max_rise, max_fall, min_rise, min_fall. The default setting 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.

Tip: -setup and -hold can be specified together, which is the same as specifying -delay_type min_max.

-no_detailed_paths - (Optional) By default the bus skew report includes detailed path analysis for the signals reported. This option disables the detailed path in the bus skew report.

-max_paths <arg> - (Optional) The maximum number of paths to report per constraint. This is specified as a value greater than or equal to 1. By default the report_bus_skew command will report the single worst timing path per bus skew constraint.

-nworst <arg> - (Optional) The number of timing paths per endpoint to output in the bus skew report. The report will return 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 bus skew report. The default format is full_clock_expanded. The valid path types are:

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

-sort_by_slack - (Optional) Sort the Summary and Per Constraint sections of the report by the slack value.

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

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

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

-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 AMD Vivado™ Design Suite when the report contains a violation.

-rpx <arg> - (Optional) Specify 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. 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.

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

-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 bus skew for the 32 worst signals of each bus skew constraints in the design, reporting 1 path per bit of the bus with the full timing path, including input pins, with timing values:

report_bus_skew -max 32 -nworst 1 -path_type full -input_pins