viaKeepoutZone
spacings( ( viaKeepoutZonetx_cutLayer'cutClass {f_width| (f_width f_length) |t_name} ['otherCutClass {f_width1| (f_width1 f_length1) |t_name1}] 'dualExtension (f_ext1 f_ext2) ['dualSideExtension (f_sideExt1 f_sideExt2) ['sideVertical]] ['sameMask] ['exactAlignedf_spacing['allEdge | 'shortEdge | 'longEdge] ] ['insideLayers (tx_layer1 tx_layer2 … tx_layerN) ['insidePurposes (t_purpose1 t_purpose2 … t_purposeN)] | 'outsideLayers (tx_layer1 tx_layer2 … tx_layerN) ['outsidePurposes (t_purpose1 t_purpose2 … t_purposeN)] ] ['cornerOnly] ['exceptSameNet] ['viasAnyConnectivity | 'viasOnSameMetal | 'viasOnDiffMetal]f_extension)
) ;spacings
(Virtuoso Advanced Node for Layout Only) Defines a keepout zone that determines the spacing between via cuts of the specified cut class and any other cut class, or between via cuts of the two specified cut classes. The keepout zone is a combination of the keepout zones defined by the constraint value (extension) and by the parameters 'dualExtension (can be specified for both square and rectangular cut classes) and, optionally, 'dualSideExtension (can be specified only for rectangular cut classes). If the optional 'sideVertical parameter is specified, 'dualSideExtension, which is typically specified only for rectangular cut classes, can be specified for square cut classes as well.
1. When 'sideVertical and 'cornerOnly are NOT specified
The following figure illustrates the two keepout zones for a square via cut, one defined by the constraint value (green) and the other defined by 'dualExtension (blue). When only 'dualExtension is specified for a square or rectangular via cut, the keepout zone is the union of the two regions formed by extending outward the two extension values, ext1 and ext2, from each pair of opposite edges of the via cut.

The following figure illustrates the three keepout zones for a rectangular via cut when both 'dualExtension and 'dualSideExtension are specified: the first defined by the constraint value (green), the second defined by 'dualExtension (blue, with ext1 on the ends and ext2 on the sides), and the third defined by 'dualSideExtension (red, with sideExt1 on the sides and sideExt2 on the ends).

A violation occurs if a via cut of any cut class or of the type specified using 'otherCutClass overlaps any of the keepout zones.
2. When 'sideVertical is specified
When 'sideVertical is specified, both 'dualExtension and 'dualSideExtension can be specified for a square via cut. In this setting, 'dualExtension is used to define a horizontal keepout zone (blue) and 'dualSideExtension is used to define a vertical keepout zone (red), as shown in the following figure.

3. When 'cornerOnly is specified
When 'cornerOnly is specified, all cut edges are extended outward by extension in Euclidean measurement to form the keepout zone for the constraint value. However, this keepout zone applies only at the corners that are outside the keepout zones defined by 'dualExtension and 'dualSideExtension, as shown in the following figure.

Values
Parameters
|
The cut class to which the constraint applies, specified by width, by width and length, or by name (as defined in a cutClasses constraint). |
|
|
The cut class that must not overlap any keepout zone, specified by width, by width and length, or by name (as defined in a cutClasses constraint). |
|
|
The two values together define a second keepout zone.
|
|
|
The two values together define a third keepout zone that extends outward by sideExt1 from both sides and by sideExt2 from both ends of the rectangular via cut. |
|
|
Both |
|
|
The distance between exactly aligned via cuts must be greater than or equal to this value. The via cuts are not subject to the keepout zone check. |
|
|
The edge on which rectangular via cuts must be exactly aligned to trigger the |
|
|
|
|
|
Determines if the constraint applies, based on the presence or absence of one or more layers.
For more information, see |
|
|
The |
|
|
The |
|
|
The keepout zone defined by the constraint value is applied only on the corners that are not covered by the keepout zones defined by |
|
|
Specifies that the constraint does not apply to via cuts on the same net. |
|
|
(Virtuoso Layout Suite EXL and higher tiers) The constraint applies to vias of the specified connectivity type.
This parameter may be specified only if |
|
Example
On layer Via1, a VA via cut must not overlap with the keepout zones defined for a VB via cut if both via cuts are on the same mask. Additionally, the keepout zone defined by the constraint value 0.08 applies only on the corners where the keepout zones defined by 'dualExtension and 'dualSideExtension do not apply.

Return to top