Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 12/12/2022
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.35.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 will be 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 will be 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 will be 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 will be shown in the report are
ones that participate in clock domain crossings. This means that
transfers to/from the same clock will not be 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