Manipulating DRCs - 2022.1 English

Vivado Design Suite User Guide: Using Tcl Scripting (UG894)

Document ID
Release Date
2022.1 English

DRCs are just like other objects in Tcl and their properties can be changed. Use the following command to list the properties of a DRC Object.

Vivado% report_property [get_drc_checks RAMW-1]
Property     Type   Read-only Visible Value
ARCHITECTURES  string* true    true
CLASS      string  true    true   drc_check
DESCRIPTION   string  true    true   Block RAM Data Width Check
GROUP      string  true    true   RAMW
HIERNAME     string  true    true   RAMB Checks
IS_ENABLED    bool   false   true   1
IS_USER_DEFINED bool   true    true   1
MESSAGE     string  true    true
MSG_ID      int   true    true   1
NAME       string  true    true   RAMW-1
SEVERITY     enum   false   true   Advisory
Note: There are two properties of the RAMW-1 DRC check that you can modify. Those are the IS_ENABLED property and the SEVERITY property. Change the values of these properties on the DRC Check object by using the set_property command, just like any other object.

To disable the RAMW-1 DRC check, issue the Tcl command:

Vivado% set_property IS_ENABLED false [get_drc_checks RAMW-1]

To increase the severity of the RAMW-1 DRC Check, issue the Tcl command:

Vivado% set_property SEVERITY {Critical Warning} [get_drc_checks RAMW-1]

These properties can also be changed on built-in DRC rules. In order to reset the built-in DRC rules to factor defaults, use the following Tcl command:

Vivado% reset_drc_check [get_drc_checks]
Although Vivado allows you to disable and downgrade the severity of the built-in DRC Objects, this practice is highly discouraged as it can cause unpredictable results and could potentially cause permanent damage to the device.

For more information on Running DRCs, see the Vivado Design Suite User Guide: System-Level Design Entry (UG895).