Add DRC rule check objects to a rule deck
Syntax
add_drc_checks [‑of_objects <args>] [‑regexp] [‑nocase] [‑filter <arg>]
‑ruledeck <arg> [‑quiet] [‑verbose] [<patterns>]
Returns
Drc_check
Usage
| Name | Description |
|---|---|
[-of_objects]
|
Get 'rule_check' objects of these types: 'drc_ruledeck'. |
[-regexp]
|
Patterns are full regular expressions |
[-nocase]
|
Perform case-insensitive matching. (valid only when -regexp specified) |
[-filter]
|
Filter list with expression |
-ruledeck
|
DRC rule deck to modify |
[-quiet]
|
Ignore command errors |
[-verbose]
|
Suspend message limits during command execution |
[<patterns>]
|
Match the 'rule_check' objects against patterns. Default: * |
Description
Add design rule checks to the specified drc_ruledeck object.
A rule deck is a collection of design rule checks grouped for convenience, to be run with the report_drc command at different stages of the design flow, such as during I/O planning or placement. The tool comes with a set of factory defined rule decks, but you can also create new user-defined rule decks with the create_drc_ruledeck command.
Use the get_drc_ruledecks command to return a list of the currently defined rule decks available for use in the report_drc command.
You can add standard factory defined rule checks to the rule deck, or add user-defined rule checks that were created using the create_drc_check command. Use the get_drc_checks command to get a list of checks that can be added to a rule deck.
remove_drc_checks command.
set_property command to set the IS_ENABLED property for the rule to false. This will disable the rule from being run in report_drc, without having to remove the rule from the rule deck. Use reset_drc_check to restore the rule to its default setting.This command returns the list of design rule checks that were added to the rule deck.
Arguments
-of_objects <arg> - (Optional) Add the rule checks of the specified drc_ruledeck object to the specified rule deck. This has the effect of copying the rules from one rule deck into another.
-of_objects option requires objects to be specified using the get_* commands, such as get_cells or get_pins, rather than specifying objects by name. In addition, -of_objects cannot be used with a search <pattern>.
-regexp - (Optional) Specifies that the search <patterns> are written as regular expressions. Both search <patterns> and -filter expressions must be written as regular expressions when this argument is used. Xilinx® regular expression Tcl commands are always anchored to the start of the search string. You can add ".*" to the beginning or end of a search string to widen the search to include a substring. See http://perldoc.perl.org/perlre.html for help with regular expression syntax.
regexp is not anchored, and works as a standard Tcl command. For more information refer to http://www.tcl.tk/man/tcl8.5/TclCmd/regexp.htm.
-nocase - (Optional) Perform case-insensitive matching when a pattern has been specified. This argument applies to the use of -regexp only.
-filter <args> - (Optional) Filter the results list with the specified expression. The -filter argument filters the list of objects returned by the search pattern, based on specified property values. You can find the properties on an object with the report_property or list_property commands.
get_pins * -filter {DIRECTION == IN && NAME !~ "*RESET*"}
bool) type properties can be directly evaluated in filter expressions as true or not true: -filter {IS_PRIMITIVE && !IS_LOC_FIXED}
-ruledeck <arg> - (Required) The name of the rule deck to add the specified design rule checks to.
-quiet - (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
-verbose - (Optional) Temporarily override any message limits and return all messages from this command.
set_msg_config command.Examples
add_drc_checks -ruledeck project_rules {*DCI* *BUF*}
create_drc_ruledeck placer+
add_drc_checks -of_objects [get_drc_ruledecks placer_checks] \
-ruledeck placer+
add_drc_checks -ruledeck placer+ *IO*
add_drc_checks -filter {SEVERITY == Warning} -ruledeck warn_only