Product Documentation
Virtuoso Studio Design Environment SKILL Reference
Product Version IC23.1, November 2023

dbCreateParamInst

dbCreateParamInst( 
d_cellView 
d_master 
t_name 
l_point 
t_orient 
[ x_numInst 
[ l_params 
[ g_physOnly ] ] ]
) 
=> d_inst / nil 

Description

Creates a parameterized cell instance (of cellview d_master) in the cellview d_cellView with an origin and orientation specified by l_point and t_orient.

The values and types of the parameters for this instance may be optionally specified in l_params. Parameters not specified in l_params are defaulted to the ones defined in the master cellview d_master. Similarly, if l_params is not specified, the instance is created with the same parameters defined in its master. This function creates a named object and has a ROD ID associated with this object.

Arguments

d_cellView

Cellview the instance is placed in.

d_master

Parameterized cell master cellview of the instance to create. This parameter must be a super master; use of a submaster can cause unexpected behavior.The rest of the arguments are identical to those of dbCreateInst except l_params.

t_name

If specified, the instance is named by t_name; if nil the program assigns a unique name to the instance. t_name must obey the syntax of instance names as defined at the beginning of this chapter.

l_point

Origin of the new instance.

t_orient

Orientation of the new instance.

x_numInst

Number of instances; if t_name is given, it overrides any value specified by x_numInst (that is, the number of instances is derived from the name instead of taken from the x_numInst argument). If not specified, the default is one.

l_params

List of l_param, where l_param is list(t_propName t_propType g_value).

g_physOnly

Optional boolean argument that specifies whether the instance is only in physical domain when the argument is t; or it is in both physical and module domain when the argument is nil. Default is nil.

Value Returned

d_inst

The dbObject of the instance.

nil

The instance is not created.

Examples

dbCreateParamInst(inCellView masterCV "inst1" list(0 0) "R0" 1 list(list("w"
"float" 2.0) list("l" "float" 5.0) t))

Additional Information

The following example explains the difference between dbCreateParamInst and dbCreateExtParamInst:

Suppose a super master has parameters A=1 and B= 2. You create a parameter instance with A=2 in a top design and do not specify B, it is inherited.

The effective parameters on the instance will be A=2, B=2.

This top design is saved and purged.

Suppose the super master is modified out of context, and now A=2 and B=1.

You open the top design again and check the parameter instance.

If the parameter instance was first created with dbCreateParamInst, the effective parameters will now be A=2, B=1.

If the parameter instance was first created with dbCreateExtParamInst, the effective parameters will now be A=2, B=2.

This means that, dbCreateExtParamInst fixes the parameter values of unspecified parameters (here, B) so they do not change in the future if the super master is redefined.

Related Topics

rodGetObj

dbCreateExtParamInst


Return to top
 ⠀
X