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