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

minParallelWithinViaSpacing

spacings(
( minParallelWithinViaSpacing tx_cutLayer
 ['centerToCenter]
 ['exceptSameNet]
 ['cutClass {f_width | (f_width f_length) | t_name}
  ['longEdgeOnly ['otherWidth]
   | ['otherExtension f_extension 'layer tx_metalLayer
      'paraLength f_parLength 'within f_within
     ]
  ]
 ]
 'cutDistance f_distance
 ['insideLayers (tx_layer1 tx_layer2tx_layerN)
  ['insidePurposes (t_purpose1 t_purpose2t_purposeN)]
  |
  'outsideLayers (tx_layer1 tx_layer2tx_layerN)
  ['outsidePurposes (t_purpose1 t_purpose2t_purposeN)]
 ]
 f_spacing
)
) ;spacings

Specifies the minimum spacing required between cut shapes if the distance between the cut shapes is less than distance.

The constraint applies if the cut shapes are overlapped by a same-metal shape. However, if you do not want the constraint to apply between cut shapes on the same net, you can specify the 'exceptSameNet parameter.

Optionally, the constraint applies only if a cut shape has a metalLayer extension less than extension on a side on which lies a neighboring metalLayer shape at a distance less than within from the cut shape, with parallel run length greater than or equal to parLength with the cut shape. If the specified parallel run length (parLength) is negative, the edge of the target cut shape is extended in both directions by the absolute value of the specified parallel run length and the constraint applies between the extended edge and any neighboring cut edge.

For example, in the figure below, the via cut has Metal1 extension less than extension on the bottom edge (shown in pink)—on the side on which lies a neighboring shape on layer Metal1 at a distance less than within from the via cut. The parallel run length between the via cut and the neighboring shape is -parLength. To prevent a violation, any red edge of a neighboring via cut that faces this via cut must lie outside the blue dotted window.

Values

tx_cutLayer

The cut layer on which the constraint is applied.

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

f_spacing

The spacing between cut shapes must be greater than or equal to this value.

Parameters

'centerToCenter

The spacing between cut shapes is measured center-to-center. Otherwise, the spacing is measured edge-to-edge.

Type: Boolean

'exceptSameNet

The constraint does not apply between cut shapes on the same net.

Type: Boolean

'cutClass { f_width | (f_width f_length) | t_name }

(ICADVM20.1 Only – 95512) The cut class to which the constraint applies, specified by width, by width and length, or by name (as defined in a cutClasses constraint).

  • f_width: Width
  • f_length: Length
  • t_name: Name of the cut class

'longEdgeOnly

(ICADVM20.1 Only – 95512) The constraint applies only if a metal shape lies between the long edges of two rectangular cut shapes and is inside the common projected parallel run length of the cut shapes. Additionally, no cut shape of the same cut class should be present in the area between the long edges of the two rectangular cut shapes.

Type: Boolean

'otherWidth

(ICADVM20.1 Only – 95511 and 95800) The constraint applies if the metal shape on the layer above the cut layer is within the common projected parallel run length of cut shapes and has width less than this value. This parameter is specified only if longEdgeOnly is specified.

'otherExtension f_extension 'layer tx_metalLayer
'paraLength
f_parLength 'within f_within

The constraint applies only if the cut shape has a metalLayer extension less than extension on a side on which lies a neighboring metalLayer shape at a distance less than within from the cut shape, with parallel run length greater than or equal to parLength with the cut shape.

Spacing is checked between cut shapes only on the side opposite to that on which the neighboring shape is present. If the specified parallel run length (parLength) is negative, the edge of the target cut shape is extended in both directions by the absolute value of the specified parallel run length, and the constraint applies between the extended edge and any neighboring cut edge.

'cutDistance f_distance

The constraint applies only if the distance between the cut shapes is less than this value.

'insideLayers (tx_layer1 tx_layer2tx_layerN)
| 'outsideLayers (
tx_layer1 tx_layer2tx_layerN)

Determines if the constraint applies, based on the presence or absence of one or more layers.

  • 'insideLayers: The constraint applies only if the shapes on the specified layer (layer) overlap a shape on one of these layers (layer1 layer2layerN).
  • 'outsideLayers: The constraint applies only if the shapes on the specified layer (layer) overlap the region outside the shapes on one of these layers (layer1 layer2layerN).

For more information, see Region-based Rule (One layer).

Type: String (layer name) or Integer (layer number)

'insidePurposes (t_purpose1 t_purpose2t_purposeN)

The 'insideLayers parameter is limited to only the specified purposes.

Type: String (purpose name)

'outsidePurposes (t_purpose1 t_purpose2t_purposeN)

The 'outsideLayers parameter is limited to only the specified purposes.

Type: String (purpose name)

Examples

Example 1: minParallelWithinViaSpacing with cutClass and cutDistance

The spacing between the edges of Via1 via cuts must be at least 0.1 if the distance between two via cuts is less than 0.02.

Example 2: minParallelWithinViaSpacing with cutClass, longEdgeOnly, and cutDistance

The spacing between the long edges of Via1 via cuts of type VB (0.4x0.6) must be at least 0.1 if the distance between two via cuts is less than 0.02.


Return to top
 ⠀
X