Understanding the Clock Domain Crossings Report Rules - 2025.2 English - UG906

Vivado Design Suite User Guide: Design Analysis and Closure Techniques (UG906)

Document ID
UG906
Release Date
2025-12-10
Version
2025.2 English

Vivado’s report_cdc command identifies and classifies CDC paths by matching each path to a known CDC topology. Each topology is associated with one or more CDC rules. You cannot change the severity of these rules, unlike DRCs or Messages.

Simplified schematics and descriptions of the CDC topologies can be found in the Simplified Schematics of the CDC Topologies section ordered from the highest to the lowest precedence.

Rule Precedence

CDC rules are analyzed using a defined precedence. Only one violation is reported per endpoint by default. If multiple CDC issues apply to the same endpoint, only the highest precedence violation is shown.

For example, if both CDC-15 (higher precedence) and CDC-10 (lower precedence) apply to the same register, only CDC-15 is reported.

You can override this behavior using the -all_checks_per_endpoint option, which reports all Info, Warning, and Critical checks per endpoint. However, if one safe rule applies to a register, the unsafe rules on that register are still not reported.

CDC Rules and Descriptions

Table 1. CDC Rules and Description
CDC Topology CDC Rule Severity Description
Single-bit CDC CDC-1 Critical A single-bit CDC path is not synchronized or has unknown CDC circuitry.
CDC-2 Warning A single-bit CDC path is synchronized with a 2+ stage synchronizer but the ASYNC_REG property is missing on all or some of the synchronizer flip-flops.
CDC-3 Info A single-bit CDC path is synchronized with a 2+ stage synchronizer and the ASYNC_REG property is present.
Multi-bit CDC CDC-4 Critical A multi-bit bus CDC path is not synchronized or has unknown CDC circuitry.
CDC-5 Warning A multi-bit bus CDC path is synchronized with a 2+ stage synchronizer but the ASYNC_REG property is missing on all or some of the synchronizer flip-flops.
CDC-6 Warning A multi-bit bus CDC path is synchronized with a 2+ stage synchronizer and the ASYNC_REG property is present.
Asynchronous Reset CDC-7 Critical An asynchronous signal (clear or preset) is not synchronized or has unknown CDC circuitry.
CDC-8 Warning An asynchronous signal (clear or preset) is synchronized but the ASYNC_REG property is missing on all or some of the synchronizer flip-flops.
CDC-9 Info An asynchronous reset is synchronized and the ASYNC_REG property is present.
Combinatorial Logic CDC-10 Critical Combinatorial logic has been detected in the fanin of a synchronization circuit.
Fanout CDC-11 Critical A fanout has been detected before a synchronization circuit.
Multi-Clock Fanin CDC-12 Critical Data from multiple clocks are found in the fanin of a synchronization circuit.
non-FD primitive CDC-13 Critical CDC detected on a non-FD primitive.
CE-controlled CDC CDC-15 Warning Clock Enable controlled CDC.
Mux-controlled CDC CDC-16 Warning Multiplexer controlled CDC.
Mux Data Hold CDC CDC-17 Warning Multiplexer data holding CDC.
HARD_SYNC primitive CDC-18 Info A signal is synchronized with a HARD_SYNC primitive.
LUTRAM-to-FD CDC CDC-26 Warning LUTRAM read/write potential collision.

Rule Precedence: Highest to Lowest

Table 2. CDC Rules and Precedence (Highest to Lowest)
CDC Topology CDC Rule
HARD_SYNC primitive CDC-18
Non-FD primitive CDC-13
Mux Data Hold CDC CDC-17
Mux-controlled CDC CDC-16
CE-controlled CDC CDC-15
LUTRAM-to-FD CDC CDC-26
Asynchronous Reset CDC-7
Single-bit CDC not synchronized CDC-1
Multi-bit CDC not synchronized CDC-4
Multi-Clock Fanin CDC-12
Combinatorial Logic CDC-10
Fanout CDC-11
Asynchronous Reset synchronized with property CDC-9
Single-bit CDC synchronized with property CDC-3
Multi-bit CDC synchronized with property CDC-6
Asynchronous Reset synchronized without property CDC-8
Single-bit CDC synchronized without property CDC-2
Multi-bit CDC synchronized without property CDC-5

This rule set ensures that unsafe or unknown CDC structures are flagged appropriately, and known safe synchronizations are recognized and prioritized.