report_pulse_width - 2023.2 English

Vivado Design Suite Tcl Command Reference Guide (UG835)

Document ID
Release Date
2023.2 English

Report pulse width check


report_pulse_width [‑file <arg>] [‑append] [‑name <arg>] [‑return_string]
    [‑warn_on_violation] [‑all_violators] [‑significant_digits <arg>]
    [‑limit <arg>] [‑min_period] [‑max_period] [‑low_pulse] [‑high_pulse]
    [‑max_skew] [‑clocks <args>] [‑no_header] [‑cells <args>] [‑rpx <arg>]
    [‑quiet] [‑verbose] [<objects>]


Name Description
[-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] Results name in which to store output
[-return_string] Return report as string
[-warn_on_violation] Issue a critical warning when the report contains a timing violation
[-all_violators] Only report pins/ports where check violations occur
[-significant_digits] Number of digits to display: Range: 0 to 3 Default: 3
[-limit] Number of checks of a particular type to report per clock: Default is 1 Default: 1
[-min_period] Only report min period checks
[-max_period] Only report max period checks
[-low_pulse] Only report min low pulse width checks
[-high_pulse] Only report min high pulse width checks
[-max_skew] Only report max skew checks
[-clocks] List of clocks for which to report min pulse width/min period checks
[-no_header] Do not generate a report header
[-cells] Run report_pulse_width on the specified cell(s)
[-rpx] Filename to output interactive results to.
[-quiet] Ignore command errors
[-verbose] Suspend message limits during command execution
[<objects>] List of objects to check min pulse width with


Report, Timing


Reports the pulse width of the specified clock signals in the clock network and upon reaching the flip-flop. This command also performs high pulse width checking, using maximum delay for the rising edge and minimum delay for the falling edge of the clock. Performs low pulse width checking using minimum delay for the rising edge, and maximum delay for the falling edge. This results in a worst case analysis for the current Synthesis or Implemented Design because it assumes worst-case delays for both rising and falling edges. This command also reports the maximum skew, or maximum timing separation allowed between clock signals.

The report includes minimum pulse width, maximum pulse width, low pulse width, high pulse width, and max skew checks by default. However, selecting a specific check will disable the other checks unless they are also specified.

The default report is returned to the standard output, but can be redirected to a file, or to a Tcl string variable for further processing. The report is returned to the standard output by default, unless the -file, -return_string, or -name arguments are specified.


-file <arg> - (Optional) Write the report into the specified file. If the specified file already exists, it will be overwritten by the new report, unless the -append option 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. Pulse Width 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 report contains a violation.

-all_violators - (Optional) Report only the <objects> where violations are found.

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

-limit <arg> - (Optional) The number of checks of a particular type to report per clock. This is a value >= 1, and the default is 1.

-min_period - (Optional) Report minimum period checks.

-max_period - (Optional) Report maximum period checks.

-low_pulse - (Optional) Report minimum low pulse width checks.

-high_pulse - (Optional) Report minimum high pulse width checks.

-max_skew - (Optional) Check the skew constraints between two clock pins.

Note: The default of the report_pulse_width command is to report min_period, max_period, low_pulse, high_pulse, and max_skew. Specifying one or more of these options configures the command to only report the specified checks.

-clocks <arg> - (Optional) Clocks to report pulse width and period checks. All clocks are checked if the -clocks option is not specified.

-no_header - (Optional) Eliminate the report header from the results. This can be especially useful when returning the results as a string with -return_string.

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

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

<objects> - (Optional) The pin objects to report the pulse width from. All pins are checked if no <objects> are specified.


The following example performs the minimum period and low pulse width check, returning the results to a named results set in the GUI:

report_pulse_width -min_period -low_pulse -name timing_1