In this step, you waive multiple CDC violations
simultaneously.
- In the CDC Report, view the
my_ip_axi_aclk
tomy_ip_glblclk
CDC under CDC Details.This crossing has five CDC-14 violations, which are multi-bit violations. The five CDC-14 violations all start from the same two register clock pins:
i_my_ip_support_block/jesd204_i/inst/tx_cfg_test_modes_reg[2:1]/C
Tip: You can sort the table by the column ID to more easily see the five CDC-14 violations.
- 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[1]/C] \ [get_pins i_my_ip_support_block/jesd204_i/inst/tx_cfg_test_modes_reg[2]/C] \ ]
- To waive the five CDC-14 violations, use the
create_waiver
Tcl command with the-from
option:create_waiver -type {CDC} -id {CDC-14} -user {Xilinx} -desc {No more CDC 14!} -from $startpoints
- From the Vivado IDE, select to rerun Report CDC.
- In the CDC Report, verify that the CDC-14 violations are no longer reported
in the Summary section.
- 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 5 CDC-14 violations waived as multi-bit violations. The second table shows the 10 single-bit violations, calculated by multiplying the 5 multi-bit violations by 2 bits per multi-bit violation.
- 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 thewaivers.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.
- To import the waivers.xdc file,
enter:
read_xdc waivers.xdc
The following warnings show that 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-14' is a duplicate and will not be added again.