Product Documentation
Virtuoso Space-based Router Constraint Reference
Product Version IC23.1, June 2023

minCutRoutingClearance

Specifies the minimum clearance between specific cut classes and metal shapes. For rectangular cut classes, the clearance can optionally be enforced only between the short ends of the cut and metal shapes. Additionally, the clearance can optionally be between a cut shape and the concave corner of the wire that contains the cut.

minCutRoutingClearance Quick Reference

Constraint Type

Layer pair (non-symmetric)

Value Types

Value

Database Types

Design, Technology

Scope

design, foundry

Category

Clearance

Value Type

Value

Specifies the required clearance between the cut shapes on the first layer and the routing shapes on the second layer. The first layer must be the cut layer, and the second layer must be an interconnect or routing layer.

Optional Parameters

cutClass

Specifies the cut class width and length.

Type: DualValue, in user units

shortEdgeOnly

Applies only when a rectangular cut class is specified by the cutClass parameter. If set to true, the clearance value applies only between the metal shape and the short edge of the rectangular cut shapes when there is a nonzero common parallel run length between them. This spacing requirement is ignored for shapes on the same net.

Type: BoolValue

exceptConnectivityType

Specifies the vias for which this constraint does not apply, based on their connectivity. When cutClass is specified, this parameter should be set to sameNetConnectivity. When this parameter is not set, routing clearance applies in all cases.

Type: IntValue sameNetConnectivity   1
(same net)
sameIslandConnectivity   2
(same metal)
directConnectShapesConnectivity  3
(directly connected by the same metal)
sameViaConnectivity   4
(same metal above and below)

toConcaveCorner

Specifies that the spacing between the cut shape and a concave corner of the metal shape in which the cut shape is placed must be greater than or equal to the constraint clearance value.

Type: BoolValue

enclosingLayerWidth

Specifies that the constraint applies if the shape that encloses the cut on enclosingLayer has width greater than or equal to this value.

Type: Value, in user units

enclosingLayer

Specifies that the constraint applies if the width of the shape that encloses the cut on enclosingLayer is greater than or equal to enclosingLayerWidth.

Type: LayerValue

maskOverlap

Requires that the minimum spacing be applied to the distance between cuts on layer1 and the overlap area between routing shapes on two different masks of layer2. The overlap area is created when shapes are stitched together. Cuts cannot touch or intersect the overlap area.

Type: BoolValue

oaSpacingDirection

Represents the direction in which the constraint applies.

Type: IntValue 0 anyDirection (default)
1 horizontalDirection
2 verticalDirection

anyOppositeExtension

Specifies that the constraint applies only if a cut has an extension less than this value on any two opposite sides.

Type: Value, in user units

otherExtension

Specifies that the constraint applies only if a cut has zero extension on two opposite sides and an extension less than this value on the other opposite sides.

Type: Value, in user units

parallelEdgeWithin

Specifies that the constraint applies only if a cut with zero extension on two opposite edges has neighbors on both metal layers within this distance.

Type: Value, in user units

parallelExtension

Specifies that the constraint applies only if the parallel cut edge has an extension that is less than this value.

Type: Value, in user units

parallelRunLength

Specifies that the constraint applies only if a cut with zero extension on two opposite edges has neighbors on both metal layers, with parallel run greater than this value.

Type: Value, in user units

width

Specifies that the constraint applies only when an edge of a concave corner has width less than or equal to the given value.

Type: Value, in user units

length

Specifies that the constraint applies only when an orthogonal edge to the edge with width less than or equal to the given width has length greater than or equal to the given value.

Type: Value, in user units

Examples

Example 1: minCutRoutingClearance with cutClass and shortEdgeOnly

Sets the minimum clearance between the short end of 0.04 x 0.08 V1 cuts and Metal2 shapes to 0.1 user units.

set_constraint_parameter -name cutClass -DualValue { 0.04 0.08 }
set_constraint_parameter -name shortEdgeOnly -BoolValue true
set_layerpair_constraint -constraint minCutRoutingClearance \
-layer1 V1 -layer2 Metal2 -Value 0.1
Illustration for minCutRoutingClearance with cutClass and shortEdgeOnly

Example 2: minCutRoutingClearance with toConcaveCorner

Sets the minimum clearance between 0.02 x 0.02 V1 cuts and Metal2 shapes to 0.03 user units. The spacing between 0.02 x 0.02 V1 cuts and concave corners of enclosing Metal2 shapes must be greater than or equal to 0.03 user units.

set_constraint_parameter -name cutClass -DualValue {0.02 0.02}
set_constraint_parameter -name toConcaveCorner -BoolValue true
set_layerpair_constraint -constraint minCutRoutingClearance \
-layer1 V1 -layer2 Metal2 -Value 0.03
Illustration for minCutRoutingClearance with toConcaveCorner

Example 3: minCutRoutingClearance with enclosingLayerWidth and enclosingLayer

Requires that the minimum clearance between cut class VA and metal shape Metal1 must be greater than or equal to 0.5 user units, and the width of the shape that encloses the cut on the enclosing layer, Metal2, must be greater than or equal to 0.07 user units.

set_constraint_parameter -name className -StringValue VA
set_constraint_parameter -name cutClass -layer V1 \
-DualValue {0.04 0.04}
set_constraint_parameter -name enclosingLayerWidth -Value 0.07
set_constraint_parameter -name enclosingLayer -LayerValue Metal2
set_layerpair_constraint -layer1 V1 -layer2 Metal1 \
-constraint minCutRoutingClearance -Value 0.5
check_layerpair_space -lpp1 V1 -lpp2 Metal1 -diff_net -same_net
Illustration for minCutRoutingClearance with enclosingLayerWidth and enclosingLayer

Example 4: minCutRoutingClearance with cutClass and maskOverlap

Sets a minimum clearance of 0.05 user units between a 0.06 x 0.06 V1 cut and the overlap area between Metal2 shapes on mask1 and mask2.

set_constraint_parameter -name cutClass -DualValue {0.06 0.06}
set_constraint_parameter -name maskOverlap -BoolValue true
set_layerpair_constraint -constraint minCutRoutingClearance \
-layer1 V1 -layer2 Metal2 -Value 0.05
Illustration for minCutRoutingClearance with cutClass and maskOverlap

Related Topics

Clearance Constraints

check_layerpair_space


Return to top
 ⠀
X