bndReplaceObjectsBinding
bndReplaceObjectsBinding(
d_schDbID
d_layDbID
)
=> t / nil
Description
Sets a binding between specified schematic and layout objects, replacing any existing bindings in the process. The specified objects must all be lead objects. 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.
Arguments
Value Returned
Example
Sets a binding between schematic instance I1 and an already-bound layout instance I0.1|I2(1). The existing binding for I0.1|I2(1) is removed.
I1=dbCreateInstByMasterName(schCellViewID"testcase" "inv" "symbol" "I1" ’(-1.375 1.9375) "R0")
bndReplaceObjectsBinding(I1 dbFindAnyInstByName(layCellViewID"I0.1|I2(1)"))
t
Attempts to set a binding between schematic instance I0 and layout instance I0.1|I2(1) but fails because I0 is not a leaf object.
bndReplaceObjectsBinding(dbFindAnyInstByName(schCellViewID"I0")
dbFindAnyInstByName(layCellViewID"I0.1|I2(1)"))
*Error* bndReplaceObjectsBinding: (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.
Binds I1 either to an nmos or a pmos, because I1 is an inverter.
bndReplaceObjectsBinding(i1 list(dbFindAnyInstByName(layCVId "N0") dbFindAnyInstByName(layCVId "P0"))
bndReplaceObjectsBinding(list(dbGetInstByName(scv "R0<0:1>") 0) dbGetInstByName(lcv "R0(0)"))
Binds the vector bits on the schematic side.
bndReplaceObjectsBinding(list(dbGetInstByName(scv "R0<0:1>") 1) dbGetInstByName(lcv "R0(1)"))
Return to top