SkyWater SKY130 Physical & Design Verification
==============================================

.. toctree::
    :caption: Physical & Design Verification
    :name: verification

    Automated Design Rule (DRC) Checking <verification/drc>
    - With Mentor Calibre
    - With MAGIC
    - With Klayout
    Layout Versus Schematic (LVS) Checking <verification/lvs>
    - With Mentor Calibre
    - With netgen
    Parasitic Extraction (PEX) <verification/pex>
    - With Calibre xRC
    - With MAGIC


The SkyWater SKY130 PDK provides automated physical and design rule checking decks.

These verification rules provide;

 * :term:`Design Rule Checking` (:term:`DRC`) against rules described in the
   :ref:`SkyWater SKY130 Process Design Rules` documentation.

   .. warning::

       There are some design rules which can not be verified with these decks.
       They are clearly marked in the :ref:`SkyWater SKY130 Process Design Rules`
       documentation and should be manually verified by the designer.

 * :term:`Layout Verse Schematic` (:term`LVS`) Verification
 * :term:`Parasitic Extraction` (:term:`PEX`)

To enable this verification to be done in a number of tools, these rules are
provided in two formats.

Calibre Decks
-------------

The "Calibre Decks" are files suitable for :term:`Mentor's Calibre` product
suite.

They have been tested by :term:`SkyWater` with Calibre XXXXX and used with
numerous production designs.

These files are also used by :term:`SkyWater` as part of the design
verification and sign off process when doing manufacturing with the foundry.


These files can also be used with the open source tool :term:`Klayout`. Correct
operation with :term:`Klayout` has not been verified.

MAGIC Decks
-----------

The "MAGIC Decks" are files suitable for the open source tool :term:`MAGIC`.

The "MAGIC Decks" have currently being tested by :term:`eFabless` with MAGIC
XXXX and are currently being qualified for production usage.


.. toctree::

    verification/drc
    verification/lvs
    verification/pex
