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

allowedLengthRanges

spacings(
( allowedLengthRanges tx_layer 
 ['horizontal | 'vertical] 
 [{ 'viaLayers (tx_viaLayer1 tx_viaLayer2tx_viaLayerN) |
 'exceptViaLayers (tx_exceptViaLayer1 tx_exceptViaLayer2tx_exceptViaLayerN) }
 ['cutClassSizes ({ f_width | (f_width f_length) | t_name } … )]
 ]
 ['mask1 | 'mask2| 'mask3] 
 ['endToEndGapRanges g_endToEndGapRanges]
 ['otherEndToEndGapRanges g_otherEndToEndGapRanges]
 ['insideLayers (tx_layer1 tx_layer2tx_layerN)
  ['insidePurposes (t_purpose1 t_purpose2t_purposeN)]
  | 
  'outsideLayers (tx_layer1 tx_layer2tx_layerN)
  ['outsidePurposes (t_purpose1 t_purpose2t_purposeN)]
 ]
 (g_ranges)
)
) ;spacings
spacingTables(
( allowedLengthRanges tx_layer 
 (( "width" nil nil ) 
 ['horizontal | 'vertical] 
 [{ 'viaLayers (tx_viaLayer1 tx_viaLayer2tx_viaLayerN) |
 'exceptViaLayers (tx_exceptViaLayer1 tx_exceptViaLayer2tx_exceptViaLayerN) }
 ['cutClassSizes ({ f_width | (f_width f_length) | t_name } … )]
 ]
 ['mask1 | 'mask2| 'mask3] 
 ['endToEndGapRanges g_endToEndGapRanges]
 ['otherEndToEndGapRanges g_otherEndToEndGapRanges]
 ['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_default]
 )
 (g_table)
)
) ;spacingTables

(Virtuoso Advanced Node for Layout Standard) Specifies the allowed length values for shapes on a layer.

Polygon shapes are broken down into rectangles and the longer dimension of each rectangle is checked against the allowed length values.

If the table value is used, the only allowed indexes are the widths specified with the allowedWidthRanges constraint.

Values

tx_layer

The layer on which the constraint is applied.

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

g_ranges

The allowed length ranges.

Type: Floating-point values specifying length ranges

"width" nil nil

  

This identifies the index for table.

g_table

The format of the table row is as follows:

(f_width (g_ranges))

where,

  • f_width is the width of the shape.
  • g_ranges is a list of the allowed length ranges for the specified width.

Type: A 1-D table specifying floating point width and length values

Parameters

'horizontal | 'vertical

(Virtuoso Layout Suite EXL and higher tiers) The direction in which length is measured. If not specified, the length is measured in any direction.

Type: Boolean

'viaLayers (tx_viaLayer1 tx_viaLayer2tx_viaLayerN)

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only if a shape is present on any of these layer.

'exceptViaLayers (tx_exceptViaLayer1 tx_exceptViaLayer2tx_exceptViaLayerN)

(Virtuoso Layout Suite EXL and higher tiers) The constraint applies only if no shape is present on any of these layers.

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

(Virtuoso Layout Suite EXL and higher tiers) Specifies a list of cutClass sizes to be used for checking 'viaLayers and 'exceptViaLayers.

'mask1 | 'mask2 | 'mask3

(Virtuoso Layout Suite EXL and higher tiers) Specifies the color mask of the shapes for which the rule is applicable.

'endToEndGapRanges g_endToEndGapRanges

(Virtuoso Advanced Node Option for GAA and Virtuoso Layout Suite EXL and higher tiers) The constraint applies when either side end-to-end gap with another wire is within these ranges.

'otherEndToEndGapRanges g_otherEndToEndGapRanges

(Virtuoso Advanced Node Option for GAA and Virtuoso Layout Suite EXL and higher tiers) The constraint applies when one side end-to-end gap with another wire is within the endToEndGapRanges ranges and the other side end-to-end gap with another wire is within the otherEndToEndGapRanges ranges.

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

f_default

The length value to be used when no table entry applies.

Example

The allowed lengths for rectangles on Metal1 are determined as follows:


Return to top
 ⠀
X