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

techCreateStdViaDef

techCreateStdViaDef(
d_techID 
t_viaDefName
t_layer1Name
t_layer2Name
l_cutLayerInfo
l_cutArrayInfo
ln_layer1Enc
ln_layer2Enc
ln_layer1Offset
ln_layer2Offset
ln_originOffset
[ t_imp1 ln_imp1Enc
[ t_imp2 ln_imp2Enc ] ]
)
=> d_viaDefID / nil

Description

Creates a standard via definition in the specified technology database. This function will not create a standard via definition if the default parameters result in inverted shapes.

Arguments

d_techID

The database identifier of the technology database.

t_viaDefName

The name of the standard via definition to create.

Valid values: Any string unique in the database

t_layer1Name

The name of the bottom routing layer of the via.

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

t_layer2Name

The name of the top routing layer of the via.

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

l_cutLayerInfo

A list defining the cut layer. The list has the following syntax:

list ( t_cutLayerName n_cutWidth n_cutHeight
[
n_resPerCut ] )

  • t_cutLayerName is 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

  • n_cutWidth is the width, in user units, of a cut.
    Valid values: Any positive number
  • n_cutHeight is the height, in user units, of a cut.
    Valid values: Any positive number
  • f_resPerCut is the resistance per cut.
    Valid values: Any non-negative floating-point number

l_cutArrayInfo

A list defining the cut array. The list has the following syntax:

list ( x_cutRows x_cutColumns ln_cutSpace )

  • x_cutRows is the number of rows in the cut array.
    Valid values: Any positive integer
  • x_cutColumns is the number of columns in the cut array.
    Valid values: Any positive integer
  • ln_cutSpace is a list defining the distance between cuts and has the following syntax:
    list ( f_xCutSpacing f_yCutSpacing )
    • f_xCutSpacing is the horizontal distance, edge to edge, in user units, between cuts.
      Valid values: Any positive floating-point number
    • f_yCutSpacing is the vertical distance, edge to edge, in user units, between cuts.
      Valid values: Any positive floating-point number

ln_layer1Enc

A list defining the distance from the cut edge to the edge of layer 1. The list has the following syntax:

list ( f_layer1XEnc f_layer1YEnc )

  • f_layer1XEnc is the horizontal distance, in user units, from the cut edge to the edge of layer 1.
    Valid values: Any floating-point number
  • f_layer1YEnc is the vertical distance, in user units, from the cut edge to the edge of layer 1.
    Valid values: Any floating-point number

ln_layer2Enc

A list defining the distance from the cut edge to the edge of layer 2. The list has the following syntax:

list ( f_layer2XEnc f_layer2YEnc )

  • f_layer2XEnc is the horizontal distance, in user units, from the cut edge to the edge of layer 2.
    Valid values: Any floating-point number
  • f_layer2YEnc is the vertical distance, in user units, from the cut edge to the edge of layer 2.
    Valid values: Any floating-point number

ln_layer1Offset

A list defining the offset for layer 1. The list has the following syntax:

list ( f_layer1XOffset f_layer1YOffset )

  • f_layer1XOffset is the horizontal offset, in user units.
    Valid values: Any floating-point number
  • f_layer1YOffset is the vertical offset, in user units.
    Valid values: Any floating-point number

ln_layer2Offset

A list defining the offset for layer 2. The list has the following syntax:

list ( f_layer2XOffset f_layer2YOffset )

  • f_layer2XOffset is the horizontal offset, in user units.
    Valid values: Any floating-point number
  • f_layer2YOffset is the vertical offset, in user units.
    Valid values: Any floating-point number

ln_originOffset

A list defining the offset for the origin of the via. The list has the following syntax:

list ( f_originXOffset f_originYOffset )

  • f_originXOffset is the horizontal offset for the origin of the via, in user units.
    Valid values: Any floating-point number
  • f_originYOffset is the vertical offset for the origin of the via, in user units.
    Valid values: Any floating-point number

t_imp1

The implant layer 1 of the via.

Valid values: The layer name or the layer number

ln_imp1Enc

A list defining the distance from the edge of layer 1 to the edge of implant layer 1. The list has the following syntax:

list ( f_imp1XEnc f_imp1YEnc )

  • f_imp1XEnc is 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_imp1YEnc is 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

t_imp2

The implant layer 2 of the via.

Valid values: The layer name or the layer number

ln_imp2Enc

A list defining the distance from the edge of layer 2 to the edge of implant layer 2. The list has the following syntax:

list ( f_imp2XEnc f_imp2YEnc )

  • f_imp2XEnc is 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_imp2YEnc is 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

Value Returned

d_viaDefID

The standard via definition was created successfully with the database identifier viaDefID.

nil

The technology database does not exist or there is no definition for a specified layer or layers in the technology database.

Example

myVia=techCreateStdViaDef(tfID "myVia" "M1" "M2"
list("VIA1" 0.5 0.5 5.0) list(2 2 '(0.15 0.15))
'(0.05 0.005) '(0.1 0.01) '(0.0 0.0) '(0.3 0.3) '(0.7 0.7) )
db:0x00ca233d

Creates the standard via definition named myVia in the technology database identified by tfID.


Return to top
 ⠀
X