Quartus® Prime Pro Edition User Guide: Timing Analyzer

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

3.1.4. Debug CDC Example 1—Incorrect SDC Definition

Clock Domain Crossing (CDC) issues are a common challenge in FPGA design. Often CDC issues lead to metastability, data corruption, and timing violations if you do not resolve them. This section provides a series of debug examples to help you identify and resolve common CDC issues. The examples cover various scenarios, including incorrect SDC (Synopsys Design Constraints) definitions, additional logic in the crossing path, and CDC dependencies on two simultaneous clock domains.

CDC Example 1 demonstrates how improper SDC constraints can lead to false paths and timing analysis errors. This example shows how to debug a CDC synchronizer chain with an incorrect SDC exception to ensure accurate timing verification.

CDC Example 1 Description

CDC Example 1 is a three-stage CDC synchronizer instance named my_sync in the following circuit:

Figure 207. CDC Example 1 Circuit


The three-stage synchronizer comprises a chain of three flipflops.

Figure 208. CDC Example 1 Three-Stage Synchronizer


CDC Example 1 has the following incorrect SDC exception that applies to the synchronizer:

set_false_path -to [get_registers my_sync|sync_ff[*]]

CDC Example 1 Debug Overview

The CDC Example 1 false path is incorrect because it cuts paths between each of the registers in the synchronizer chain, in addition to the path into the synchronizer chain. This constraint represents a common mistake that can cause intermittent failures on hardware. Cutting the paths between the registers in the synchronizer chain causes the Compiler to detect improperly synchronized paths.

The target of the false path should be the first register in the synchronizer chain my_sync|sync_ff[0] instead of my_sync|sync_ff[*].

The following topics use CDC Example 1 to describe how you can identify and resolve similar CDC issues by analyzing the multiple CDC rule violations that Design Assistant reports, and then making necessary corrections to resolve the violations.