Product Documentation
Virtuoso Space-based Router Command Reference
Product Version IC23.1, September 2023

check_width

check_width 
-lpp s_layerlpp 
[ -output_lpp s_layerlpp ] 
[ -width f_userunit ] 
[ -max_width [f_userunit] ] 
[ -object_width [ true | false ] ] 
[ -region {f_xlo f_ylo f_xhi f_yhi} ] 
[ -annotate [all | none | dim | rect] ] 
[ -annotation_limit i_count ] 
[ -clear_annotations ] 
[ -diagonal_aware [ true | false ] ] 
[ -discrete_width [ true | false ] ] 
[ -lpp_width [ true | false ] 
[ -no_sync ] 
[ -silent | -verbose ] 
[ -top_level_only ] 
[ -trim_corners ] 
[ -threads i_threads ] 
[ -subtotals ] 

Description

Checks shapes for minimum width, maximum width, and discrete width violations. By default, all width checks are run if the respective constraints are set, violation annotations are created, and a summary report is output to the Transcript area.

Two types of annotations can be created for each violation found:

The GUI equivalent for this command is Verify—Shapes.

Arguments

-annotate [all | none | dim | rect]

Specifies the annotations to use to mark violations (sections that do not meet the density requirements).

all

(Default) Creates rectangle and dimension annotations where violations occur.

none

Prevents annotations from being created.

dim

Creates only dimension annotations to show measurements where violations occur.

rect

Creates only rectangle annotations where violations occur.

The annotations are added to the annotation:violation purpose of the given layers and are listed by check type (Minimum Width Checks, Maximum Width Checks, or Discrete Width Checks) and layer, under Width Checks in the Violations page of the Annotation Browser.

-annotation_limit i_count

Specifies the maximum number of violations to create annotations for. By default, annotations are created for up to 1000 violations. Specify -annotation_limit -1 to choose no limit.

-clear_annotations

Removes existing violation annotations of the same check type and input layers before performing this check. If not specified, existing violations are not cleared.

-diagonal_aware [ true | false ]

Specifies whether width checks are orthogonal only (false), or support arbitrary shapes with orthogonal and 45 degree sides (true/default).

-discrete_width [ true | false ]

Disables discrete width checking. By default, discrete width checking is performed if the allowedWidthRange constraint is set. Results are reported for the number of violations within ranges defined by the constraint values.

-lpp s_layerlpp

Specifies the list of layer purpose pairs to check.

-lpp_width [ true | false ]

Specifies whether widths should be checked based on the layer constraint (false/default) or the layer purpose pair constraint (true).

-max_width [f_userunit]

Checks for shapes that are wider than the specified width. If the given value is 0, the maximum width (maxWidth) constraint from the technology file is used for the check. If this argument is not given, maximum width checking is not performed.

-no_sync

Prevents the OpenAccess database from being updated.

-object_width

Specifies that the width is checked at the object level. Default is false.

-output_lpp s_layerlpp

Specifies the layer purpose to add the checking results to. Shapes that fail to meet the width rule requirements are added.

-region {f_xlo f_ylo f_xhi f_yhi}

Specifies the boundary points for the area to check. If not specified, the entire design in the active artwork window is checked.

-silent

When selected, turns off detailed messages during the check.

-subtotals

Outputs a Tcl list with the number of minimum width, maximum width, and discrete width violations reported separately (refer to Processing Tcl Lists). By default, the return value is the total number of violations found.

-threads i_threads

Specifies the number of threads or processors to use in parallel to run this command. By default, if multi-threading has been enabled, the session threads are used, otherwise, one processor is used.

-top_level_only

Specifies that top-level shapes and shapes connected to top-level shapes be checked. By default, all shapes are checked.

Cell-to-cell placement errors will not be detected if this argument is true.

-trim_corners

Specifies that corners be trimmed for checking.

-verbose

Outputs a message for each error found during the check.

-width f_userunit

Overrides the minimum width (minWidth) constraint value. A value of zero prevents the minimum width check from being run.

Value Returned

i_count

Indicates the total number of shapes that violate the width rules for the given criteria.

i_minviolcount i_maxviolcount i_discreteviolcount

Tcl list with the number of minimum width violations, maximum width, and discrete width violations found. This is the output format when -subtotals is given.

-1

The command did not run due to a syntax error or a missing required argument.

Examples

The following command checks shapes in metal1:wire:detail for minimum width rule violations using the width rules in the technology file, and outputs the shapes violating the rule to the metal1:annotation:violation LPP.

check_width -lpp {"metal1 wire:detail"} -output_lpp {"metal1:annotation:violation"}

Processing Tcl Lists

For commands that return a Tcl list, use the following example to process the list. In this example, a Tcl list is output that includes the number of minWidth, maxWidth, and discreteWidth errors found.

set results [check_width -max_width 0.8 -subtotals]
set list_count [llength $results]
set minwidth [lindex $results 0]
set maxwidth [lindex $results 1]
set_discretewidth [lindex $results 2]
puts $minwidth; puts $maxwidth; puts $discretewidth

Related Topics

Verify Commands

enable_multithreading


Return to top
 ⠀
X