Requirements for Antenna Calculation
This section describes the technology file requirements for using the antenna calculation capabilities of Abstract Generator.
In the technology file on OpenAccess 2.2, the antenna rules have been moved to the antennaModels section of the foundry constraint group. You specify a separate antennaModels group for each oxide type and can specify antennaModels for up to four oxide types.
If an alternate foundry constraint group (AFCG) is defined in the .cdsenv file, Abstract Generator replaces the foundry constraint group and uses the specified AFCG instead.
You can specify an AFCG by setting the following environment variable in your .cdsenv file:
cdba.layout AlternateFoundryCG string "AFCG_name"
The constraint specifies the antenna ratios for one oxide type corresponding to a specific thickness of the gate oxide. You can specify the thickness value in the techLayerProperties subsection in the layerDefinitions section if antenna side area calculation is to be performed.
During the Extract step, the following factors are supported while calculating the antenna value. These factors are defined in the antennaModels section of the foundry constraint group in the technology file.
-
(antennaCutFactor) cumulativeRoutingPlusCut
If this factor is found in the technology file, the values of the cumulative antenna ratio forCUTlayers are dumped in the LEF file. In addition, the values of the cumulative antenna ratio forCUTlayers are added to the cumulative antenna ratio values of the metal layers. This factor has a boolean value. By default, this factor is set tonil. -
(antennaMetalFactor) diffArea
If this factor is found in the technology file, Abstract Generator uses the value of this factor to calculate the cumulative antenna ratio values for the metal layers. However, if this factor is not found in the technology file, Abstract Generator sets it to the default value 1.0 and calculates the cumulative antenna ratio values. This factor has float values. -
(antennaDiffPlusFactor) diffPlus
If this factor is found in the technology file, Abstract Generator uses the value of this factor to calculate the cumulative antenna ratio values for the metal layers. However, if this factor is not found in the technology file, Abstract Generator sets it to the default value 0.0 and calculates the cumulative antenna ratio values. This factor has float values. -
(antennaDiffMinusFactor)) diffMinus
If this factor is found in the technology file, Abstract Generator uses the value of this factor to calculate the cumulative antenna ratio values for the metal layers. However, if this factor is not found in the technology file, Abstract Generator sets it to the default value 0.0 and calculates the cumulative antenna ratio values. This factor has float values. -
(antennaDiffAreaReduceFactor) diffAreaReduce
If this factor is found in the technology file, Abstract Generator uses the value of this factor to calculate the cumulative antenna ratio values for the metal layers. However, if this factor is not found in the technology file, Abstract Generator sets it to the default value 1.0 and calculates the cumulative antenna ratio values. The values for this factor are given in the form of 1-D table.
The formula used to calculate the cumulative antenna ratio values for the metal layers is as follows:
areaCar[j] += (((antennaMetalFactor*cumMetalArea) + (antennaCutFactor*cumCutArea)) * antennaDiffAreaReduceFactor - diffArea * antennaDiffMinusFactor)/(cumGateAreaSharingCharge_[j] + antennaDiffPlusFactor * diffArea);
constraintGroups( ( "foundry" antennaModels( ;( model ;( ---- ( "default" antenna( ;( ratioName layer value )
;( --------- ----- ----- )
( areaRatio METAL1 0.345 )
( 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
antenna( ( areaRatio "poly" <value> ) ); antenna cumulativeMetalAntenna( ;( ratioName value )
;( --------- ----- )
( areaRatio 3.564 )
( diffAreaRatio 7.888 )
) ;cumulativeMetalAntenna cumulativeViaAntenna( ;( ratioName value ) ;( --------- ----- ) ( areaRatio 7.654 )
( 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
( "factors"
( cumulativeRoutingPlusCut "METAL1" t )
( area "METAL1" 0.50 )
( diffPlus "METAL1" 0.60 )
( diffMinus "METAL1" 0.70 )
( diffAreaReduce "METAL1" (
( 0.0 20.0 )
( 0.5 30.0 )
( 1.0 40.0 )
))
) ;factors
) ;antennaModels
) ;antennaModels
) ;foundry
) ;constraintGroups
Related Topics
Return to top