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

minOrthogonalSpacing

orderedSpacings(
( minOrthogonalSpacing tx_cutLayer tx_metalLayer
 ['cutClass {f_width | (f_width f_length) | t_name}
 ['toAll]
 | 'cutClassList l_cutClassNames]
 'prl f_parallelRunLength 'within f_within
 'width f_wireWidth
 ['metalWithin (g_metalPrl g_metalWithin)]
 ['horizontal | 'vertical]
 ['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
)
) ;orderedSpacings

(Virtuoso Advanced Node for Layout Only) Specifies that the spacing between two exactly aligned via cuts must be greater than or equal to spacing if the following conditions are met:

Values

tx_cutLayer

The cut layer on which the constraint is applied.

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

tx_metalLayer

The metal layer on which the constraint is applied.

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

f_spacing

The spacing between the exactly aligned via cuts must be greater than or equal to this value.

Parameters

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

  

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

Otherwise, the constraint applies to via cuts of any cut class.

'toAll

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies when at least one cut is of the specified cut class even if the other cuts are of any cut classes.

'cutClassList l_cutClassNames

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only if cuts belong to the specified cut classes. Each list entry is a doublet with values indicating the dimensions of a cut.

'prl f_parallelRunLength

The constraint applies only if the parallel run length between the exactly aligned via cuts and the neighboring via cut, which is at a distance less than within from them, is greater than this value.

'within f_within

The constraint applies only if the distance between the exactly aligned via cuts and the neighboring via cut is less than this value.

'width f_wireWidth

The constraint applies only if the width of the metalLayer wire is less than or equal to this value.

'metalWithin (g_metalPrl g_metalWithin)

Specifies that the search window of a metal neighbor wire is formed by metalPrl (first int) and is extended from the cut with a cut neighbor by metalWithin (second int).

The following figure illustrates metalWithin and metalPrl.

'horizontal | 'vertical

The spacing applies only in the specified direction.

'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)

Example

Specifies that the spacing between Via2 and Metal3 must be greater than or equal to 0.07 for the VA cut class when the parallel run length is 0.05, the width of the metal layer wire is less than or equal to 0.08, the search window is between 0.03 to 0.04, and the distance between the aligned via cuts and the neighboring via cut is less than 0.06.

orderedSpacings(
(minOrthogonalSpacing "Via2" “Metal3”
    'cutClass "VA" 'prl 0.05 'width 0.08 'metalWithin (0.03 0.04) 
    'within 0.06 0.07)
) ;orderedSpacings

Return to top
 ⠀
X