viaStackingLimits
viaStackingLimits( (x_stackLimit['noSingleCut] ['exceptIndividualAreaf_individualArea'exceptSumAreaf_sumArea] ['lowCutSizeWithin] [tx_bottomLayertx_topLayer] )
) ;viaStackingLimits
Sets the maximum allowed number of continuous stacked vias. A via is considered to be in a stack with another via if a cut in one via partially or completely overlaps a cut in another via. The number of vias in a continuous stack must not exceed the number specified by this constraint.
This constraint must be specified in the viaStackingLimits constraint category in the foundry constraint group or in a constraint group applied at the design level. This does not include the global net default constraint groups such as LEFDefaultRouteSpec or virtuosoDefaultSetup. You can set one viaStackingLimits constraint per constraint group; if you set more, the one specified last is applied.
The figure below illustrates via stacks.

In the first example below, if the via stacking limit is set to 3, the leftmost figure violates the constraint because the number of stacked vias is 4 (>3).

In the second example below, if the via stacking limit is set to 3 and 'noSingleCut is specified, the figure on the left violates the constraint because a single-cut via is not allowed in a stack that is taller than 3.

Values
Parameters
|
This parameter specifies whether stacked vias can be single-cut or if they must be multiple-cut. |
|
|
The constraint does not apply if the metal shape containing a stacked via has an area greater than or equal to this value on a layer other than the bottommost and topmost metal layers. |
|
|
The constraint does not apply if the union sum of the metal shapes containing a stacked via on layers other than the bottommost and topmost metal layers is greater than or equal to this value. |
|
|
It is a stacked via if the upper adjacent layer cut is within the minimum cut size specified on the lower cut layer (as defined in a cutClasses or minWidth constraint). |
|
|
The two together specify a range of layers to which the constraint applies. If this range is not specified, the constraint applies to all layers. The specified layers must be metal layers. |
|
Example
The via stack limit is set to 3 for Metal1 through Metal4 layers, and the via stack limit is set to 2 for Metal4 through Metal7 if the vias all have multiple cuts.
foundry( viaStackingLimits( ( 3 "Metal1" "Metal4" )
( 2 'noSingleCut "Metal4" "Metal7" )
) ;viaStackingLimits
) ;foundry
Return to top