Product Documentation
Virtuoso Technology Data Constraints Reference
Product Version IC23.1, November 2023

antennaModels

antennaModels(
( "t_name"
  t_constraintName(
  ( t_ratioName tx_layer f_value )
)
…

( "factors"
  ( cumulativeRoutingPlusCut lx_layer )
  ( area  lt_layer f_value )
  ( diffPlus  lt_layer f_value )
  ( diffMinus  lt_layer f_value )
  ( diffAreaReduce  lt_layer ( ( f_area f_value ) … )
) ;factors
) ;antennaModels

Defines antenna ratios for up to four oxide types, each specified in its own antennaModels group.

Antenna models must be specified only in the antennaModels constraint category of the foundry constraint group. The antenna models all follow the same syntax when specified in the ASCII technology file. For each antenna model, you can specify the antenna, cumulativeMetalAntenna, cumulativeViaAntenna, and cumPerLayerAntenna constraints, each of which specifies the areaRatio and diffAreaRatio ratios.

factors

Alternatively, you can specify factors by using the following syntax:

factors(
( cumulativeRoutingPlusCut lx_layer )
( area  lt_layer f_value )
( diffPlus  lt_layer f_value )
( diffMinus  lt_layer f_value )
( diffAreaReduce  lt_layer ( ( f_area f_value ) … )
) ;factors

This is because factors is a SKILL technology class function and can be defined as "name(…)" or "(name …)".

Types

Parameters

t_name

The antenna oxide model name. Valid values are as follows:

  • default: Antenna oxide1 model
  • second: Antenna oxide2 model
  • third: Antenna oxide3 model
  • fourth: Antenna oxide4 model

t_constraintName

The name of the constraint being defined. Valid values are as follows:

  • antenna specifies the maximum antenna ratios for one or more antenna models for the specified layer.
  • cumulativeMetalAntenna specifies the maximum antenna ratios for one or more antenna models for area values accumulated through all the poly and metal layers attached to a gate.
  • cumulativeViaAntenna specifies the maximum antenna ratios for one or more antenna models for area values accumulated through all the cut and via layers attached to a gate.
  • cumPerLayerAntenna specifies the maximum antenna ratios for one or more antenna models for area values accumulated for the specified layer.

t_ratioName

The name of the antenna ratio, areaRatio or diffAreaRatio.

tx_layer

The layer on which the antenna ratio constraint is applied. It must not be specified when t_constraintName is cumulativeMetalAntenna or cumulativeViaAntenna.

Type: String (layer name) or Integer (layer number)

f_value

The areaRatio or diffAreaRatio value.

  • areaRatio has the following syntax:
    f_value ['side]
    where,
    • f_value is the area ratio
    • 'side specifies that the side calculation be applied.
      The default is "no side".
  • diffAreaRatio has the following syntax:
    f_value | ((f_area f_value)…) ['side]
    where,
    • f_value is the diffusion area ratio, specified as an absolute value or based on the total diffusion area, if specified.
    • f_area is the total diffusion area.
    • 'side specifies that the side calculation be applied.
      The default is "no side".

Example

antennaModels(
;( model
 ( "default"
    antenna(
     ;(ratioName layer value)
( areaRatio METAL1 450.0 )
( diffAreaRatio METAL1 ((0.45 0.4)(0.55 0.6)) )
( areaRatio VIA1 0.344 )
( diffAreaRatio VIA1 ((0.44 0.5)(0.57 0.8)) )
) ;antenna
cumulativeMetalAntenna(
;( ratioName value )
( areaRatio 0.544 'side )
( diffAreaRatio 0.888 )
) ;cumulativeMetalAntenna
cumulativeViaAntenna(
;( ratioName value )
( areaRatio 0.654 'side )
( diffAreaRatio 0.884 )
) ;cumulativeViaAntenna
);default
 ( "second"
    antenna(
     ;( ratioName layer value )
( areaRatio METAL1 1.345 'side )
( diffAreaRatio METAL1 ((0.455 0.4)(0.555 0.65)) )
) ;antenna
cumulativeMetalAntenna(
;( ratioName value )
( areaRatio (3.564 nil) )
( diffAreaRatio 7.888 )
) ;cumulativeMetalAntenna
cumulativeViaAntenna(
;( ratioName value )
( areaRatio (7.654 nil) )
( diffAreaRatio 1.884 )
) ;cumulativeViaAntenna
) ;second
 ( "third"
    antenna(
     ;( ratioName layer value )
( areaRatio METAL1 0.343 )
( diffAreaRatio METAL1 ((0.43 0.3)(0.53 0.6)) )
) ;antenna
cumulativeMetalAntenna(
;( ratioName value )
( areaRatio 9.765 'side )
( diffAreaRatio 0.188 )
) ;cumulativeMetalAntenna
 cumulativeViaAntenna(
;( ratioName value )
( areaRatio 3.22 )
( diffAreaRatio ((0.421 0.4)(0.7 0.64)(0.81 0.59)) )
) ;cumulativeViaAntenna
) ;third
 ( "fourth"
    antenna(
     ;( ratioName layer value )
( areaRatio METAL2 0.645 'side )
( diffAreaRatio METAL2 ((0.47 0.4)(0.55 0.7)) )
) ;antenna
 cumulativeMetalAntenna(
;( ratioName value )
( areaRatio 0.6 )
( diffAreaRatio ((0.127 0.23)(0.32 0.7)) )
) ;cumulativeMetalAntenna
 cumulativeViaAntenna(
;( ratioName value )
( areaRatio 9.67 )
( diffAreaRatio 0.684 )
) ;cumulativeViaAntenna
) ;fourth
) ;antennaModels
cumPerLayerAntenna(
    ( areaRatio "via1" 0.64 'side )
    ( diffAreaRatio "via1" ((30 0.3888) (25 0.6774)) 'side ) 
) ;cumPerLayerAntenna

Return to top
 ⠀
X