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

lxGenFromSource

lxGenFromSource(
d_schCellViewID
[ ?layLibName t_layLibName ]
[ ?layCellName t_layCellName ]
[ ?layViewName t_layViewName ]
[ ?configLib t_configLib ]
[ ?configCell t_configCell ]
[ ?configView t_configView ]
[ ?initCreateInstances { t | nil } ]
[ ?initDoStacking { t | nil } ]
[ ?initDoFolding { t | nil } ]
[ ?initCreatePins { t | nil } ]
[ ?initGlobalNetPins { t | nil } ]
[ ?initCreatePadPins { t | nil } ]
[ ?initCreateBoundary { t | nil } ]
[ ?initCreateSnapBoundary { t | nil } ]
[ ?lxPositionMinSep n_lxPositionMinSep ]
[ ?lxGenerateInBoundary { t | nil } ]
[ ?initCreateMTM { t | nil } ]
[ ?extractAfterGenerateAll { t | nil } ]
[ ?extractSchematic { t | nil } ]
[ ?ignoreSchematicCheck { t | nil } ]
[ ?initPrBoundaryShape t_initPrBoundaryShape ]
[ ?initPrBoundaryOrigin l_initPrBoundaryOrigin ]
[ ?initPrBoundaryPoints l_initPrBoundaryPoints ]
[ ?initAreaSource1 t_initAreaSource1 ]
[ ?areaCalc t_areaCalc ]
[ ?initAreaSource2 t_initAreaSource2 ]
[ ?initAreaSource1Val n_initAreaSource1Val ]
[ ?initAreaSource2Val n_initAreaSource2Val ]
[ ?virtualHierarchy { t | nil } ]
[ ?softBlocks { t | nil } ]
[ ?softBlockArea { t | nil } ]
[ ?useAreaBoundaryUtilization { t | nil } ]
[ ?areaBoundaryEnclosure n_areaBoundaryEnclosure ]
[ ?allAreaBoundaries { t | nil } ]
)
=> dbCellViewID

Description

Generates a layout from a specified schematic cellview. If you do not specify the layout library, cell, and view names, the layout view is created with the same name as the schematic cell. If you do not specify the physConfig library, cell and view names, the layout view is created with the same name as the layout cell with physConfig as the default physConfigView. If you use the optional arguments, they override the existing environment variables set in the .cdsenv file.

Arguments

d_schCellViewID

  

Database ID of the source schematic cellview.

?layLibName "layLibName"

Name of the library in which the layout is to be generated.

?layCellName "layCellName"

  

Name of the layout cell to be generated.

?layViewName "layViewName"

  

Name of the layout view to be generated.

?configLib t_configLib

Name of the library in which the physical configuration is stored.

?configCell t_configCell

  

Name of the cell in which the physical configuration is stored.

?configView t_configView

  

Name of the view in which the physical configuration is stored.

?initCreateInstances

  

Generates all the instances in the schematic that do not have one of the ignore properties attached to them.

?initDoStacking

Automatically abuts MOS transistors into chains during layout generation.

?initDoFolding

Automatically splits devices into fingers to prevent gate width from exceeding a specific size.

?initCreatePins

  

Generates the pins in the design and snaps them to the placement grid.

?initGlobalNetPins

Generates layout pins for the global nets in the schematic.

This argument is honored only if ?initCreatePins is set to t.

?initCreatePadPins

Generates layout pins and pads for schematic pins that are connected to I/O pads.

This argument is honored only if ?initCreatePins is set to t.

?initCreateBoundary

  

Generates a place and route boundary based on the settings you make in the Boundary tab of the Generate Layout form.

?initCreateSnapBoundary

Generates a rectangular snap boundary that encloses the generated place and route boundary.

This argument is honored only if initCreateBoundary is also t.

?lxPositionMinSep n_lxPositionMinSep

  

Positions the instances in the layout at a minimum separation based on the user-defined value.

?lxGenerateInBoundary

Generates layout representations within the design boundary when the Generate All From Source command is run.

?initCreateMTM

Preserves user-defined one-to-one, many-to-many, many-to-one, and one-to-many device correspondence defined in the Define Device Correspondence form. It does not preserve user-specified internal bindings made using the Choose Binding form; nor does it report missing devices or shapes within a bound group.

?extractAfterGenerateAll

Automatically extracts the connectivity of the layout design after layout generation is complete.

?extractSchematic

Automatically extracts the schematic design if required.

If the schematic needs to be extracted and this option is not set, the system issues a message and layout generation stops.

?ignoreSchematicCheck

Overrides the value of the ?extractSchematic option.

Use this option to restore the default behavior of releases prior to IC 6.1.4, whereby if schematic extraction is required, lxGenFromSource issues a warning and asks you to rerun the function, but generates the layout in any case.

