8.0 Antenna Ratio Rules
=======================

An antenna includes all conducting structures on the same layer and the same electrical node that connect to an active area only via layers below it.

.. csv-table:: ANTENNA RATIO RULES
    :file: tables_clear/8.0_ANT.csv
    :widths: 200, 900, 100
    :align: center

.. note::

   1. Possible repairs to metal antenna nodes, which have a high via count or antenna ratio.

        a.  Add an Nplus/P- diode or

        b. Break the metal close to the gate and jog the metal to an upper metal level.



.. image:: images/Ant1.png
    :width: 900
    :align: center
    :alt: ANTENNA RATIO RULES

.. math::

    Poly2 or Metal Antenna ratio =  Poly2 or Metal perimeter Area/ Poly2 Gate Area

    Contact or Via Antenna ratio = Contact or Via area/Poly2 Gate Area

**Example:**

Illustration on the above antenna ratio calculation: (Terms on the right hand side of the equations below (eg. Metal3) refer to the layout areas of the corresponding structures in the diagram above.)

.. math::

    Antenna_ratio (Metal_3)  = Metal_3/(Poly_{2A} + Poly_{2B} + Poly_{2C})

    Antenna_ratio (M2A)      = Metal_{2A}/(Poly_{2A} + Poly_{2B})

    Antenna_ratio (M2B)      = Metal_{2B}/Poly_{2C}


**Poly2/Metal Perimeter Area calculation**

.. image:: images/ant2.png
    :width: 900
    :align: center
    :alt: Area calculation

.. math::

    Poly2/Metal Perimeter Area = 2 [(t X z) + (t X y)]

Where

       y: Poly2/Metal length

       z: Poly2/Metal width

       t: Poly2/Metal thickness

.. csv-table::
    :file: tables_clear/8.0_metalthickness_ANT.csv
    :widths: 100, 100, 100, 100, 100, 100
    :align: center

