Step 6: Waiving Multiple CDC Violations - 2023.2 English

Vivado Design Suite Tutorial: Design Analysis and Closure Techniques (UG938)

Document ID
Release Date
2023.2 English
The my_ip_axi_aclk to my_ip_drpclk CDC includes two critical CDC-11 violations. This step covers how to waive both CDC-11 violations simultaneously.

  1. To waive the violations, select the CDC-11 rows in the CDC Report, right-click, and select Create Waiver.

  2. In the Create Waiver dialog box, enter a description, and click OK.

    In the Timing Report, the two selected rows are disabled when the waivers are created.

    Note: One waiver is created for each selected row. In this example, two waivers are created.

  3. Select Reports > Timing > Report CDC to rerun Report CDC. In the Report CDC dialog box, make sure that Report only waived paths is unchecked, and click OK.
  4. In the CDC Report, look at the my_ip_axi_aclk to my_ip_drpclk CDC.

    The two critical CDC-11 violations were replaced with two Info CDC-9 violations. Based on the CDC precedence rules, waiving CDC-11 unmasks CDC-9 for this circuit.

  5. To view a schematic of the violation, select the CDC-9 row in the CDC Report, and click the Schematic toolbar button .
  6. Verify that there is a 5-level synchronizer on the destination clock domain.

  7. Compare the new Summary (by type) information with the information from the previous CDC Report.

    In the updated CDC Report, the two CDC-11 violations are no longer listed. Instead, there are two new CDC-9 violations.

  8. Look at the Summary (by waived endpoints) information.

    In the updated CDC Report, there are three waived endpoints. This number is different from the number of waived violations (2), because CDC-11 is a multi-bit violation.

  9. Generate different text reports and compare the results with previous reports.

    For example, you can run the following Tcl commands:

    report_cdc -details	
    report_cdc -details -waived
    report_cdc -details -show_waiver
    report_cdc -details -no_waiver

    The following report was generated using the report_cdc -details -waived Tcl command and shows that three violations were waived.