Quartus® Prime Pro Edition User Guide: Timing Analyzer

ID 683243
Date 11/26/2024
Public
Document Table of Contents

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.

  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


  2. 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


  3. 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.

  4. 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