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

minClusterSpacing

Specifies the minimum spacing between two groups of aligned shapes or a group of aligned shapes and another shape on the same layer. The constraint specifies several conditions for the neighboring shapes to be considered as a valid group of shapes.

minClusterSpacing Quick Reference

Constraint Type

Layer

Value Types

Value

Database Types

Design, Technology

Scope

design, foundry

Category

Spacing

Value Type

Value

Specifies the minimum spacing between two clusters or a cluster and a neighboring shape on the same layer.

If the constraint value is set to zero, the existence of the cluster itself is a violation. As a result, spacing between the cluster and neighboring shapes is not checked.

Required Parameters

The conditions specified by the following parameters must be satisfied for a cluster to be valid:

shapeWidthRange

Specifies that a valid cluster is formed only if all its member shapes have widths in this range.

Type: RangeValue, in user units

numShapesRange

Specifies that a valid cluster is formed only if the number of shapes in the cluster is in this range.

Type: RangeValue

spacingRange

Specifies that a valid cluster is formed only if the neighboring shapes in a cluster are within this centerline spacing range. The spacing between the centerline of two shapes must be less than or equal to this value.

Type: RangeValue, in user units

Optional Parameters

groupDirection

Specifies that the groups can only be formed in the given direction.

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

centerLineDistance

Specifies that the spacing measurement is done from the centerline of the cluster to the centerline of another shape. If this parameter is false, the spacing measurement is done from the edge of the cluster to the edge of another shape.

Note: The intra-cluster spacing (specified by the parameter spacingRange) is always measured centerline.

Type: BoolValue

minSpaceOverride

Specifies that the constraint checks for minimum spacing between the shapes which are not part of any cluster.

Type: BoolValue

oaSpacingDirection

Specifies the measurement direction.

Type: StringAsIntValue anyDirection 0 Horizontally and vertically (default)
horizontalDirection 1 Horizontally only
verticalDirection 2 Vertically only

otherWidthRange

Specifies that the constraint applies if the width of the other shape is in this range.

Type: RangeArrayValue, in user units

parallelRunLength

Specifies that the constraint applies only if the parallel run length between the cluster and the other shape is equal to or greater than this value.

Type: Value, in user units

clusterToCluster

The constraint applies only between neighboring clusters. Otherwise, the constraint also applies between a cluster and neighboring non-cluster shapes.

Type: BoolValue

edgeToEdge

The spacing between neighboring shapes in a cluster is measured edge-to-edge. Otherwise, the spacing is measured between centerlines.

This parameter applies only when measuring spacing between neighboring shapes to identify clusters. The 'centerLineDistance parameter determines how spacing is measured between a cluster and neighboring non-cluster shapes.

Type: BoolValue

sameMask

Clusters are formed between shapes of the same color. Additionally, the constraint applies to neighboring non-cluster shapes only is they are of the same color as the shapes that form the cluster.

Type: BoolValue

Examples

Example 1: minClusterSpacing

set_constraint_parameter -name shapeWidthRange -RangeValue {"[3 5]"}
set_constraint_parameter -name otherWidthRange -RangeValue {"(5 7)"}
set_constraint_parameter -name spacingRange -RangeValue {"(3 6)"}
set_constraint_parameter -name numShapesRange -RangeValue {"[3 5]"}
set_layer_constraint -constraint minClusterSpacing -Value 3 -layer Metal1

Specifies that the minimum spacing between the cluster and the other shape must be greater than or equal to 3 user units under the following conditions:

Example 2: minClusterSpacing with centerLineDistance

set_constraint_parameter -name shapeWidthRange -RangeValue {"[3 5]"}
set_constraint_parameter -name otherWidthRange -RangeValue {"(5 7)"}
set_constraint_parameter -name spacingRange -RangeValue {"(3 6)"}
set_constraint_parameter -name numShapesRange -RangeValue {"[3 5]"}
set_constraint_parameter -name centerLineDistance -BoolValue true
set_layer_constraint -constraint minClusterSpacing -Value 7 -layer Metal1

Specifies that the minimum spacing between the cluster and the other shape must be greater than or equal to 7 user units under the following conditions:

Example 3: minClusterSpacing with groupDirection

set_constraint_parameter -name shapeWidthRange -RangeValue {"[3 5]"}
set_constraint_parameter -name otherWidthRange -RangeValue {"(5 7)"}
set_constraint_parameter -name spacingRange -RangeValue {"(3 6)"}
set_constraint_parameter -name numShapesRange -RangeValue {"[3 5]"}
set_constraint_parameter -name groupDirection -IntValue 2
set_layer_constraint -constraint minClusterSpacing -Value 5 -layer Metal1

Specifies that the minimum spacing between the cluster and the other shape must be greater than or equal to 5user units under the following conditions:

Example 4: minClusterSpacing with minSpaceOverride

set_constraint_parameter -name shapeWidthRange -RangeValue {"[3 5]"}
set_constraint_parameter -name otherWidthRange -RangeValue {"(5 7)"}
set_constraint_parameter -name spacingRange -RangeValue {"(3 6)"}
set_constraint_parameter -name numShapesRange -RangeValue {"[4 5]"}
set_constraint_parameter -name minSpaceOverride -BoolValue true
set_layer_constraint -constraint minClusterSpacing -Value 5 -layer Metal1

Specifies that the minimum spacing between the cluster and the other shape must be greater than or equal to 5 user units under the following conditions:

Related Topics

Spacing Constraints

check_space

minClusterSpacing


Return to top
 ⠀
X