viaAutoViaEnclosureDirection
layout viaAutoViaEnclosureDirection cyclic {"XY" | "wire" | "minArea" | "horizontal" | "vertical"}
Description
Specifies the preferred enclosure direction for the via engine in auto mode as either XY, wire, minArea, horizontal, or vertical. This environment variable defines the way enclosures are set on the 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 direction. 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 to 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, thus 0.03 will be applied in Y (top/bottom) and 0 in X (left/right) for both the layers. In case the via connect 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: Default. The enclosure direction is chosen to minimize the via area for each layer. Depending on the size of thecutBox, the enclosure will be 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) )will be 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" "viaAutoViaEnclosureDirection")
envSetVal("layout" "viaAutoViaEnclosureDirection" 'cyclic "XY")
envSetVal("layout" "viaAutoViaEnclosureDirection" 'cyclic "wire")
envSetVal("layout" "viaAutoViaEnclosureDirection" 'cyclic "vertical")
Related Topics
Return to top