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

lxUpdateBinding

lxUpdateBinding(
d_layCV
[ ?schCV d_schCV ]
[ ?nameOnly { t | nil } ]
[ ?currentLevel { t | nil } ]
[ ?extract { t | nil } ]
[ ?clearConn { t | nil } ]
[ ?extractStopLevel [0-32] ]
[ ?preserveUserBindings { t | nil } ]
[ ?preserveLayoutHierarchy { t | nil } ]
[ ?flattenLayoutCreate { Synchronized Family | Grouped Objects| Free Objects } ]
[ ?bindingFile t_fileName ]
[ ?crossRefFile t_fileName ]
[ ?extractedNetlistFile t_fileName ]
[ ?PVSRulesFile t_fileName ]
[ ?PVSScale n_PVSScale ]
[ ?correctMaster { t | nil } ]
[ ?ignoreRouteCells { t | nil } ]
[ ?ignoreDummies { t | nil } ]
[ ?preserveExistingBindings { t | nil } ]
[ ?hierarchical { t | nil } ]
[ ?allCellsInDesign { t | nil } ]
[ ?createTransparent { t | nil } ]
[ ?createPinsFromLabels { t | nil } ]
[ ?checkDuplicateObjects { t | nil } ]
[ ?removeDuplicateObjects { t | nil } ]
[ ?readOnlyLayout  { t | nil } ]
)
=> 0 – 100 / -1

Description

Improves the binding between the schematic and the layout by setting options that control how the connectivity, the manual bindings, and the design hierarchy is processed. If a log file name is specified for the hierSummaryLogFileName environment variable, the SKILL function prints the summary information to the specified log file, in addition to printing the information to the default Virtuoso log file

Arguments

d_layCV

  

The database ID of the layout cellview for which the bindings are to be improved.

d_schCV

  

The database ID of the schematic cellview for which the bindings are to be improved.

?nameOnly

Binds by name, if true.

The default is nil, which means instances are bound based on connectivity.

?currentLevel

  

Binds at the current level, if true.

The default is t.

If set to nil, the schematic and layout hierarchies are flattened to find leaf-level bindings. The Update Binding command is run hierarchically for the current layout.

?extract

Performs physical connectivity extraction to ensure that the layout connectivity is up-to-date.

The default is t.

The extraction can only be disabled if currentLevelis set to t and clearConn is set to nil.

?clearConn

Removes the logical connectivity in the layout cellview.

The default is nil.

?extractStopLevel

Specifies the hierarchy depth for extraction.

The default is 0.

The extraction depth must be an integer between 0 and 32.

?preserveUserBindings

  

Preserves the user-defined bindings created by using Define Device Correspondence.

The default is t.

If set to nil, all the user-defined bindings will be deleted.

?preserveLayoutHierarchy

  

If set to t, the layout hierarchy is preserved and complex bindings are created for hierarchy mismatches between the schematic and the layout.

If createTransparent is set to t, the preserveLayoutHierarchy argument can set instances to be transparent instead of creating complex bindings.

If preserveLayoutHierarchy is set to nil, layout instances are flattened to match the schematic hierarchy.

The default is nil.

?flattenLayoutCreate

  

If the layout hierarchy is not preserved, optionally creates fig groups or synchronous clones for flattened layout instances.

The default is "Synchronized Family".

The value that you specify for this argument should be enclosed in quotation marks, such as ("Synchronized Family" | "Grouped Objects" | "Free Objects").

?bindingFile t_fileName

  

Path to the binding file that is created by the lxCreateBndFile SKILL function.

?crossRefFile t_fileName

  

Path to the PVS instance cross-reference file to be used for creating the binding file.

PVS creates a .ixf cross-reference file in the svdb directory of the PVS run directory when using the PVS Create QRC Input Data option.

?extractedNetlistFile t_fileName

  

Path to the extracted layout CDL netlist file to be used for creating the binding file.

PVS creates a .net extracted netlist file in the svdb directory of the PVS run directory when using the PVS Create QRC Input Data option. If a .net file is unavailable, the binding file can be created using a .spi file.

?PVSRulesFile t_fileName

