Product Documentation
Virtuoso Technology Data Constraints Reference
Product Version IC23.1, November 2023

minClusterSpacing (One layer)

spacings(
( minClusterSpacing tx_layer 
 'widthRange g_widthRange 
 'numShapesRange g_numShapesRange 
 'spacingRange g_spacingRange 
 ['centerLineDistance] 
 ['minSpaceOverride] 
 ['horizontal | 'vertical] 
 ['otherWidthRange g_otherWidthRange] 
 ['groupHorizontal | 'groupVertical
  ['enclosingLayer tx_enclosingLayer 
   ['viaEdgeType x_edgeType]
  ]
 ]
 ['prl f_prl]
 ['clusterToCluster]
 ['edgeToEdge]
 ['sameMask]
 ['widthHorizontal | 'widthVertical] 
 f_spacing 
)
) ;spacings

(Virtuoso Advanced Node for Layout Standard) Specifies the minimum spacing between two neighboring clusters or a cluster and other neighboring shapes that may or may not be part of another cluster, on the same layer. The shapes in a cluster must be exactly aligned and must satisfy all of the following conditions:

Optionally, each cluster can be aligned either in the vertical direction or in the horizontal direction. The constraint can also be selectively applied to neighboring non-cluster shapes based on their widths.

Values

tx_layer

The layer on which the constraint is applied.

Type: String (layer and purpose names) or Integer (layer number)

f_spacing

The spacing between a cluster and a neighboring shape must be greater than or equal to this value.

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.

Parameters

'widthRange g_widthRange

  

The widths of the shapes in a cluster must fall in this range.

Type: Floating-point values specifying a range of widths that trigger the constraint

'numShapesRange g_numShapesRange

The constraint applies only if the number of shapes in a cluster falls in this range.

Type: Integer values specifying the minimum and maximum number of shapes (range) that a cluster can contain

'spacingRange g_spacingRange

This spacing between the centerlines of the shapes in a cluster must fall in this range.

Type: Floating-point values specifying a range of spacings that trigger the constraint

'centerLineDistance

The spacing is measured from the centerline of the cluster to centerline of the neighboring non-cluster shapes.

The intra-cluster spacing is always measured from the centerline, irrespective of whether this parameter is specified.

Type: Boolean

'minSpaceOverride

  

The constraint does not apply if the neighboring shape is part of another cluster.

The minSpacing constraint applies instead.

Type: Boolean

'horizontal | 'vertical

The direction in which spacing is measured. If direction is not specified, spacing is measured in any direction.

Type: Boolean

'otherWidthRange g_otherWidthRange

The constraint applies to a non-cluster shape only if its width falls in this range.

Type: Floating-point values specifying a range of widths that trigger the constraint

'groupHorizontal | 'groupVertical

The constraint applies only if a cluster is formed in the specified direction. If the direction is not specified, the cluster can be formed in either direction.

Type: Boolean

'enclosingLayer tx_enclosingLayer

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only for the specified group direction for shapes enclosed by this layer.

'viaEdgeType x_edgeType

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only when all via edges in the direction orthogonal to the group direction and in the enclosing layer are of this type. The type is defined in the viaEdgeType constraint.

'prl f_prl

The constraint applies only if the parallel run length between the shapes in a cluster and a neighboring non-cluster shape is greater than or equal to this value.

'clusterToCluster

(Virtuoso Advanced Node for Layout Only) The constraint applies only between neighboring clusters. Otherwise, the constraint also applies between a cluster and neighboring non-cluster shapes.

Type: Boolean

'edgeToEdge

(Virtuoso Advanced Node for Layout Only) 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: Boolean

'sameMask

(Virtuoso Advanced Node for Layout Only) Clusters are formed between shapes of the same color. Moreover, the constraint applies to neighboring non-cluster shapes only if they are of the same color as the shapes that form the cluster.

Type: Boolean

'widthHorizontal | 'widthVertical

(Virtuoso Advanced Node for Layout Only) The direction in which the widthRange and otherWidthRange parameters are measured. These parameters would be always measured in this direction, even if it does not correspond to the smaller dimension.

By default, when this parameter is not used, the smaller dimension is used for widthRange and otherWidthRange.

Type: Boolean

Examples

Example 1: minClusterSpacing with widthRange, numShapesRange, spacingRange, and otherWidthRange

The spacing between a cluster and a neighboring shape must be at least 1.4 if the width of the neighboring shape is greater than or equal to 1.2 and less than or equal to 1.5.

The shapes in the cluster must satisfy the following conditions:

Example 2: minClusterSpacing with widthRange, numShapesRange, spacingRange, centerLineDistance, and otherWidthRange

The spacing measured from the centerline of a cluster to the centerline of a neighboring shape must be at least 2.0 if the width of the neighboring shape is greater than or equal to 1.2 and less than or equal to 1.5.

The shapes in the cluster must satisfy the following conditions:

Example 3: minClusterSpacing with widthRange, numShapesRange, spacingRange, centerLineDistance, otherWidthRange, and groupVertical

The spacing measured from the centerline of a vertical cluster to the centerline of a neighboring shape must be at least 2.0 if the width of the neighboring shape is greater than or equal to 1.2 and less than or equal to 1.5.

The shapes in the cluster must satisfy the following conditions:

Example 4: minClusterSpacing with widthRange, numShapesRange, spacingRange, horizontal, otherWidthRange, and groupVertical

The horizontal spacing between a vertical cluster and a neighboring shape must be at least 1.7 if the width of the neighboring shape is greater than or equal to 1.2 and less than or equal to 1.5. The shapes in the cluster must satisfy the following conditions:

Example 5: minClusterSpacing with widthRange, numShapesRange, spacingRange, minSpaceOverride, otherWidthRange, and prl

The spacing between a cluster and a neighboring shape must be at least 1.4 if the width of the neighboring shape is greater than or equal to 1.2 and less than or equal to 1.5 and the common parallel run length is greater than or equal to 0.05.

The shapes in the cluster must satisfy the following conditions:

If the neighboring shape belongs to a cluster, a minimum spacing requirement of 2.0 must be satisfied.

Example 6: minClusterSpacing with widthRange, numShapesRange, spacingRange, and clusterToCluster

The spacing between two clusters must be at least minS if the shapes in both clusters satisfy the following conditions:

Example 7: minClusterSpacing with widthRange, numShapesRange, spacingRange, otherWidthRange, and sameMask

The spacing between a cluster of shapes on mask1 and a neighboring mask1 shape must be at least minS if the width of the neighboring shape falls in the range WO.

The shapes in the cluster must satisfy the following conditions:

Example 8: minClusterSpacing with group direction, enclosingLayer, and viaEdgeType

The spacing between a cluster of shapes on mask1 and a neighboring mask1 shape must be as defined in the constraint. There must be only two self-aligned vias with self-aligned edges facing each other within a distance of 0.04 to 0.108.


Return to top
 ⠀
X