bndSetObjectsBinding
bndSetObjectsBinding(
d_schDbID
d_layDbID
)
=> t / nil
Description
Set a binding between schematic and layout objects. The specified objects must be lead instances and must not be bound already. The object ID can be specified in different formats. See the argument description for more information.
Arguments
Value Returned
Additional Information
On the layout side, a leaf instance is an instance in the top level. On the schematic side, a leaf instance is the level at which the CPH stops such that INV1/P0 instance can bind to INV1|P0, but INV1 instance cannot bind to INV1|P0. For transparent instances, such as INV1, you can use INV1/N0 to add a binding to the nmos inside.
Example
bndSetObjectsBinding(dbFindAnyInstByName(schCellViewID"I0")
dbFindAnyInstByName(layCellViewID"I0.1|I2(1)"))
*Error* bndSetObjectsBinding: (BND-3026): Cannot add binding to instance 'I0' because it is not a leaf. Binding can only be set between leaf objects in the schematic and layout objects.
Attempts to bind schematic instance I0 to layout instance I0.1|I2(1), but fails because I0 is not a leaf instance.
I1=dbCreateInstByMasterName(schCellViewID"testcase" "inv" "symbol" "I1" ’(-1.375 1.9375) "R0")
bndSetObjectsBinding(I1 dbFindAnyInstByName(layCellViewID"I0.1|I2(1)"))
*Error* bndSetObjectsBinding: (BND-3023): Cannot add binding to instance '|I0.1|I2(1)' because it is already bound. Use 'bndReplaceObjectsBinding' or 'bndReplaceInstsBindingByName' if you want to replace the existing binding.
Attempts to bind schematic instance I1 to layout instance I0.1|I2(1), but fails because I1 is already bound.
bndSetObjectsBinding(list(dbGetInstByName(scv "R0<0:1>") 0) dbGetInstByName(lcv "Res0"))
Binds the schematic vector bits.
bndSetObjectsBinding(dbGetInstByName(scv "N0") dbGetInstByName(lcv "N0.1"))
bndAddObjectsBinding(dbGetInstByName(scv "N0") dbGetInstByName(lcv "N0.2"))
Binds the schematic instance N0 to layout instances N0.1 and N0.2.
Related Topics
Return to top