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

techCreateGenViaDef

techCreateGenViaDef(
d_techID 
t_viaDefName
tx_layer1 tx_layer2
tx_cutLayer [l_extraLayers)(l_parameters)
)
=> d_viaDefID / nil

Description

Creates a generated via definition in the specified technology database. ASCII technology file location: cdsGenViaDefs subsection in the viaDefs section.

For more information, see cdsGenViaDefs in the Virtuoso Technology Data ASCII Files Reference.

Arguments

d_techID

The database identifier of the technology database.

t_viaDefName

The name of the generated via definition to create.

Valid values: Any string unique in the database

tx_layer1

The bottom routing layer of the via.

Valid values: The layer name or the layer number

tx_layer2

The top routing layer of the via.

Valid Values: The layer name or the layer number

tx_cutLayer

The cut layer for the via definition.

l_extraLayers

A list of layers in this format:

'(extraLayers 
    [  (layer1ExtraLayers l_layer1ExtraLayerNames)]
    [  (layer2ExtraLayers l_layer2ExtraLayerNames)]
    [  (cutExtraLayers l_cutExtraLayerNames)]

l_parameters

A list of parameters in this syntax:

'(parameters 
   [(layer1Purpose tx_layer1Purpose)]
   [(layer2Purpose tx_layer2Purpose)]
   [(cutPurpose tx_cutPurpose)]
   [(cutWidth f_cutWidth)]
   [(cutHeight f_cutHeight)]
   [(cutColumns n_cutColumns)]
   [(cutRows n_cutRows)]
   [(cutSpacing f_Xspacing f_Yspacing)]
   [(layer1Enc l_fourEnclosures1)]
   [(layer2Enc l_fourEnclosures2) ]
   [(cutPattern  l_cutPattern ]
   [(alignment t_alignmentType) ]
   [(originOffset (f_Xoffset f_Yoffset) ]
    [(cutArraySpacing f_XarraySpacing f_YarraySpacing)]
   [(version n_version)]
   [(layer1ExtraParams l_layer1ExtraParams)]
   [(layer2ExtraParams l_layer2ExtraParams)]
   [(cutArrayPatternX l_cutArrayPatternX)]
   [(cutArrayPatternY l_cutArrayPatternY)]
  )
The originOffset parameter is valid only when alignment is set to offset.

Value Returned

d_viaDefID

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

nil

The generated via definition could not be created because either the technology database does not exist or there is no definition for the specified layer or layers in the technology database.

Example

techCreateGenViaDef(tech "myGenVia" "Metal1" "Metal2" "Via1"
'(extraLayers 
      (layer1ExtraLayers ("PImplant" "Active"))
      (layer2ExtraLayers ("NImplant"))
      (cutExtraLayers ("Cut2"))
  )
  '(parameters 
      (layer1Purpose "net")
      (layer2Purpose "net")
      (cutPurpose "fill")
      (cutWidth 0.1)
      (cutHeight 0.1)
      (cutColumns 6)
      (cutRows 8)
      (cutSpacing 0.1 0.1)
      (layer1Enc (0 0 0.1 0.1))
      (layer2Enc (0.2 0.2 0.2 0.2))
      (cutPattern ((0 1) (1 0)))
      (alignment "offset")
      (originOffset (0.1 0.1))
      (cutArraySpacing 0.1 0.2)
      (version 1)
      (layer1ExtraParams (
                      ((purpose "net") (enc (0.3 0.3 0.3 0.3)))
                      ((purpose "drawing") (enc (0.2 0.2 0.2 0.2)))
                    )
      )
      (layer2ExtraParams (((purpose "net") (enc (0.3 0.3 0.3 0.3)))))
      (cutArrayPatternX (2 4))
      (cutArrayPatternY (3 5))
  )
)

Creates a via between Metal1 and Metal2. For the Metal1 shape, additional shapes will be generated on PImplant and Active. For the Metal2 shape, an additional shape will be generated on NImplant. For each shape on Via1, an extra shape is generated on the Cut2 layer.


Return to top
 ⠀
X