report_clock_interaction - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2023.2 English

Report on clock timing paths and unclocked registers


report_clock_interaction [‑from <args>] [‑to <args>] [‑delay_type <arg>]
    [‑setup] [‑hold] [‑significant_digits <arg>] [‑no_header] [‑file <arg>]
    [‑append] [‑name <arg>] [‑return_string] [‑cells <args>] [‑quiet]


Name Description
[-from] From clocks
[-to] To clocks
[-delay_type] Type of path delay: Values: max, min, min_max Default: max
[-setup] Consider max delay timing paths (equivalent to -delay_type max)
[-hold] Consider min delay timing paths (equivalent to -delay_type min)
[-significant_digits] Number of digits to display: Range: 0 to 3 Default: 2
[-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
[-cells] Run report_clock_interaction on the specified cell(s)
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution


Report, Timing


Reports clock interactions and signals that cross clock domains to identify potential problems such a metastability, or data loss, or incoherency, where some visibility into the paths that cross clock domains is beneficial. This command requires an open synthesized or implemented design.

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.


-from <args> - (Optional) The source clocks of the clock pairs relationship between which the clock interactions should be analyzed. You can specify clock names or clock objects.

-to <args> - (Optional) The destination clocks of the clock pairs relationship between which the clock interactions should be analyzed. You can specify clock names or clock objects.

-delay_type <arg> - (Optional) Specifies the type of delay to analyze when running the clock interaction report. The valid values are min, max, and min_max. 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.

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

-significant_digits <arg> - (Optional) The number of significant digits in the output results. The valid range is 0 to 3. The default setting is 2 significant digits.

-no_header - (Optional) Do not write a header to the report.

-file <arg> - (Optional) Write the report into the specified file. Unless you also specify -append, the specified file will be overwritten if it already exists.
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) The name of the Clock Interaction Report view to display in the tool GUI mode. If the name has already been used in an open Report view, that view will be closed and a new report opened.

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

-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 sets the model for interconnect delay, and then runs report_clock_interaction:

set_delay_model -interconnect none
report_clock_interaction -delay_type min_max \
   -significant_digits 3 -name "results_1"

The following example returns the clock interactions, writing the report to the GUI, to the specified file, and returns a string which is assigned to the specified variable:

set clk_int [report_clock_interaction -file clk_int.txt -name clk_int1 \