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

check_discrete_width

check_discrete_width
-lpp s_layerlpp 
[ -annotate [all | none | dim | rect] ] 
[ -annotation_limit i_count ] 
[ -clear_annotations ] 
[ -output_lpp s_lpp ] 
[ -region {f_xlo f_ylo f_xhi f_yhi} ] 
[ -threads i_threads ] 
[ -top_level_only ] 
[ -trim_corners ] 
[ -verbose [ true | false ] ] 

Description

Checks the unbroken distances between opposing edges for effective (maximal) shapes on a layer. The width is considered to be the shorter dimension of a shape and is compared with discrete widths given in a one-dimensional table. A violation occurs if the measured width cannot be found in the table.

To use this command, you must first set the discreteWidth layer constraint, and you can optionally set the length parameter to exclude from checking any shapes shorter than the given length.

Arguments

-annotate [all | none | dim | rect]

Chooses whether to mark violations with annotations. The annotations are added to the annotation:violation purpose of the given layer and are listed by layer under WidthChecks—Discrete Width Checks in the Violations page of the Annotation Browser.

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.

-annotation_limit i_count

Specifies the maximum number of violations to create annotations for. By default, up to 1000 annotations are created. 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.

-lpp s_layerlpp

Specifies the list of layers and/or layer purpose pairs to check.

-output_lpp s_lpp

Specifies the layer purpose pair to which violating shapes will be 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.

-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.

-trim_corners

Specifies that corners be trimmed for checking.

-verbose

Outputs a message for each error found during the check.

Examples

The following example limits discrete width checking to Metal1 shapes that are longer than 3.5 user units. Violating shapes have widths (the shorter dimension) other than 0.20, 0.30, 0.4 or 1.00 user units.

set_constraint_parameter -name length -Value 3.5
set_layer_constraint -layer Metal1 -constraint discreteWidth -hardness hard
-OneDTblValue {0 0.20 1 0.30 2 0.4 3 1.00}
check_discrete_width -region [get_window_area] -lpp Metal1
Running discete width check
Metal1:ALL -- 2 (between 0 and 0.2 microns) discrete width violations found.
Metal1:ALL -- 0 (between 0.2 and 0.3 microns) discrete width violations found.
Metal1:ALL -- 0 (between 0.3 and 0.4 microns) discrete width violations found.
Metal1:ALL -- 0 (between 0.4 and 1.00 microns) discrete width violations found.
check_discrete_width completed in = 0.0s/0.0s/0.0s
2

Related Topics

Verify Commands

check_width


Return to top
 ⠀
X