next up previous contents index
Next: The ReadCdsLmap keyword Up: CadenceTM Compatibility Previous: Display Resource File   Contents   Index

Technology File

Both Virtuoso 5.x and 6.x technology files can be read. Far more information can be obtained from 6.x (OpenAccess) technology files, however. This includes:

This will provide a much more complete starting point from the technology file provided with a foundry kit. However, this still may be incomplete. For example, a typical technology file may provide thickness values for conductors only, not insulators.

The tree below shows the hierarchy of the nodes that are recognized in the technology file. Most of these are ignored. Below we describe the nodes that are actually used, and what information they provide.

Below, nodes that were added for Virtuoso 6.1.4 are marked marked with an asterisk. The
constraintGroups listing is greatly simplified, there is actually far more stucture than indicated.

    include
    comment
    controls
        techParams
        techPermissions
        viewTypeUnits *
        mfgGridResolution *
    layerDefinitions
        techLayers
        techPurposes
        techLayerPurposePriorities
            techDisplays
            techLayerproperties
            techDerivedLayers *
    layerRules
        functions *
        routingDirections *
        stampLabelLayers *
        currentDensityTables *
        viaLayers
        equivalentLayers
        streamLayers
    viaDefs *
        standardViaDefs *
        customViaDefs *
    constraintGroups *
        foundry *
            spacings *
                maxWidth
                minWidth
                minDiagonalWidth
                minSpacing
                minSameNetSpacing
                minDiagonalSpacing
                minArea
                minHoleArea
            viaStackLimits *
            spacingTables *
            orderedSpacings *
                minOverlap
                minEnclosure
                minExtension
                minOppExtension
            antennaModels *
            electrical *
    devices
        tcCreateCDSDeviceClass
        multipartPathTemplates *
        extractMOS *
        extractRES *
        symContactDevice
        ruleContactDevice
        symEnhancementDevice
        symDepletionDevice
        symPinDevice
        symRectPinDevice
        tcCreateDeviceClass
        tcDeclareDevice
    viaSpecs *
    physicalRules
        orderedSpacingRules
        spacingRules
        mfgGridResolution
    electricalRules
        characterizationRules
        orderedCharacterizationRules
    leRules
        leLswLayers
    lxRules
        lxExtractLayers
        lxNoOverlapLayers
        lxMPPTemplates
    compactorRules
        compactorLayers
        symWires
        symRules
    lasRules
        lasLayers
        lasDevices
        lasWires
        lasProperties
    prRules
        prRoutingLayers
        prViaTypes
        prStackVias
        prMastersliceLayers
        prViaRules
        prGenViaRules
        prTurnViaRules
        prNonDefaultRules
        prRoutingPitch
        prRoutingOffset
        prOverlapLayer

We mention below only the nodes from which information is extracted. Note that this is a mixture of 5.x and 6.x nodes, providing unified support for all current Virtuoso releases. In most cases, a node with an unrecognized name will produce a warning message. These can be ignored, the purpose is only to identify ``new'' information in the technology file that might be useful to parse.

include
This node contains a string, which is a path to another Lisp file. That file will be opened and read.

layerDefinitions/techLayers
A new layer is created in the Xic layer table for each entry with a layer number in the range 0-127. The abbreviation field is ignored. The layer ``long name'' will be assigned the layer name, if it is more that four characters long. New layers are created in the order of appearance.

layerDefinitions/techLayerPurposePriorities
This will reorder the layers already in the Xic layer table in the order given. Only layers with the purpose ``drawing'' are considered.

layerDefinitions/techDisplays
This will assign the colors and fill patterns to layers that exist in the Xic layer table. Only entries with purpose ``drawing'' are considered. This references the internal packet, color, and stipple lists created from the display resource nodes.

layerDefinitions/techLayerproperties
This node provides some directly applicable parameters, which are read and added to the appropriate layer. These include sheetResistance, areaCapacitance, edgeCapacitance, and thickness. The thickness value is specified in angstroms, which is converted to microns. The capacitance value units are picofarads and microns, thus no conversion is required.

layerRules/routingDirections
Layers found in this table are given the Routing attribute.

layerRules/viaLayers
The conducting layers are assigned the Conductor attribute. The via layer is assigned the Via attribute. This is in 5.x files only.

layerRules/streamLayers
A GDSII import/export mapping is applied for each layer given. This is in 5.x files only.

viaDefs/standardViaDefs
This identifies layers that are given the Via attribute. The metal layers that are referenced by the via are given the Conductor attribute.

constraintGroups/foundry/spacings/maxWidth
This identifies a MaxWidth rule.

constraintGroups/foundry/spacings/minWidth
This identifies a MinWidth rule.

constraintGroups/foundry/spacings/minDiagonalWidth
This will map to a Diagonal clause in a MinWidth rule.

constraintGroups/foundry/spacings/minSpacing
This maps to either a MinSpace rule (one layer given) or a MinSpaceTo rule if two layers are given.

constraintGroups/foundry/spacings/minSameNetSpacing
This provides the SameNet clause to a MinSpace or MinSpaceTo rule.

constraintGroups/foundry/spacings/minDiagonalSpacing
This provides the Diagonal clause to a MinSpace or MinSpaceTo rule.

constraintGroups/foundry/spacings/minArea
This identifies a MinArea rule.

constraintGroups/foundry/spacings/minHoleArea
This provides the dimension for area filtering in a NoHoles rule.

constraintGroups/foundry/spacingTables
This provides tables of length, width, and spacing values, for size-dependent spacing rules. These tables are parsed and added to MinSpace rules, but are currently not used for rule evaluation.

constraintGroups/foundry/orderedSpacings/minOverlap
This identifies a MinOverlap rule.

constraintGroups/foundry/orderedSpacings/minEnclosure
This maps to a MinSpaceFrom rule, with the source and target layers swapped. It provides the Enclosed clause, which applies when the target figure is completely surrounded by the source material.

constraintGroups/foundry/orderedSpacings/minExtension
This is almost identical with minEnclosure, but does not require that the target figure be fully surrounded. It maps to a MinSpaceFrom rule in the same manner, but sets the rule dimension, not the Enclosed value.

constraintGroups/foundry/orderedSpacings/minOppExtension
This is handled similarly to the two rules above, but sets the Opposite clause of the MinSpaceFrom rule.


next up previous contents index
Next: The ReadCdsLmap keyword Up: CadenceTM Compatibility Previous: Display Resource File   Contents   Index
Stephen R. Whiteley 2012-04-01