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

vrtRouteAssisted

vrtRouteAssisted(
d_cvid
[ nets l_nets ]
[ layers l_layers ]
[ regionBox l_regionBox ]
[ ?generateSpine g_generateSpine ]
[ ?spineLayer g_spineLayer ]
[ ?connectPins g_connectPins ]
[ ?generateMesh g_generateMesh ]
[ ?meshBottomLayer t_meshBottomLayer ]
[ ?meshTopLayer t_meshTopLayer ]
[ ?meshSetting l_meshSetting ]
[ ?meshExtendPreRoute g_meshExtendPreRoute ]
[ ?finishRouting g_finishRouting ]
[ ?preferredLayerBottom t_preferredLayerBottom ]
[ ?preferredLayerTop t_preferredLayerTop ]
[ ?postFixTrim g_postFixTrim ]
[ ?postFixMinLength g_postFixMinLength ]
[ ?postFixEolKeepout g_postFixEOLKeepout ] 
[ ?minSkipTrack d_minSkipTrack ] 
[ ?createFigGroup g_createFigGroup ]
) 
=> t / nil

Description

If both Generate Mesh and Finish Routing are selected and top and bottom layers are different in mesh control, Finish Routing starts first and then Generate Mesh.However, if the top and bottom layers are the same in mesh control, Generate Spine starts first and then Finish Routing.

In case, top and bottom layers are the same in Generate Mesh, Generate Spine command starts to create spines.

Arguments

d_cvid

Database ID of the layout cellview of which nets are to be routed. The database ID can be obtained using the geGetEditCellView SKILL function. The default value is the cellview of the current window.

nets l_nets

A list of net name to be routed. If no net list is specified, it routes all the nets in the cellview.

region l_region

A list specifying the lower-left and upper-right coordinates of the region where nets are to be routed. If no region is specified, all nets inside the PR boundary or cell boundary are considered.

layers l_layers

A list of layer names to be routed. If no layer is specified, routing is performed on all layers.

?generateSpine g_generateSpine

Specifies whether to call generate spine within Generate P2T Routing command.

?spineLayer g_spineLayer

A specified target layer for generate spine and Generate P2T Routing commands.

?connectPins g_connectPins

Specifies whether to start spine routing.

?generateMesh g_generateMesh

Specifies whether to start the Generate Mesh Routing command.

?meshBottomLayer t_meshBottomLayer

Specifies the starting layer of mesh routing.

?meshTopLayer t_meshTopLayer

Specifies the ending layer of mesh routing.

?meshSetting l_meshSetting

List of list for mesh routers sub-function setting on the corresponding layer.

?meshExtendPreRoute g_meshExtendPreRoute

Specifies whether to extend the preroute trunks length to the specified region.

?finishRouting g_finishRouting

Specifies whether to start the Finish routing command.

?preferredLayerBottom t_preferredLayerBottom

Specifies the bottom layer of preferred routing layers for the Finish Routing command.

?preferredLayerTop t_preferredLayerTop

Specifies the top layer of preferred routing layers for the Finish Routing command.

?postFixTrim g_postFixTrim

Automatically adds trim shapes to routed nets to fix end-of-line (EOL) constraint violations.

?postFixMinLength g_postFixMinLength

Automatically extend routed pathseg and via shapes to satisfy various min length constraints, such as minLength, minArea, minRectArea, etcetera.

?postFixEolKeepout g_postFixEolKeepout

Whether or not to fix end-of-line keepout DRC violations after routing.

?minSkipTrack d_minSkipTrack

The minimum track number between meshing path segments on Mesh Count mode.

?createFigGroup g_createFigGroup

The name of the fig group to be created that contains all oaFigs included during this routing run. If set to nil, no fig group is created.

Value Returned

t

Nets were successfully routed without any errors.

nil

Routing was unsuccessful due to errors.

Examples

The following example runs Finish Routing with preferred bottom layer as M1 and preferred top layer as M4.

vrtRouteAssisted(geGetEditCellView() ‘("net1") ‘((0.0 0.0) (1.0 1.0)) ‘("M1" "M2" "M3" "M4" "M5" "M6") ?finishRouting t ?preferredLayerBottom "M1" ?preferredLayerTop "M4")

In Assisted Routing mode, run Generate Mesh Routing with mesh bottom layer as M1 and the mesh top layer as M3. Use skipTrack value of 1 for mesh layer M1, meshCount value of 5 for mesh layer M2, and termAlign value of 0 for mesh layer M3.

vrtRouteAssisted(geGetEditCellView() ‘("net1") ‘((0.0 0.0) (1.0 1.0)) ‘("M1" "M2" "M3" "M4" "M5" "M6") ?generateMesh t ?meshBottomLayer "M1" ?meshTopLayer "M4" ?meshSetting ((nil skipTrack 1 layer "M1") (nil meshCount 5 layer "M2") (nil termAlign 1 layer "M3") ) ?meshExtendPreRoute t)

In Assisted Routing mode, run Generate Spine with M1 layer, and run Generate P2T Routing for pins to target M1 spine layer with routable layers from M1 to M4.

vrtRouteAssisted(geGetEditCellView() ‘("net1") ‘((0.0 0.0) (1.0 1.0)) ‘("M1" "M2" "M3" "M4" "M5" "M6") ?generateSpine t ?spineLayer "M1" ?connectPins t ?preferredLayerBottom "M1" ?preferredLayerTop "M4" )

Related Topics

Virtuoso Automated Placement and Routing SKILL Functions

vrtCheckDesign


Return to top
 ⠀
X