Step 9: Waiving Multiple CDC Violations - Step 9: Waiving Multiple CDC Violations - 2026.1 English - UG938

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

Document ID
UG938
Release Date
2026-07-30
Version
2026.1 English
In this step, you waive multiple CDC violations simultaneously.
  1. In the CDC Report, view the my_ip_axi_aclk to my_ip_glblclk CDC under CDC Details.

    This crossing has multiple CDC-13 violations that are 1-bit violations. The multiple CDC-13 violations all start from the same register clock pin:

    i_my_ip_support_block/jesd204_i/inst/tx_cfg_test_modes_reg[2]/C
    Tip: You can sort the table by the column ID to more easily see the multiple CDC-13 violations.

    Generated by Your Tool
  2. Because i_my_ip_support_block/jesd204_i/inst/tx_cfg_test_modes_reg[*]/C matches five pins and you only need to target two of those five pins, construct the list of startpoints as follows:
    set startpoints [list \
    [get_pins i_my_ip_support_block/jesd204_i/inst/tx_cfg_test_modes_reg[2]/C] \
    ]
  3. To waive the CDC-13 violations, use the create_waiver Tcl command with the -from option:
    create_waiver -type {CDC} -id {CDC-13} -user {AMD} -desc {No more CDC 13!} -from $startpoints
  4. From the Vivado IDE, select Reports > Timing > Report CDC to rerun Report CDC.
  5. In the CDC Report, verify that the CDC-13 violations are no longer reported in the Summary section.
    Generated by Your Tool
  6. To report only the waived violations, enter:
    report_cdc -details -waived

    The following figure shows the waived CDC violations in two different tables. The first table shows the 180 CDC-13 violations waived as single-bit violations.


    Generated by Your Tool
  7. To export all the waivers inside a script and verify that a total of four waivers were added, enter:
    write_waivers -type cdc waivers.xdc -force
    Note: Because the waivers.xdc file already exists, the -force option must be specified to override the file.
    Tip: Alternatively, because there are no DRC or methodology waivers, you can enter:
    write_waivers waivers.xdc -force

    or

    write_xdc -type waiver waivers.xdc -force

    The list of waivers inside waivers.xdc appears as follows.


    Generated by Your Tool
  8. To import the waivers.xdc file, enter:
    read_xdc waivers.xdc

    The following warnings show that the duplicate waivers were not added to the existing waivers. Only waivers that are exact duplicates of existing waivers are rejected.

    WARNING: [Vivado_Tcl 4-935] Waiver ID 'CDC-10' is a duplicate and will not be added again. 
    WARNING: [Vivado_Tcl 4-935] Waiver ID 'CDC-11' is a duplicate and will not be added again. 
    WARNING: [Vivado_Tcl 4-935] Waiver ID 'CDC-11' is a duplicate and will not be added again. 
    WARNING: [Vivado_Tcl 4-935] Waiver ID 'CDC-13' is a duplicate and will not be added again.