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

minOneDArrayStructure

orderedSpacings(
( minOneDArrayStructure tx_cutLayer1 tx_metalLayer tx_cutLayer2 
 'cutClass {f_width | (f_width f_length) | t_name} 
 'numCuts x_numCuts 
 'arraySpace f_arraySpacing 
 'interViaSpace f_interViaSpacing
 'dualExtension (f_ext f_oppExt)
 f_cutSpacing 
)
) ;orderedSpacings

Specifies the minimum edge-to-edge spacing between cut shapes in a 1-D array on cutLayer1. The cut shapes in this 1-D array are aligned in the preferred routing direction specified for the metal layer below cutLayer1.

The minimum number of cut shapes in the 1-D array must be greater than or equal to numCuts. The edge-to-edge spacing of a cut shape in this 1-D array to any other cut shape on cutLayer1 must be greater than or equal to arraySpacing and to a cut shape on cutLayer2 must be greater than or equal to interViaSpacing, provided the parallel run length between the two cut shapes is greater than zero.

The cut shapes in the 1-D array must have metalLayer extensions greater than or equal to ext on one pair of opposite sides and oppExt on the other pair of opposite sides.

Values

tx_cutLayer1

The first 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 (routing layer).

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

tx_cutLayer2

The second cut layer on which the constraint is applied.

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

f_cutSpacing

The edge-to-edge spacing between the cut shapes in the 1-D array 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

'numCuts x_numCuts

The number of cut shapes in a aligned 1-D array must be greater than or equal to this value.

'arraySpace f_arraySpacing

The spacing between a cut shape in the 1-D array and any other cutLayer1 cut shape must be greater than or equal to this value if the parallel run length between the two shapes is greater than zero.

The 1-D array should be merged into a single rectangular box (with a grow or shrink operation) before applying the check, which should take precedence over other spacing constraints defined for the cut layer.

'interViaSpace f_interViaSpacing

The spacing between a cut shape in the 1-D array and a cut shape on cutLayer2 must be greater than or equal to this value if the parallel run length between the two shapes is greater than zero.

'dualExtension (f_ext f_oppExt)

The cut shapes in the 1-D array must have metalLayer extensions equal to ext on one pair of opposite sides and oppExt on the other pair of opposite sides.

Example

The spacing between Via1 via cuts in a 1-D array with at least 6 via cuts, aligned in the horizontal direction, must be greater than or equal to 0.1. Each of these via cuts must have at least 0.03 and 0.05 Metal1 extensions on opposite edges.

The spacing of a via cut in the 1-D array to any other Via1 via cut must be greater than or equal to 0.5 and to a Via2 via cut must be greater than or equal to 0.6, provided the two via cuts have parallel run length greater than zero.


Return to top
 ⠀
X