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

lxVirtualHierarchyMakeCell

lxVirtualHierarchyMakeCell(
d_layCellViewID
l_virtHiers
[ ?lib { libName | nil } ]
[ ?cell { cellName | nil } ]
[ ?view { viewName | nil } ]
[ ?cellType { softMacro | none | digital softMacro | block } ]
[ ?overWriteCV { t | nil } ]
[ ?allClones { t | nil } ]
[ ?allLevels { t | nil } ]
[ ?pinsChoice { Congestion aware | On boundary | Below boundary | Promote pins } ]
[ ?deleteVirtualPins { t | nil } ]
[ ?pushIntoBlock { t | nil } ]
[ ?pushRoutesAsBlockages { t | nil } ]
[ ?pushInternalRoutesOnly { t | nil } ]
)
=> l_layCellViewID / nil

Description

Creates real cellviews for the specified virtual hierarchies.

Arguments

d_layCellViewID

Database ID of the layout cellview containing the virtual hierarchies to be replaced with real cellviews.

l_virtHiers

Database IDs of the virtual hierarchy figGroups to be made into real cellviews.

?lib

Name of the library to be used for creating a cellview for a virtual hierarchy.

When the allLevels argument is enabled or multiple virtual hierarchies need to be created, the library name to use is determined by the matching schematic hierarchy for each virtual hierarchy. This is also the case if library name is not specified.

?cell

Name of the cell to be used for creating a cellview for a virtual hierarchy.

When the allLevels argument is enabled or multiple virtual hierarchies need to be created, the cell name to use is determined by the matching schematic hierarchy for each virtual hierarchy. This is also the case if library name is not specified.

?view

Name of the view to be used for creating a cellview for a virtual hierarchy.

If a view name is not specified, the default view name, layout_variant_1 is used. The subsequent view names are then automatically incremented to layout_variant_2, and so on.

?cellType

Specifies the type of cell to be created for the selected virtual hierarchy.

  • softMacro creates a soft block type cellview.
  • none creates a custom cell type.
  • digital softMacro creates a soft block with hierarchy for a block of type digital.
  • block creates hard macros that can be supported by macro placers, Virtuoso Layout Suite XL commands such as Load Physical View, and other applications that support only macros and blocks.

Environment variable: makeCellType

?overwriteCV

Overwrites an existing cellview when creating the new one.

Environment variable: makeCellOverwriteLayout

?allClones

Replaces all the clones of the selected virtual hierarchy with the new cellview.

Environment variable: makeCellVirtualClones

?allLevels

Replaces the selected virtual hierarchy and all the virtual hierarchy levels inside the selected virtual hierarchy with a new cellview.

Environment variable: makeCellAllLevels

?pinsChoice

Specifies the options for creating interface pins on the made cellview for the selected virtual hierarchy.

  • Congestion aware runs the congestion-aware global router to automatically create pins on the boundary of the virtual hierarchy.
  • On boundary creates pins on the boundary of the virtual hierarchy, ensuring the shortest possible net length in the direction of routing.
  • Below boundary creates pins just below the boundary of the virtual hierarchy.
  • Promote pins extends pins from lower levels of a virtual hierarchy to a higher level.

Environment variable: makeCellPinsChoice

?deleteVirtualPins

Deletes any existing virtual pins in the specified virtual hierarchies.

Environment variable: makeCellDeleteVirtualPins

?pushIntoBlock

Pushes overlapping routes, blockages, rows, and width spacing patterns into the made cellview.

Environment variable: makeCellPushInBlock

?pushRoutesAsBlockages

Pushes overlapping routes as blockages into the made cellview. This argument can be specified only when ?pushIntoBlock is enabled.

Environment variable: makeCellPushRoutesAsBlockages

?pushInternalRoutesOnly

Pushes only the internal routes into the made cellview. This argument can be specified only when ?pushIntoBlock is enabled.

Environment variable: makeCellPushInternalRoutesOnly

Value Returned

l_layCellViewID

List of layout cellview IDs created by the command.

nil

The command failed.

Examples

Creates a cellview for virtual hierarchy “I1”. The lib cellview should be “libB” “cell1” “layout”, the type should be “softMacro”, and pin creation should be below boundary.

lcv = dbOpenCellViewByType("libA" "top" "layout" "maskLayout" "a")
vh1 = dbGetFigGroupByName(lcv "I1")
lxVirtualHierarchyMakeCell(lcv1 list(vh1) ?lib "libB" ?cell "cell1" ?view "layout"
?cellType "softMacro" ?allLevels nil ?pinsChoice "Below boundary")

Related Topics

Make Cell Command


Return to top
 ⠀
X