minAdjacentViaSpacing
Specifies the required minimum distance in user units between adjacent via cuts. A via cut is considered adjacent if it is within the specified distance from another cut in any direction including a 45-degree angle. Additional distance is required when multiple cuts are adjacent to ensure that geometries are not merged during fabrication.
Optional parameters determine whether via spacing is measured center-to-center or edge-to-edge, whether the constraint applies to only certain connectivity types, and whether the constraint applies to vias on power and ground nets. In some processes, a specific spacing rule may only apply if the vias have no parallel run length, as opposed to being aligned.
minAdjacentViaSpacing Quick Reference
|
net, route, Term, instTerm, blockage, net group, group2group, reflexive, transreflexive, design, foundry |
|
Value Type
|
Specifies the minimum distance required between adjacent vias. |
Required Parameters
|
Specifies the maximum distance apart, in user units, for cuts to be considered adjacent.
Type: |
|
|
Specifies the minimum required number of adjacent cuts for this constraint to apply.
Type: |
The constraint applies when at least numCuts other vias are adjacent within a given distance.
Optional Parameters
|
The constraint applies only to vias with the given dimensions.
Type: |
|
|
The constraint applies when the cut has this number of via cuts that are perfectly aligned horizontally and/or vertically and are less than
Otherwise, the constraint applies when there are at least
Type: |
|
|
Specifies whether the
Type: |
|
|
Determines whether the minimum spacing applies center-to-center (
Type: |
|
|
Specifies the shapes to which this constraint applies, based on their connectivity.
Type: |
|
|
Specifies that the constraint does not apply to power and ground nets. The default is
Type: |
|
|
Specifies that the rule applies only among cuts with no common parallel run length. Default is false.
Type: |
|
|
Specifies that a neighbor cut would belong to any cut classes. Default is false.
Type: |
|
|
Specifies ranges for the xSpan and ySpan values of cuts.
Type: |
|
|
Specifies that the via spacing applies between two cuts only if each of them has at least twoCuts neighbor cuts at less than the
Type: |
|
|
Specifies that the constraint does not apply if all neighbors are on opposite corners.
Type: |
|
| String | Integer Value | Constraint applies to: |
|---|---|---|

Examples
- Example 1: minAdjacentViaSpacing Edge-to-edge
- Example 2: minAdjacentViaSpacing Center-to-Center
- Example 3: minAdjacentViaSpacing with noParallelRunLength
Example 1: minAdjacentViaSpacing Edge-to-edge
set_constraint_parameter -name numCuts -IntValue 3
set_constraint_parameter -name distance -Value 0.1
set_constraint_parameter -name oaCenterToCenter -BoolValue false
set_layer_constraint -constraint minAdjacentViaSpacing -layer VIA1 -Value 0.11
Extra space is needed for any via with three or more adjacent cuts that are within 0.1. The adjacent vias require spacing greater than or equal to 0.11.
In the following figure, each of the cases shows at most two adjacent vias to any given via, therefore only default spacing is needed.

In the following figure, all the cases show one or more cuts with three or more adjacent cuts and require the minAdjacentViaSpacing spacing, instead of the smaller default spacing.

Example 2: minAdjacentViaSpacing Center-to-Center
set_constraint_parameter -name numCuts -IntValue 2
set_constraint_parameter -name distance -Value 0.2
set_constraint_parameter -name oaCenterToCenter -BoolValue true
set_layer_constraint -constraint minAdjacentViaSpacing -layer VIA1 -Value 0.2
Extra space is needed for any via with two or more adjacent cuts that are within 0.2, measured center-to-center. The adjacent vias require spacing greater than or equal to 0.2, measured center-to-center.
The following figure illustrates how center-to-center measurements are made for determining the number of adjacent vias within distance and the spacing needed for vias that meet the criteria for the minAdjacentViaSpacing constraint.

Example 3: minAdjacentViaSpacing with noParallelRunLength
set_constraint_parameter -name numCuts -IntValue 2
set_constraint_parameter -name distance -Value 0.2
set_constraint_parameter -name oaCenterToCenter -BoolValue true
set_constraint_parameter -name noParallelRunLength -BoolValue true
set_layer_constraint -constraint minAdjacentViaSpacing \
-layer VIA1 -Value 0.2
Specifies that the minimum adjacent via spacing measured center-to-center must be 0.2 user units if there are at least two adjacent vias with no parallel run length within 0.2 user units.

Related Topics
Return to top