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

check_vias

check_vias
-lpp {s_layerlpp…} 
[ -stack_check ] 
[ -numcuts_check ] 
[ -extension_check ] 
[ -stacklimit_check ] 
[ -inter_layer_check ] 
[ -include_pins [ true | false ] ] 
[ -output_lpp s_lpp ] 
[ -region {f_xlo f_ylo f_xhi f_yhi} ] 
[ -top_level_only ] 
[ -annotate [ true | false ] ] 
[ -clear_annotations ] 
[ -annotation_limit i_count ] 
[ -error_limit i_count ] 
[ -no_sync ] 
[ -silent | -verbose ] 
[ -threads i_threads ] 
[ -check_mode [soft|hard] ] 
[ -trim_corners ] 

Description

Checks for via violations in stacking, numcuts and extensions, in the entire active design or a specific region. Violating shapes can be output and/or annotated.

The GUI equivalent for this command is Verify—Shapes.

Arguments

-annotate [ true | false ]

Specifies whether to mark violations. The annotations are added to the annotation:violation purpose of the given via layer and are listed by the check name and the layer under Via Checks in the Violations page of the Annotation Browse. By default, annotations are added.

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

-check_mode {soft|hard}

  

Chooses soft or hard constraint lookup. Default is hard.

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

-error_limit i_count

Specifies the maximum number of errors to detect before stopping. By default, there is no limit. A value of -1 chooses no limit.

-extension_check

Checks for via extension (via enclosure) violations (minExtension, minDualExtension, minRedundantViaSetback, minCenterLineExtension). Default is false.

-include_pins [ true | false ]

Specifies whether via pin shapes are checked. Default is true.

-inter_layer_check

Invokes via to via interlayer checks. Default is false.

-lpp {s_layerlpp…}

Specifies the via layers or layer purposes to check.

-no_sync

Prevents the OpenAccess database from being updated with the output shapes.

-numcuts_check

Causes via objects and via instances to be checked for the minimum number of cuts required when connecting between two wide wire shapes or when connecting a wide shape to a pin. Default is false.

-output_lpp s_lpp

Adds violating shapes to the specified output layer purpose.

-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

Turns off detailed messages during checking.

-stack_check

Causes via objects to be checked for stackability with other via objects. Works in conjunction with set_via_stackability. Default is false.

-stacklimit_check

Checks cut layers against the via stack limit given by the viaStackLimit constraint. If the via stack limit is k, at most k consecutive cut layers may be aligned, otherwise a violation results for every intersection of k+1 cuts that are aligned. Default is false.

For an example, refer to Via Stack Limit Check.

-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

Restricts checks to shapes and areas associated with the top level geometry. By default, all levels are checked.

-trim_corners

Specifies that corners be trimmed for checking.

-verbose

Outputs a message for each error found during the check.

Value Returned

i_count

Indicates the number of violating vias found.

-1

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

Examples

The following example checks for numcut, via stack, and extension violations for vias on layers V2, V3 and V1 in the area currently being viewed in the active window and shows the results.

check_vias -numcuts_check -stack_check -extension_check -region [get_window_area] -lpp {V2 V3 V1}
Running check_vias
V2:ALL -- 0 Stacked via violations found
V2:ALL -- 0 Numcut Via violations found
V2:ALL -- 16 Via Extension violations found
Running check_vias
V3:ALL -- 0 Stacked via violations found
V3:ALL -- 0 Numcut Via violations found
V3:ALL -- 0 Via Extension violations found
Running check_vias
V1:ALL -- 6 Stacked via violations found
V1:ALL -- 1 Numcut Via violations found
V1:ALL -- 0 Via Extension violations found
check_vias completed in 0.1s (elapsed), using 0.0s/0.0s0.1s
(user/kernel/total CPU).
23

Via Stack Limit Check

The following commands set the maximum stack to two consecutive vias for cut layers VIA1, VIA2, VIA3, and VIA4.

set_constraint_parameter -name lowerLayer -LayerValue VIA1
set_constraint_parameter -name upperLayer -LayerValue VIA4
set_constraont -constraint viaStackLimit -IntValue 2

If the optional parameters are not specified, the stack limit applies to the lowest cut layer containing shapes up to the top-most cut layer. If the lowerLayer parameter is specified as a non-cut layer, it will be snapped up to the closest cut layer containing shapes. If the upperLayer parameter is specified as a non-cut layer, it will be snapped down to the closest cut layer. If there are a total of less than k+1 layers where the stack limit is k, then no stack limit is applied. The following command will flag a violation if vias are stacked on more than two consecutive cut layers (for example, VIA1, VIA2, and VIA3, or VIA2, VIA3, and VIA4).

check_vias -stacklimit_check 

Related Topics

Verify Commands

enable_multithreading


Return to top
 ⠀
X