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

lxUpdateComponentsAndNets

lxUpdateComponentsAndNets(
d_schCellViewID
d_layCellViewID
[ ?initCreatePins { t | nil } ]
[ ?initGlobalNetPins { t | nil } ]
[ ?initCreatePadPins { t | nil } ]
[ ?initCreateInstances { t | nil } ]
[ ?initCreateBoundary { t | nil } ]
[ ?initCreateSnapBoundary { t | nil } ]
[ ?initDoStacking { t | nil } ]
[ ?initDoFolding { t | nil } ]
[ ?initCreateMTM { t | nil } ]
[ ?deleteUnmatchedInsts { t | nil } ]
[ ?deleteUnmatchedPins { t | nil } ]
[ ?updateReplacesMasters { t | nil } ]
[ ?updateWithMarkers { t | nil } ]
[ ?updateLayoutParameters { t | nil } ]
[ ?updateNetSigType { t | nil } ]
[ ?updateNetMinMaxVoltage { t | nil } ]
[ ?updateNetsOnly { t | nil } ]
[ ?virtualHierarchy { t | nil } ]
[ ?extractSchematic { t | nil } ]
)
=> t / nil

Description

Updates the components and nets for the specified schematic and layout cellviews. If you use the optional arguments, they override the existing environment variables set in the .cdsenv file. The default value for each optional argument corresponds to the default value of the associated environment variable.

Arguments

d_schCellViewID

  

Database ID of the source schematic cellview.

d_layCellViewID

  

Database ID of the layout cellview to be updated.

?initCreatePins

  

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

Environment variable: initCreatePins

?initGlobalNetPins

  

Generates layout pins for the global nets in the schematic.

This option is honored only when ?initCreatePins is set to t.

Environment variable: initGlobalNetPins

?initCreatePadPins

  

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

This option is honored only when ?initCreatePins is set to t.

Environment variable: initCreatePadPins

?initCreateInstances

  

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

Environment variable: initCreateInstances

?initCreateBoundary

  

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

Environment variable: initCreateBoundary

?initCreateSnapBoundary

  

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

This option is honored only when ?initCreateBoundary is set to t.

Environment variable: initCreateSnapBoundary

?initDoStacking

  

Automatically abuts MOS transistors into chains during layout generation.

Environment variable: initDoStacking

?initDoFolding

  

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

Environment variable: initDoFolding

?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.

Environment variable: initCreateMTM

?deleteUnmatchedInsts

  

Deletes layout instances that are no longer present in the schematic and creates markers in the layout view.

Environment variable: deleteUnmatchedInsts

?deleteUnmatchedPins

  

Deletes layout pins that are no longer present in the schematic. Redundant nets and terminals are deleted from the layout view at the same time.

Environment variable: deleteUnmatchedPins

?updateReplacesMasters

  

Updates any existing instances that use an incorrect master with instances that use the correct master.

Use together with ?updateWithMarkers to specify how the new instances are added to the design.

Environment variable: updateReplacesMasters

?updateWithMarkers

  

When set to t, the system puts a marker on the incorrect instance in the layout canvas and renames it name_old. It then creates a new instance with the correct master and places it below the design boundary.

When set to nil, the system updates the instance in place to use the correct master.

This option is honored only when ?updateReplacesMasters is set to t.

Environment variable: updateWithMarkers

?updateLayoutParameters

  

Updates the parameters and parameter values on layout instances to match those on their schematic counterparts. Parameters that are set in layout instances but are not present on their schematic counterparts are not removed.

Environment variable: updateLayoutParameters

?updateNetSigType

  

Updates the layout net signal types to match their schematic counterparts.

Environment variable: updateNetSigType

?updateNetMinMaxVoltage

  

Updates the minimum and maximum voltages on layout nets to match their schematic counterparts.

Environment variable: updateNetMinMaxVoltage

?updateNetsOnly

  

Updates only net assignments and instance, terminal, and net names.

Enabling this option also automatically preserves user-defined bindings. All other options are ignored.

Environment variable: updateNetsOnly

?virtualHierarchy

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

Environment variable: generateVirtualHierarchy

?extractSchematic

  

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.

Environment variable: initCreateSnapBoundary

Value Returned

t

Update components and nets was successful.

nil

Update components and nets failed.

Example

schCV=dbOpenCellViewByType( schLibName schCellName schViewName )
layCV=dbOpenCellViewByType( layLibName layCellName layViewName )
lxUpdateComponentsAndNets(schCV layCV)

Updates the specified layout to match the specified schematic using the default settings from the .cdsenv.

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

Return to top
 ⠀
X