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

minClearance

Sets the minimum spacing, edge-to-edge, between shapes on two different layers. This constraint applies only to non-intersecting shapes on the two different layers and ensures that shapes on the two layers do not cross.

This constraint is symmetric, implying that the minimum clearance between layer1 and layer2 is the same as the minimum clearance between layer2 and layer1.

minClearance Quick Reference

Constraint Type

Layer pair (symmetric)

Value Types

Value, TwoDTblValue

Database Types

Design, Technology

Scope

net, route, Term, instTerm, net group, design, foundry

Category

Clearance

Value Types

Value

Specifies the minimum distance, in user units, between any shape on one layer and any shape, in every direction, on the other layer.

Any shape on either layer must be at least as far away, in every direction, from any shape on the other layer as the distance specified by the value of this constraint.

TwoDTblValue

Specifies the minimum clearance as a table of values based on row_name and col_name argument settings. For a detailed description of these argument settings, see widthLengthTableType parameter in the Optional Parameters section.

Optional Parameters

widthLengthTableType

  

Specifies the table type when minClearance is a TwoDTblValue. If this parameter is not specified, the set_layerpair_constraint row_name and col_name argument settings are used to determine the table type.

Type: IntValueValue: 0
Width/Parallel run length table – The row lookup key represents the width of the wider of the two shapes, and the column lookup key represents the parallel run length between the two shapes. The table value represents the minimum required spacing.

distanceMeasureType

  

Specifies the spacing measurement method as Euclidean (0, default) or Manhattan (1).

Type: IntValue 0 Euclidean
1 Manhattan

For information on this parameter, see Euclidean and Manhattan Spacing Constraints.

coincidentAllowed

  

When set true, then shapes can either meet the minimum clearance or their edges can be coincident. If false or not set, then the edges must meet the specified minimum clearance and cannot be coincident.

Type: BoolValue

overlapNotAllowed

  

When set to true, shapes are not allowed to overlap. By default, the checker allows same net shapes to overlap.

Type: BoolValue

orthogonalSpacing

  

Specifies the different-net clearance between objects on a cut layer and objects on a routing layer. This parameter can only be used with minClearance values of Value.

Type: Value

oaSpacingDirection

  

Specifies the measurement direction.

Type: StringAsIntValue 0 anyDirection (horizontally and vertically, default)
1 horizontalDirection (horizontally only)
2 verticalDirection (vertically only)

Examples

Example 1: minClearance Fixed Value

Sets the minimum clearance between shapes on Metal1 and shapes on Metal2 to 1.5.

set_layerpair_constraint -constraint minClearance \
-layer1 Metal1 -layer2 Metal2 -Value 1.5

Example 2: minClearance 2D Table: Indices width/length

In the following example, the minimum clearance is dependent on the parallel run length between a Metal1 shape and a Metal2 shape. To prevent crosstalk, more spacing is required for longer parallel run lengths. With the row width set to 0, the widths of the shapes are not considered.

set_layerpair_constraint -constraint minClearance \
-layer1 Metal1 -layer2 Metal2 \
-hardness hard -row_name width -col_name length \
-TblCols { 0.3 0.6 1.0 } \
-TwoDTblValue { 0 0.2 0.4 0.8 } \
-row_interpolation snap_down \
-row_extrapolation {snap_up snap_down} \
-col_interpolation snap_down \
-col_extrapolation {snap_up snap_down}

Example 3: minClearance with orthogonalSpacing

In the following example, the different-net spacing between objects on a cut layer and objects on a routing layer. The rule does not apply to same-net objects. The spacing check is done by using the following method:

The difference between minClearance and orthogonalSpacing is calculated, and half of that difference is shrunk on two sides of the cut and grown on the other two sides. Then, a Euclidean spacing of the average of minClearance and orthogonalSpacing is applied to the newly formed rectangle geometry. The shrink and grow operations are done on the alternated sides to form another checking region. A violation occurs only when shapes on the routing layer are found in the gray regions of both check 1 and check 2.

set_constraint_parameter -name orthogonalSpacing -Value 0.2 set_layerpair_constraint -constraint minClearance \
-layer1 "V1" -layer2 "Metal1" \
-hardness hard -Value 0.1

Illustration of the Check Regions for minClearance with orthogonalSpacing

Illustration of minClearance with orthogonalSpacing

Related Topics

Clearance Constraints

check_space


Return to top
 ⠀
X