By default, Report CDC only reports one violation per endpoint and per clock-pair. When multiple violations exist for an endpoint and for a specific clock-pair, only the CDC violation with the highest precedence is reported.
The CDC rules are sorted as shown in the table below from the highest to the 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, if the violation with the highest precedence is waived, the next violation is reported based on the precedence order.
To create waivers for a design, it could be convenient to report all the CDC violations for each endpoint in a single run, regardless of the rules precedence. Use the report_cdc command line option -all_checks_per_endpoint to generate an extensive report of all the CDC violations in the design.
-all_checks_per_endpoint is only available from the Tcl console and is not supported in the Report CDC dialog window. However, the results of -all_checks_per_endpoint can be displayed in the Vivado IDE using the -name option.