?initPrBoundaryShape t_initPrBoundaryShape

Specifies the shape of the prBoundary. The valid shapes are Rectangle and Polygon.

The default shape of the prBoundary is Rectangle.

?initPrBoundaryOrigin l_initPrBoundaryOrigin

Specifies the co-ordinates of the prBoundary’s origin.

This argument is required when initPrBoundaryShape is set to rectangle.

?initPrBoundaryPoints l_initPrBoundaryPoints

Specifies the set of points that define the vertices of the prBoundary when the selected boundary shape is polygon.

This is a required argument when initPrBoundaryShape is set to polygon.

?initAreaSource1 t_initAreaSource1

Specifies the first parameter that defines how the area of the prBoundary must be calculated.

The valid values for this argument are:

  • Utilization
  • AspectRatio
  • BoundaryWidth
  • BoundaryHeight

The default value is Utilization.

?areaCalc t_areaCalc

Specifies the area calculation function to use.

The valid values are PR Boundary and BBox.

The default is PR Boundary.

?initAreaSource2 t_initAreaSource2

Specifies the second parameter that defines how the area of the prBoundary must be calculated. The value of this argument must be different from the value set for initAreaSource1.

The valid values for this argument are:

  • Utilization
  • AspectRatio
  • BoundaryWidth
  • BoundaryHeight

The default value is AspectRatio.

?initAreaSource1Val n_initAreaSource1Val

Specifies the value of the parameter specified by initAreaSource1, which will be used to calculate the area of the PR Boundary.

The default value is 0.25, which is determined using the environment variables initUtilization, initAspectRatio, initPRBoundaryW and initPRBoundaryH.

The value you specify using this argument is considered to be equivalent to <value>%/100. Therefore, a value of 100 specified using the argument will result in an effective area utilization value of:

100%/100 = 1

?initAreaSource2Val n_initAreaSource2Val

Specifies the value for the parameter specified by initAreaSource2, which will be used to calculate the area of the PR Boundary.

The default value is 1, which is determined using the environment variables initUtilization, initAspectRatio, initPRBoundaryW and initPRBoundaryH.

?virtualHierarchy

Generates virtual hierarchy for schematic symbols that do not have any corresponding layouts.

The default value is nil.

?softBlocks

Generates soft blocks for schematic symbols that have a missing schematic.

The default value is t, but for the soft block to be created the ?virtualHierarchy argument should also be set to t.

?softBlockArea n_softBlockArea

Specifies the area of the soft block.

The default is 100.0.

?useAreaBoundaryUtilization

Controls whether the areaBoundaryUtilization environment variable is used to determine the area boundary size for the virtual hierarchy.

The default is nil, which means the areaBoundaryEnclosure environment variable is used to calculate the size of the area boundary.

?areaBoundaryEnclosure  n_areaBoundaryEnclosure

Specifies the floating point value that defines the the minimum distance from the area boundary edge to the instances inside.

?allAreaBoundaries

Controls whether the specified area boundary settings are used for generating the virtual hierarchies at all levels in the hierarchy or only for the top-level virtual hierarchy.

The default is nil, which means the specified area boundary settings are used only for generating the virtual hierarchy area boundaries for the top-level virtual hierarchy.

Value Returned

dbCellViewID

Database ID of the generated layout cellview.

Examples

Generates a layout for the schematic cellview, schCV, in the layout view, layoutNew. layoutNew is the argument specified by layViewName in the same library cell as the schematic, using the default environment variable settings from the .cdsenv:

schCV=dbOpenCellViewByType( schLibName schCellName schViewName )
lxGenFromSource( schCV ?layViewName "layoutNew")

You must perform an explicit dbSave after you have generated the new layout cellview.

Generates a layout for the schematic cellview, schCV, using a predefined physConfig (configLib, configCell, configView).

schCV=dbOpenCellViewByType( schLibName schCellName schViewName )
lxGenFromSource( schCV ?configLib "configLib" ?configCell "configCell"
?configView "configView")
By default configLib and configCell are same as schematic cellview and configView is physConfig.

Generates a virtual hierarchy for the missing schematic symbols in the schematic cellview, scv.

lxGenFromSource(scv
?layLibName lcv~>libName
?layCellName lcv~>cellName
?layViewName lcv~>viewName
?initDoFolding t
?lxGenerateInBoundary t
?initAreaSource1 "Utilization"
?initAreaSource1Val 0.15
?initAreaSource2 "AspectRatio"
?initAreaSource2Val 1.0
?virtualHierarchy t
?softBlocks nil
?softBlockArea 200
?areaBoundaryEnclosure 1.0
?allAreaBoundaries t)

Return to top
 ⠀
X