report_cdc Command
report_cdc [-from <clocks>] [-to <clocks>] [-details] [-file <file>]
This command reports the clock domain crossing (CDC) paths in the design. This command supports the following options:
-fromspecifies the source clocks.-tospecifies the destination clocks.-detailsprints a detailed CDC report.-fileif used, writes the results to the named file in the outflow directory.
By default, the report_cdc command would print out a summary report like the following example:
Source Clock }| Destination Clock | Exceptions | Endpoints
==========================================================
clk_write | clk_read | None | 23
clk_read | clk_write | None | 12
When you use the -details option, the report shows the CDC path
description. The current check lists all endpoints, and groups the source/destination as
buses by their names. The tool supports the following descriptions:
- 1-bit and multi-bit unknown CDC circuitry
- 1-bit and multi-bit synchronized with ASYNC_REG property
- 1-bit and multi-bit synchronized with missing ASYNC_REG property
- Combinational logic detected before a synchronizer
- 1-bit CDC path on a non-FF primitive
- Multi-clock fan-in to synchronizer
The following code shows an example report:
CDC Report
Source Clock: clk_write
Destination Clock: clk_read
Row|Exception| Description | Source (From) | Destination (To)
===============================================================================================
1 | None | 1-bit unknown CDC circuitry | r_ptr_sync[0]~FF|CLK | data_count_r[0]~FF|D
2 | None | Multi-bit unknown CDC circuitry | w_ptr_q[2:1]~FF|CLK | data_count_r[2:1]~FF|D
3 | None | 1-bit synchronized with missing | w_prt_q[11]~FF|CLK | w_grey_sync[11]~FF|D
| | ASYNC_REG property | |