viaAutoViaEnclosureDirection
layout.ava viaAutoViaEnclosureDirection cyclic { "XY" | "wire" | "minArea" | "horizontal" | "vertical" }
Description
Specifies the preferred enclosure direction for the via engine in auto mode. This environment variable defines the way enclosures are set in a via when there are minOppositeExtension rules in the technology file.
-
XY: Specifies the X and Y coordinates of the via in the left right and top bottom directions. For example,(minOppExtension "Metal1" "Via1" (0.0 0.03)). This rule means that the Metal1 enclosure around Via1 should be 0.0 in one direction and 0.03 in the other (opposite) direction. -
wire: The wire associated with the via is queried and, if found, its direction is used to compute the enclosure direction, the higher enclosure value in the wire direction. For example, if the via Metal1-Metal2 connect two vertical pathseg, the wire direction is vertical, 0.03 is applied in the Y (top/bottom) direction and 0 in the X (left/right) direction for both the layers. In case the via connects two orthogonal pathsegs, the direction of the Metal1 pathseg is used to determine the enclosure direction for the rule, (minOppExtension "Metal1" "Via1" (0.0 0.03)), and the Metal2 pathseg for the rule,( minOppExtension "Metal2" "Via1" (0.0 0.03)). -
minArea: This is the default value. The enclosure direction is chosen to minimize the via area for each layer. Depending on the size of thecutBox, the enclosure is applied in one direction or the other. For example, for a 1x10 via (big via in X, small in Y) the0.03in( minOppExtension "Metal1" "Via1" (0.0 0.03) )is applied in X because it leads to a smaller area ofMetal1than setting the0.03in Y. -
horizontal: The higher enclosure value in the horizontal direction. In the example,( minOppExtension "Metal1" "Via1" (0.0 0.03) ),0.03is applied in left/right coordinates and0is applied in top/bottom coordinates. -
vertical:The higher enclosure value in the vertical direction. In the example,( minOppExtension "Metal1" "Via1" (0.0 0.03) ),0.03is applied in top/bottom coordinates and 0 is applied in left/right coordinates.
GUI Equivalent
Examples
envGetVal("layout.ava" "viaAutoViaEnclosureDirection")
envSetVal("layout.ava" "viaAutoViaEnclosureDirection" 'cyclic "XY")
envSetVal("layout.ava" "viaAutoViaEnclosureDirection" 'cyclic "wire")
envSetVal("layout.ava" "viaAutoViaEnclosureDirection" 'cyclic "vertical")
Related Topics
Return to top