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

maxViaClusterNumCuts

spacings(
( maxViaClusterNumCuts tx_layer
 'cutClass {f_width | (f_width f_length) | t_name}
 'within (f_minWithin f_maxWithin)
 ['diagonalNumCut x_diagonalNumCut
  ['diagonalSpacing f_diagonalSpacing
   'bendSpacing f_bendSpacing
   'diagonalWithin f_diagonalWithin
   'sideExtension f_sideExt
   'edgeExtension f_edgeExt
  ]
 ]
 x_numCuts
)
) ;spacings

Specifies the maximum number of consecutive via cuts of the specified cut class allowed in a cluster and the cut-to-cut spacing that must be satisfied. Via cuts that satisfy the specified spacing are defined to be in the same via cluster.

This constraint allows the spacing between via cuts to be smaller if via cuts are placed in a particular configuration. The via cuts can be placed in a horizontal line, along a straight diagonal line, or diagonally in a bend or notch formation.

Values

tx_layer

The layer on which the constraint is applied.

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

x_numCuts

The maximum number of via cuts allowed in a cluster.

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

'within (f_minWithin f_maxWithin)

  

The distance between consecutive via cuts in a cluster must be greater than or equal to minWithin and less than or equal to maxWithin.

For diagonal via cuts (that is, via cuts placed along a straight diagonal line), the distance is measured from the corner of a via cut in both X and Y directions.

'diagonalNumCut x_diagonalNumCut

  

The number of diagonal via cuts in a cluster (that is, via cuts placed along a straight diagonal line) must be less than or equal to this value.

'diagonalSpacing f_diagonalSpacing 'bendSpacing f_bendSpacing
'diagonalWithin
f_diagonalWithin 'sideExtension f_sideExt
'edgeExtension
f_edgeExt

  

These parameters can be specified when diagonalNumCut is 0, which implies that there is no limit on the number of via cuts that can be placed diagonally and a bend or notch is allowed.

If via cuts are placed diagonally without a bend or notch, a via cut can have at most two neighboring via cuts at a distance less than or equal to diagonalWithin, with spacing greater than or equal to diagonalSpacing.

If via cuts are placed to form a bend or notch, a via cut can have at most two non-perfectly-aligned neighboring via cuts in a bend or notch formation at a distance less than or equal to diagonalWithin, with spacing greater than or equal to bendSpacing.

Additionally, the neighboring via cuts placed along the diagonal or in a bend or notch formation must be found within a search window formed by extending (on both sides) by sideExt the via cut edges that satisfy the minExtensionEdge constraint with 'twoSides parameter. The other dimension of the search window is equal to edgeExt.

All measurements—diagonalWithin, diagonalSpacing, and bendSpacing—are center-to-center.

Examples

Example 1: maxViaClusterNumCuts with cutClass, within, and diagonalNumCut

The number of 0.3x0.3 Via1 via cuts in a cluster cannot exceed 3. The following additional conditions must also be met:

Example 2: maxViaClusterNumCuts with cutClass, within, diagonalNumCut, diagonalSpacing, diagonalWithin, sideExtension, and edgeExtension

The number of 0.3x0.3 Via1 via cuts in a cluster cannot exceed 3. The following additional conditions must also be met:


Return to top
 ⠀
X