Script to generate valid IRSIM .prm files for the sky130 process

2/7/2022:  Added "device" lines to header.txt for compability between the
subcircuit devices used by the sky130 process, and IRSIM version 9.7.115,
which adds the parsing for the new "device" syntax in the parameter file.

1/1/2022:  Taking advantage of the new code added by Jason Liang for
the GSoC internship.  IRSIM now supports multiple transistor models at
multiple power supply voltages, so all sky130 devices can be represented
. . .  but also need to be characterized.

------------------------------------------------------------------------
Prerequisites:

    Requires ngspice and an installation of the SkyWater sky130 open
    PDK from open_pdks.

Instructions:

    This script has already been run and the parameter files generated,
    so that they can simply be installed into libs.tech/irsim/.  If
    you want to regenerate all of the parameter files, then do:

	run_all.py

    and everything should be automatically handled.  File
    "circuit_template.spi" assumes that the PDK is already installed
    in ${PDK_ROOT)=/usr/share/pdk, so modify this file if open_pdks
    has been configured to install into a different location.


------------------------------------------------------------------------
NOTES:
------------------------------------------------------------------------

The script generally follows the instructions for generating a parameter
file found on the IRSIM web page at opencircuitdesign.com.  The exception
is for the "dynamic-high" resistance for nFET devices and the
"dynamic-low" resistance for pFET devices.  These values are very rarely
used, since nFETs pulling a net high or pFETs pulling a net low are not
often used in CMOS circuits (typically found in hysteretic buffers or
certain kinds of low-transistor-count XOR gates).  Since the devices are
not in saturation in these situations, a resistance is a poor model for
the device.  As such, probably any value is as good as any other.  The
(arbitrary) method used is to find the time that it takes for the signal
to reach 80% of the final value in the simulation (where the transistor
is in deep subthreshold), and extrapolate the time to reach half of Vdd.
This results (when divided by the load capacitance) in a resistance value
that is in a sane intermediate range and suffices for simulation purposes.

The template netlist does all measurements internally to ngspice, so there
is no need for a post-processing tool such as the one included in the
IRSIM repository to generate the resistance outputs, and raw SPICE output
files are not generated.  The python script collects ngspice output and
uses it to generate the IRSIM parameter files.

Parameter files are generated for nominal voltage and nominal voltage
+/- 10%, temperatures at -40, 27, and 125 degrees C, and at slow, fast,
and typical corners.  Voltages in the parameter filename are shown as
"high", "low", and "nom", since the parameter file contains both 1.8V
and 3.3V transistors.

Spice models are included into a testbench netlist from: 

    ${PDK_ROOT}/sky130A/libs.tech/ngspice/sky130.lib.spice

Basic parameters in the header:

sky130 gate thickness, from sky130_fd_pr__nfet_01v8 model is 4.15E-9 m, so:
	Cox = Eox / Tox  =  8.854E-12 F/m * 3.9 / 4.15E-9 = 8.32E-3 F/m^2 = pF/um^2

Transistor devices characterized for IRSIM:

        sky130_fd_pr__nfet_01v8
        sky130_fd_pr__nfet_01v8_lvt
        sky130_fd_pr__pfet_01v8
        sky130_fd_pr__pfet_01v8_lvt
        sky130_fd_pr__pfet_01v8_hvt
        sky130_fd_pr__special_nfet_latch
        sky130_fd_pr__special_nfet_pass
        sky130_fd_pr__special_pfet_latch
        sky130_fd_pr__pfet_g5v0d10v5
        sky130_fd_pr__nfet_g5v0d10v5
        sky130_fd_pr__nfet_05v0_nvt

Transistor devices *not* characterized for IRSIM:

        sky130_fd_pr__pfet_01v8_mvt
        sky130_fd_pr__nfet_03v3_nvt
        sky130_fd_pr__nfet_01v8_nvt
        sky130_fd_pr__nfet_20v0_nvt
        sky130_fd_pr__nfet_20v0
        sky130_fd_pr__pfet_20v0
        sky130_fd_pr__esd_nfet_g5v0d10v5
        sky130_fd_pr__esd_pfet_g5v0d10v5