Path to the PVS rule file to be used for creating the binding file if the scale at which PVS was run is different from the layout scale.

If the scale at which PVS was run is the same as the layout scale, the binding file can be created, as usual, based only on the instance cross reference file and the extracted netlist file.

?PVSScale n_PVSScale

Specifies the floating point input scale for running PVS.

By default, the input_scale is 0, which means that dbuPerUu for the layout is used. But, if the PVS input scale is different from that of the layout, and the PVS rule file is specified, the PVS rule deck is parsed to determine the appropriate value. Alternatively, you can specify the PVS input scale to be used.

?correctMaster

Binds a schematic and layout instance if the layout instance has a master that corresponds to the physical binding defined in the CPH window.

If the current physical binding does not match the bound layout instance, the SKILL function updates the physical bindings in CPH. The physical bindings in CPH can only be updated when the bindings are not already in use.

The default is t.

?ignoreRouteCells

Adds an ignore property on layout instances that are identified as route cells to ignore the instances for binding.

Route cells are identified as cells that have no devices using extract stop layers. For cases when no extract stop layers are defined, route cells are identified as the ones that have no terminals but only metal or cut shapes.

?ignoreDummies

Ignores any unbound, potential dummy instances that are identified during a binding run.

?preserveExistingBindings

Preserves not only the user bindings but also any existing bindings, if set to t.

The default is nil.

If set to nil, all previous bindings, including any user-defined bindings previously added, will be deleted.

For the user-defined bindings to be deleted when preserveExistingBindings is set to nil, preserveUserBindings must also be set to nil.

?hierarchical

Runs the Update Binding command at current level for each layout cellview in the current layout design hierarchy.

The default value is nil.

When set to t:

  • The Update Binding command is run at the current level for each layout and schematic cellview pair found in the design hierarchy. At the end of the command, the XL status is displayed for each layout cellview with connectivity reference, and a list of layout cellviews with no connectivity reference is also displayed.
    The XL status provides information on:
    • Number of bound, unbound, and ungenerated instances
    • Master, parameter, and connectivity differences
    • List of cellviews identified as leafs
  • The Update Binding command prints the summary information to the specified log file, in addition to printing the information to the default Virtuoso log file, when a log file name is specified for the hierSummaryLogFileName environment variable.

?allCellsInDesign

Binds all non-leaf cellviews at current level by using their corresponding connectivity reference.

The default is nil.

This argument provides the same functionality as ?hierarchical, which is being supported to allow backward compatibility.

?createTransparent

Preserves the layout hierarchy and sets instances as transparent, so that bindings between the leaf-level instances within the instance master and their schematic instances can be created.

?createPinsFromLabels

Creates pins from labels, if the label text or text display matches an ungenerated schematic terminal name. createPinsFromLabels

?checkDuplicateObjects

Checks and reports duplicate instances, shapes, and vias in the layout cellview.

?removeDuplicateObjects

Checks and removes duplicate instances, shapes, and vias from the layout cellview.

?readOnlyLayout     

When set to t, runs on a read-only layout without DM system prompting the user to change from read-only to edit mode. The default is nil.

Value Returned

0-100

The average compliance.

nil

The check failed.

Example 1

lxUpdateBinding(layCV ?schCV schCV ?clearConn t ?preserveUserBindings nil ?preserveExistingBindings nil ?preserveLayoutHierarchy nil ?flattenLayoutCreate "Group" ?bindingFile "./inv.bnd" ?hierarchical nil)

Updates the binding between the schematic and layout cellviews using the binding file "./inv.bnd", Deletes the logical connectivity and user bindings, and flattens the layout hierarchy. For any flattened layout instances, adds the flattened instances to a figGroup.

lxUpdateBinding(layCV ?schCV schCV ?preserveLayoutHierarchy t ?crossRefFile "./inv.ixf" ?extractedNetlistFile "./inv.net)

Updates the binding between the schematic and layout cellviews using the PVS instance cross-reference file "./inv.inf" and the extracted layout CDL netlist file "inv.net", preserving the logical connectivity, user bindings, and the layout hierarchy.


Return to top
 ⠀
X