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

minCutClassClearance

Specifies the minimum spacing between cuts of different classes on different layers.

minCutClassClearance Quick Reference

Constraint Type

Layer pair (symmetric)

Value Types

TwoDTblValue

Database Types

Design, Technology

Scope

design, foundry

Category

Via Construction

Group Operators

AND, OR

Value Type

TwoDTblValue

Specifies the minimum spacing between cuts of different classes on different layers. The column header (-TblCols) and the row headers for the 2-D table specify the width and length for each cut class.

Optional Parameters

cutClassCenterToCenter

Specifies whether the cut spacing is measured from cut-center-to-cut-center (1) or cut-edge-to-cut-edge (0). By default, cut spacing is performed cut-edge-to-cut-edge. The column header (-TblCols) and the row headers for the 2-D table specify the width and length for each cut class.

Type: Int2DTblValue

defaultCutSpacing

Specifies the default cut spacing between cut classes.

Type: Value, in user units

exceptConnectivityType

Specifies the vias for which this constraint does not apply, based on their connectivity.

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

This parameter is mutually exclusive with oaConnectivityType.

oaConnectivityType

Specifies the shapes to which this constraint applies, based on their connectivity. Figure  shows a graphical example of each connectivity type.

Type: StringAsIntValue anyConnectivity   0
(any)
sameNetConnectivity   1
(same net)
sameIslandConnectivity   2
(same metal)
directConnectShapesConnectivity  3
(directly connected by same metal)

parallelRunLength

Specifies that the constraint applies only if the parallel run length (prl) between the two via cuts is greater than or equal to this value. Both positive and negative values are allowed.

If multiple minCutClassClearance constraints are defined in an AND constraint group, the constraint is applied by evaluating the prl values, specified in the ascending order, to locate the first prl value for which the actual prl is greater than or equal to the parameter value. As a result, only one constraint in an AND constraint group applies. For example, in an AND constraint group with prl values specified as -1.0, -0.05, 0, 0.05, 1, the constraint value that applies is determined as follows:

Actual length (prl) Use constraint value for length

<-1   The constraint does not apply.

>=-1 and <-0.05   -1.0

>=-0.05 and <0   -0.05

>=0 and <0.05   0

>=0.05 and <1.0   0.05

>=1.0   1.0

Type: Value, in user units

nonZeroEnclosure

Specifies that the minimum cut class spacing between cut classes on different layers optionally applies only to the cut edges of the layer1 shape enclosed by the metal layer above with an enclosure greater than 0, and that the cut edges have a nonzero parallel overlap with cut shapes on layer2. The enclosing metal layer condition does not apply to cut shapes that do not have a parallel overlap.
Type: LayerValue

nonCutClassEdgeSpacing

Specifies the spacing between cut class shapes and non-cut class shapes (for example, blockages).

Type: ValueArrayValue, in user units

cutClassProfile

Specifies an extension distance that is applied to cut shapes of certain cut classes before cut spacing is measured. The table layout is identical to the constraint value table. This parameter is valid only if there is no parallel overlap between cut shapes.

Type: Int2DTblValue, in user units

cutClassSizeBy

Specifies the cut size required for the cut class. If there are n rows and m columns in the constraint value table, this parameter should specify (n+m) extension values.

Type: ValueArrayValue, in user units

cutClassSizeBy is mutually exclusive with cutClassProfile.

cutClassList

Stores the cut class dimensions in an array.

Type: ValueArrayValue, in user units

cutClassMeasureType

Specifies that the constraint should be applied as specified for each cut class combination.

  • centerToCenter indicates that the spacing value must be measured center-to-center.
  • centerAndEdge indicates that the maximum of all applicable values should be measured center-to-center, and the minimum of all applicable values should be measured edge-to-edge.
  • centerAndEdgeNoPRL indicates that the spacing between two cuts should be the greater of the following two values:
    • The maximum of all applicable values, measured center-to-center.
    • The minimum of all applicable values, measured edge-to-edge.

Type: Int2DTblValue

Only one of the values listed above can be used in a table. A combination of values in not allowed.

exactAlignedSpacing

Specifies an array of DualValue pairs. The first value in each pair specifies the width of a square cut class. The second value specifies the spacing (or clearance) required between completely aligned horizontal or vertical cuts of the cut class.

Type: DualValueTbl, in user units

Examples

# edge-to-edge spacing by default
# parallel run length >= 0 set_constraint_parameter -name parallelRunLength -Value 0 set_layerpair_constraint -constraint minCutClassClearance \   -layer1 V1 -layer2 V2 \
-TblCols { 0.10 0.10 0.10 0.25 } \
-TwoDTblValue { 0.10 0.00 0.00 0.00 0.20 \
0.10 0.00 0.00 0.00 0.20 \
0.10 0.00 0.00 0.00 0.00 \
0.25 0.20 0.20 0.00 0.00 }

Sets the minimum clearance between VA (0.1 x 0.1) and VB (0.1 x 0.25) cut classes on V1 and V2 as follows:

Related Topics

Via Construction Constraints


Return to top
 ⠀
X