dbCreateVia
dbCreateVia(
d_cellviewId
d_viaDefId
l_point
t_orient
[ l_paramList ] ]
)
=> d_viaId / nil
Description
Creates a custom or standard via according to the specified viaDef type and the optional parameter list
A via is a design object. It corresponds to the OpenAccess oaVia object.
A via represents a physical connection between two adjacent physical objects, such as path segments, that exist on two different layers. A via references a via definition, the oaViaDef, from the technology database that corresponds to the design.
This function cannot create a custom or standard via using parameters that will create inverted layer and implant enclosure shapes.
Arguments
|
d_cellViewId
|
The database ID of the cellview.
|
|
d_viaDefId
|
Specifies the database ID of the viaDef associated with the via.
|
|
l_point
|
Specifies a list of points for the via.
|
|
t_orient
|
Specifies the orientation of the via.
|
|
l_paramList
|
For custom vias, the values of the parameters can be optionally specified in the parameter list as follows:
l_param, where l_param is list(t_propName g_value)
Custom vias are usually Pcells defined in the PDK. These vias can be defined to have their own parameters and related requirements.
For standard vias, the parameters can be optionally specified in the parameter list.
Standard vias are connections between two adjacent signal layers on the chip being connected. The cut layer is where the chip processing cuts away the oxide between the two adjacent signal layers to provide the connection between them.
The paramList should be a list of lists, each of which is a name value pair.
t_cutLayerName n_cutWidth n_cutHeight x_cutRows
x_cutColumns l_cutSpacing l_layer1Enc l_layer2Enc
l_layer1Offset l_layer2Offset l_originOffset [l_imp1Enc
[l_imp2Enc [t_cutPattern]]]
Do not specify defaults in the parameter list. If the parameter list is not specified, then the default via parameter will be used to create the standard via.
|
|
|
It is possible to partially specify the following 2D standard via parameters:
l_cutSpacing, l_layer1Enc, l_layer2Enc, l_layer1Offset, l_layer2Offset, l_originOffset, l_imp1Enc, l_imp2Enc.
A nil specification is allowed for either the x or y value of the 2D parameter, which implies that the value will be retrieved from the default value on the viaDef.
If implant layer enclosure values are given for a standard via that is associated with a viaDef which does not specify an implant layer, the enclosure values are ignored. No warning message is issued.
|
Value Returned
|
d_viaId
|
When successful, returns the database ID of the via.
|
|
nil
|
nil is returned if the cellview ID is invalid.
|
Examples
Get the cellview ID where you want to place the via
cvId = geGetEditCellView()
Get the technology file id of the library that contains the definition of the via
tech = techGetTechFile(cvId)
Get the id of the viaDef you want to place
viaDefId = techFindViaDefByName(tech "M2_M1v")
viaParams = list(list("cutRows" 3) list("cutColumns" 3))
Place the via at the coordinate, and with orientation you want
newVia = dbCreateVia(cvId viaDefId list(5 5) "R0" viaParams)
Related Topics
Working with Vias
Database Access Function Argument Types
Standard Via Attributes
Interconnect Functions
Return to top