Product Documentation
Virtuoso Layout Suite SKILL Reference
Product Version IC23.1, November 2023

viaGenerateViasFromShapes

viaGenerateViasFromShapes(
w_windowId | d_cellViewId
l_shapes
t_viaOptionsObject
[ ?topAndBottomLayers lt_topAndBottomLayers ]
[ ?startLevel x_startLevel ]
[ ?stopLevel x_stopLevel ]
) 
=> l_via / nil

Description

Generates vias from the specified shapes with the given via options in the specified window or cellview. If the specified shapes form valid overlaps, vias are created to connect the shapes.

Arguments

w_windowId | d_cellViewId

Window ID or cellview ID. If window ID is specified, the vias are generated in the edited cellview opened in the given window ID. In addition, if a window ID is given, the window settings are respected (layer visibility, edited figGroup, window start and stop level, and selectCreatedObj environment variable).

l_shapes

List of shapes used to compute the overlaps needed to generate the vias.

t_viaOptionsObject

The options used to customize the via generation.

?topAndBottomLayers lt_topAndBottomLayers

Forces the creation of the via between the specified top and bottom layer names even if the via overlaps top and bottom layers that are computed are different. If this argument is not specified, the top and bottom layers of the overlaps are used.

?startLevel x_startLevel

Specifies the start level of the query run to compute the via overlaps. If the start level is not specified, and a window ID is specified as the first argument of the function, the window~>startLevel is used. If the start level is not specified and a cellview ID is specified as the first argument of the function, 0 is used as the value of the start level.

?stopLevel x_stopLevel

Specifies the stop level of the query run to compute the via overlaps. If the stop level is not specified, and a windowID is specified as the first argument of the function, the window~>stopLevel is used. If the stop level is not specified and a cellview ID is specified as the first argument, 0 is used as the value of the stop level.

Value Returned

l_via

Returns the list of created vias.

nil

Returns nil if no via can be created to connect the specified shapes.

Example

techFile = techGetTechFile(ddGetObj("gpdk090"))
constraintGroupId = cstFindConstraintGroupIn(techFile "virtuosoDefaultSetup")
myViaOptions = viaGetViaOptions(constraintGroupId)
cv = deGetCellView()
viaGenerateViasFromShapes(cv cv~>shapes myViaOptions)
 (db:0x172ed51a db:0x172ed51b db:0x172ed51c db:0x172ed51d db:0x172ed51e)

Return to top
 ⠀
X