antennaRatio
spacings(
( antennaRatio
tx_layer
'OXIDEn
['isSide]
['diffAreaRatio g_table]
['areaFactor f_areaFactor]
['diffuseOnly]
[['diffPlusFactor f_diffPlusFactor]
| ['gatePlusDiffPWL g_gatePlusDiffTable]
]
['diffMinusFactor f_diffMinusFactor]
['diffAreaReduceFactor g_table]
['gatePWL g_gatePWLTable]
f_areaRatio
)
) ;spacings
Defines antenna ratios on a per-layer basis. Different ratios can be specified for different types of devices, described as different OXIDE models. For example, a transistor with a thinner oxide would have different antenna ratios than transistors with thicker oxides. The thinner oxide transistor could be modeled as OXIDE1 and the thicker oxide transistor could be modeled as OXIDE2. The OXIDE1 transistor area ratio would be smaller than the OXIDE2 transistor area ratio because the thinner oxide is more easily damaged. For detailed information about antenna model constraints, see antennaModels.
When gatePWL and either diffPlusFactor or gatePlusDiffPWL are specified, the gate area used to calculate f_areaRatio is determined using the following formula:
gatePWL(gate) + plusDiffProtect(diff)
Here:
-
gatePWL(gate) indicates the gate area defined using gatePWL. -
plusDiffProtect(diff) indicates the diffusion area that is added to the gate area value.
If diffPlusFactor is specified, then:
plusDiffProtect = plusDiffFactor * diffArea
If gatePlusDiffPWL is specified, then:
plusDiffProtect = interpolated PWL value indexed by diffArea
Values
|
tx_layer
|
The metal layer to which the constraint applies.
|
|
f_areaRatio
|
The area ratio of the metal area to the connected gate area.
|
Parameters
|
'OXIDEn
|
Indicates the antenna model to which the constraint applies. It can be one of 32 values ranging from OXIDE1 to OXIDE32.
|
|
'isSide
|
By default, the antenna ratio specifies the ratio of the metal area to the gate area. If isSide is specified, it indicates that the ratio is measured from the metal side area as follows:
(perimeter x thickness) / gate area
|
|
'diffAreaRatio g_table
|
|
|
The g_table row is in this format:
( (("area") ) ( f_diffArea1 f_metalToDiffAreaRatio1 ) ( f_diffArea2 f_metalToDiffAreaRatio2 ) … )
The index f_diffArea is the diffusion area, and the table value f_metalToDiffAreaRatio is the required metal area-to-diffusion area ratio. The table represents a PWL model, in which the diffAreaRatio ratio is calculated using a linear interpolation of the diffusion areas.
Type: A 1-D table indexed by a float value.
|
|
'areaFactor f_areaFactor
|
|
|
Area ratios can be raised or lowered by the specified f_areaFactor value. When checking antenna rules, partial area ratios are calculated by multiplying the metal or gate ratio by f_areaFactor. These calculated ratios are stored on abstract pins.
|
|
'diffuseOnly
|
Indicates that the f_areaFactor value is applied only to partial area ratios for the metal attached to the diffusion.
|
|
['diffPlusFactor f_diffPlusFactor] | ['gatePlusDiffPWL g_gatePlusDiffTable]
|
|
|
Indicates the diffusion area that is added to the gate area value. By default, the metal to gate ratio is measured.
If a f_diffPlusFactor value is specified, the gate area used to calculate the ratio is adjusted by adding the value obtained by multiplying f_diffPlusFactor by f_diffAreaRatio.
Instead, values can be specified separately for each oxide in the g_gatePlusDiffTable 1-D table. Each row in the table is in this format:
( (("area") ) ( f_diffArea1 f_plusDiffProtect1 ) ( f_diffArea2 f_plusDiffProtect2 ) … )
The index f_diffArea is the diffusion area, and the table value f_plusDiffProtect is the additional protection provided by the diffusion area to the gate area.
For example:
'gatePlusDiffPWL ((( "area" )) ( 0.45 0.03 1.1 0.1 ) ) )
|
|
'diffMinusFactor f_diffMinusFactor
|
|
|
By default, the metal to gate ratio is measured. If an f_diffMinusFactor value is specified, the metal area used to calculate the ratio is adjusted by subtracting the value obtained by multiplying f_diffMinusFactor by f_diffAreaRatio.
|
|
'diffAreaReduceFactor g_table
|
|
|
The g_table row is in this format:
( (("area") ) ( f_diffArea1 f_diffAreaReduceFactor1 ) ( f_diffArea2 f_diffAreaReduceFactor2 ) … )
The index f_diffArea is the diffusion area, and the table value f_diffAreaReduceFactor is the factor used to adjust the diffusion area. The diffusion area used to calculate the ratio is adjusted by multiplying it by the diffAreaReduceFactor calculated from the table. The table represents a piecewise linear model, in which the required diffAreaReduceFactor value is calculated using a linear interpolation of the diffusion areas.
Type: A 1-D table indexed by a float value.
|
|
'gatePWL g_gatePWLTable
|
|
|
Specifies a PWL (piece-wise linear) table on the given antenna model that is indexed by the real gate area, and returns an effective gate area interpolated from the table. Each row in the table is in this format:
( (("area") ) ( f_gateArea1 f_effectiveGateArea1 ) ( f_gateArea2 f_effectiveGateArea2 ) … )
The index f_gateArea is the real gate area, and the table value f_effectiveGateArea is the effective gate area interpolated from the PWL table.
For example:
'gatePlusDiffPWL ((( "area" )) ( 0.45 0.03 1.1 0.1 ) ) )
Type: A 1-D table indexed by a float value.
|
Example
The antenna ratio for VIA1 is specified as follows.
spacings(
;OXIDE3 rules
( antennaRatio "VIA1" 'OXIDE3
'diffAreaRatio
( (("area") )
(
0.0 100.0
)
)
'diffPlusFactor 5.0
'diffAreaReduceFactor
( (("area") )
(
0.0 0.8
)
)
100.0
)
Return to top