By default, Report CDC reports only one violation per endpoint and per clock-pair. If multiple violations exist for a single endpoint and clock pair, only the violation with the highest precedence is reported.
CDC rules are ordered by precedence. The rule with the highest precedence is reported first. If you waive that violation, the next violation in the precedence list is reported.
The following table shows the CDC rules sorted from highest to lowest precedence:
| Rule ID | CDC Topology | Severity | Category |
|---|---|---|---|
| CDC-18 | Synchronized with HARD_SYNC Primitive | Info | Safe |
| CDC-13,14 | 1-bit and multi-bit CDC path on a non-FD primitive | Critical | Unsafe |
| CDC-17 | MUX Hold Type | Warning | Safe |
| CDC-16 | MUX Type | Warning | Safe |
| CDC-15 | CE Type | Warning | Safe |
| CDC-26 | LUTRAM read/write potential collision | Warning | Safe |
| CDC-7 | Asynchronous Reset not synchronized | Critical | Unknown |
| CDC-1, 4 | 1-bit and Multi-bit CDC not synchronized | Critical | Unknown |
| CDC-12 | Multi-Clock Fan-in | Critical | Unsafe |
| CDC-10 | Combinatorial Logic detected between synchronizer | Critical | Unsafe |
| CDC-11 | Fan-out from Launch Flop to destination domain | Critical | Unsafe |
| CDC-9 | Asynchronous Reset synchronized with ASYNC_REG property | Info | Safe |
| CDC-6 | Multi-bit synchronized with ASYNC_REG property | Warning | Unsafe |
| CDC-3 | 1-bit synchronized with ASYNC_REG property | Info | Safe |
| CDC-8 | Asynchronous Reset synchronized with missing ASYNC_REG property | Warning | Safe |
| CDC-2,5 | 1-bit and multi-bit CDC synchronized with missing ASYNC_REG property | Warning | Safe |
When an endpoint has multiple CDC violations, waiving the highest precedence causes the next violation to be reported in order.
Viewing All Violations Per Endpoint
To simplify waiver creation, you can generate a report that includes all CDC violations for each endpoint, regardless of rule precedence.
- Run the
report_cdccommand with the-all_checks_per_endpointoption to include every CDC rule that applies to an endpoint:report_cdc -all_checks_per_endpoint -name full_cdc_reportNote: This option is only available from the Tcl Console. It is not supported in the Report CDC dialog window. - You can view the results of
-all_checks_per_endpointin the Vivado IDE by using the-nameoption.