Product Documentation
Virtuoso Layout Suite SKILL Reference
Product Version IC23.1, November 2023

techSetLxNoOverlapLayers

techSetLxNoOverlapLayers(
d_techFileID
l_noOverlapLayers
)
=> t / nil

Description

Creates a list of layers that cannot overlap. The function creates a derived layer by performing an AND operation on each pair of layers and flags the resultant layer as an error layer in the virtuosoDefaultExtractorSetup constraint group in the specified technology file. Each derived layer is defined in the techDerivedLayers subsection in the layerDefinitions section of the technology file and is listed as an errorLayer in the interconnect subsection of the constraint group.

No overlap derived layers are named and numbered consecutively; each is named noOverlapLayern, where n is the next available consecutive integer. If any of the necessary technology file sections does not already exist, this function creates them.

Arguments

d_techFileID

Database ID of the technology file.

l_noOverlapLayers

A list of lists of layer pairs that cannot overlap. The list has the following syntax.

list ( list ( tx_layer1 tx_layer2 ) … )

tx_layer1 is first of two layers that cannot overlap.
Valid Values: Layer name or number

tx_layer2 is second of two layers that cannot overlap.
Valid Values: Layer name or number

Value Returned

t

The derived layers were created, defined in the techDerivedLayers subsection, and listed as error layers in the constraint group.

nil

The technology file does not exist.

Examples

techSetLxNoOverlapLayers( techFileID list( list( "poly1" "ndiff" )
list( "poly1" "diff" ) list( "metal1" "pdiff" ) )
=> t

Creates three derived layers in the technology file identified by techFileID.

techDerivedLayers(
; ( DerivedLayerName # composition))
( noOverlapLayer1 10001 ( poly1 'and pdiff ))
( noOverlapLayer2 10002 ( poly1 'and diff ))
( noOverlapLayer3 10003 ( metal1 'and pdiff ))
;techDerivedLayers

Shows the techDerivedLayers subsection in the layerDefinitions section. Assuming that these are the first three no overlap derived layers created, they would be named noOverlapLayer1, noOverlapLayer2, and noOverlapLayer3 and are listed as error layers in the virtuosoDefaultExtractorSetup constraint group.

("virtuosoDefaultExtractorSetup"   nil

interconnect(
( validLayers (cont nwell metal3 metal2 via2 via metal1 poly1 diff pdiff ndiff isolation buried pwell ) )
( errorLayer noOverlapLayer1 )
( errorLayer noOverlapLayer2 )
( errorLayer noOverlapLayer3 )
) ;interconnect

);virtuosoDefaultExtractorSetup


Return to top
 ⠀
X