Visible to Intel only — GUID: ukw1730491624671
Ixiasoft
Visible to Intel only — GUID: ukw1730491624671
Ixiasoft
3.1.4.2. Resolve Violation: CDC Bus Constructed with Unsynchronized Registers
Alternatively, you can start resolving the CDC issue in CDC Example 1 by reviewing the CDC-50006 Bus Constructed with Unsynchronized Registers rule violation. The following steps describe how to resolve this DRC violation for CDC Example 1.
- In the Design Assistant, right-click the CDC-50006 violation, then click Report Asynchronous CDC.
Figure 216. CDC-50006 Violation
The Quartus Prime software classifies this as a CDC bus based on the name pattern of the transfers that are flagged as CDC transfers. That is, one transfer is from sync_ff[1] to sync_ff[2]. The other transfer is from sync_ff[0] to sync_ff[1]. In this particular circuit, the topology is a chain, not a bus. However, the naming pattern that includes bit indices 0, 1, and 2, is similar to naming patterns associated with a bus.
Figure 217. Asynchronous CDC Full Report Shows Unsynchronized Synchronizer Bus
- Click the CDC Statistics tab to view details about the CDC transfers. The tab reports each synchronized path, from index 0 to 1, and from index 1 to 2, and the false path exceptions that affect them.
Figure 218. CDC Statistics Tab
- To view how the false path exceptions cut these paths, click the SDC Statistics tab.
Figure 219. SDC Statistics Tab Showing Cut Paths
The tab shows how the overly broad false path exception is the cause of the DRC violation. Changing the false path target from my_sync|sync_ff[*] to my_sync|sync_ff[0] constrains the synchronizer correctly and avoids these violations.
- Click the Schematic View tab to display the synchronizer bus paths. The light green paths between index 0 and index 1, and between index 1 and index 2, indicate false path exceptions apply to those paths.
Figure 220. Schematic View