Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 12/04/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

4.1.36.46. report_cdc_viewer (::quartus::sta)

The following table displays information for the report_cdc_viewer Tcl command:

Tcl Package and Version

Belongs to ::quartus::sta

Syntax report_cdc_viewer [-h | -help] [-long_help] [-append] [-clock_groups] [-file <name> ] [-from_clock <names> ] [-fully_cut] [-hierarchy] [-hold] [-inactive] [-less_than_slack <slack limit> ] [-list] [-panel_name <name> ] [-recovery] [-removal] [-setup] [-show_empty] [-show_non_crossing] [-stdout] [-summary] [-timed] [-to_clock <names> ] [-tree]
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-append If output is sent to a file, this option appends the result to that file. Otherwise, the file is overwritten. This option is not supported for HTML files.
-clock_groups Show transfers cut by clock groups
-file <name> Sends the results to an ASCII or HTML file. Depending on the extension
-from_clock <names> Valid source clocks (string patterns are matched using Tcl string matching)
-fully_cut Include transfers where all paths are cut by false path assignments
-hierarchy When writing to a panel or a non-list file, show child clocks as nested within their parent clocks
-hold Option to report clock hold paths
-inactive Show transfers between inactive clocks
-less_than_slack <slack limit> Ignore paths with slack values greater or equal to the specified limit
-list When writing to file, output all clock transfers in a list instead of a grid
-panel_name <name> Sends the results to the panel and specifies the name of the new panel
-recovery Option to report recovery paths
-removal Option to report removal paths
-setup Option to report clock setup paths
-show_empty Include all clocks in the report, even ones that launch/latch no paths
-show_non_crossing Include transfers that do not cross a clock domain (i.e. transfers to/from the same clock)
-stdout Send output to stdout, via messages. You only need to use this option if you have selected another output format, such as a file, and would also like to receive messages.
-summary Do not display slack information
-timed Include all timed transfers (i.e. those not fully cut by false paths or clock groups)
-to_clock <names> Valid destination clocks (string patterns are matched using Tcl string matching)
-tree Alias for the -hierarchy option
Description
Generates a Clock Domain Crossing Viewer (CDC Viewer) report. It displays
all clock transfers (i.e., data paths between one clock domain and another
clock domain) in a design, as well as data on each transfer: the number of
uncut & cut paths in the transfer, the worst-case and total-negative
slack of the transfer, and the tightest setup/hold/removal/recovery
relationship between the clocks in the transfer.

The report indicates what clock transfers are cut ("false paths") by
set_clock_groups or clock-to-clock set_false_path commands, and which
clock transfers are ignored due to clocks marked as inactive by
set_active_clocks.

The report can be directed to the Tcl console ("-stdout", default), a
file ("-file"), the Timing Analyzer graphical user interface ("-panel_name"),
or any combination of the three. When directed to a panel or a file
without the -list option, the CDC Viewer report will be a grid, where
each cell represents paths transferring between a source and destination
clock. When directed to a panel or an HTML file, the grid is color-
coded to highlight passing, failing, cut, and inactive transfers, as
well as clock groups. When directed to the Tcl console or a file with
the -list option, a list of clock transfers are reported.

The -setup, -hold, -recovery, and -removal options determine the
analysis type of the report, particularly the reporting of false_paths
that apply to only one analysis type.  If you do not specify any of
these options, a report is generated for each analysis.

By default, the only transfers that are shown in the report are
ones that participate in clock domain crossings. This means that
transfers to/from the same clock are not shown, even if they fail
timing. To show all transfers, use the -show_all option.

The generated report can be customized by a variety of options. Refer
to the help text of those options for more information.
Example Usage
project_open top
create_timing_netlist -skip_dat
report_cdc_viewer -panel_name
delete_timing_netlist
project_close
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_ERROR 1 ERROR: Timing netlist does not exist. Use create_timing_netlist to create a timing netlist.
TCL_ERROR 1 ERROR: Netlist must be updated. Run update_timing_netlist