Product Documentation
Virtuoso Technology Data SKILL Reference
Product Version IC23.1, June 2023

techCreateStdViaVariant

techCreateStdViaVariant(
(d_techfileId t_viaVariantName t_viaDefName)
(t_cutLayerName f_cutLayerWidth f_cutLayerHeight)
(n_cutRows n_cutCol (f_cutSpaceX f_cutSpaceY))
(f_layer1EncX f_layer1EncY)
(f_layer2EncX f_layer2EncY)
(f_layer1OffsetX f_layer1OffsetY)
(f_layer2OffsetX f_layer2OffsetY)
(f_origOffsetX f_origOffsetY)
(f_impant1EncX f_implant1EncY)
(f_impant2EncX f_implant2EncY)
(cut_pattern) 
)  
=> d_viaVariantID / nil

Description

Creates a standard via variant in the current technology database. This function will not create a standard via variant by using the parameters that create inverted layer and implant enclosure shapes.

Arguments

d_techfileID

The technology file identifier of the technology database.

t_viaVariantName

The name of the standard via variant to create.

Valid values: Any string unique in the database

t_viaDefName

The name of the standard via definition to create.

Valid values: Any string unique in the database

t_cutLayerName

The name of the cut layer.

Valid values: A string that is the name of a valid layer with the layer function cut defined in the technology database

t_cutLayerWidth

The width, in user units, of a cut.

Valid values: Any positive number

t_cutLayerHeight

The height, in user units, of a cut.

Valid values: Any positive number

n_cutRows

The number of rows in the cut array.

Valid values: Any positive integer

n_cutCol

The number of columns in the cut array.

Valid values: Any positive integer

f_cutSpaceX

The horizontal distance, edge to edge, in user units, between cuts.

Valid values: Any positive floating-point number

f_cutSpaceY

The vertical distance, edge to edge, in user units, between cuts.

Valid values: Any positive floating-point number

f_layer1EncX

The horizontal distance, in user units, from the cut edge to the edge of layer 1.

Valid values: Any floating-point number

f_layer1EncY

The vertical distance, in user units, from the cut edge to the edge of layer 1.

Valid values: Any floating-point number

f_layer2EncX

The horizontal distance, in user units, from the cut edge to the edge of layer 2.

Valid values: Any floating-point number

f_layer2EncY

The vertical distance, in user units, from the cut edge to the edge of layer 2.

Valid values: Any floating-point number

f_layer1OffsetX

The horizontal offset, in user units for layer 1.

Valid values: Any floating-point number

f_layer1OffsetY

The vertical offset, in user units for layer 1.

Valid values: Any floating-point number

f_layer2OffsetX

The horizontal offset, in user units for layer 2.

Valid values: Any floating-point number

f_layer2OffsetY

The vertical offset, in user units for layer 2.

Valid values: Any floating-point number

f_origOffsetX

The horizontal offset for the origin of the via, in user units.

Valid values: Any floating-point number

f_origOffsetY

The vertical offset for the origin of the via, in user units.

Valid values: Any floating-point number

f_impant1EncX

The horizontal distance, in user units, from the edge of layer 1 to the edge of implant layer 1.

Valid values: Any floating-point number

f_impant1EncY

The vertical distance, in user units, from the edge of layer 1 to the edge of implant layer 1.

Valid values: Any floating-point number

f_impant2EncX

The horizontal distance, in user units, from the edge of layer 2 to the edge of implant layer 2.

Valid values: Any floating-point number

f_impant2EncY

The vertical distance, in user units, from the edge of layer 2 to the edge of implant layer 2.

Valid values: Any floating-point number

cut_pattern

The cut pattern for the viaVariant. It is a 2-D array with the value of 0 or 1 for each entry. The value 0 represents no cut for the correspondent cut in the viaVariant. Whereas, the value 1 represents cut for the correspondent cut in the viaVariant.

Value Returned

d_viaVariantID

The technology file was created successfully with the database identifier viaVariantID.

nil

It fails to create stdViaVariant probably because of either the technology database does not exist or there is no definition for a specified layer(s) in the technology database.

Example

v2 = techCreateStdViaVariant(tf "via11" "M1_P" list("cont" 0.5 0.5) list(2 4 list(0.6 0.6) ) list(0.6 0.6) list(0.6 0.6) list(0.0 0.0) list(0.0 0.0) list(0.0 0.0) list(0.0 0.0) list(0.0 0.0) list(list(1 0 10) list(1 1 0 1)))
=> db:0x0601ea16

Returns the standard via variant in the current technology database.


Return to top
 ⠀
X