Base class for stuff used by Diode_Finder and also by body diode of analysis.mosfet.MOSFET_Finder.

Method sc_diode_fwd The forward-biased diode primitive. Call with Elements instance f, anode node na, and cathode node nc.
Method sc_diode_rev

The reverse-biased diode primitive. Call with Elements instance f, anode node na, and cathode node nc.:

def sc_diode_fwd(self, f, na, nc, capacitance=False):

The forward-biased diode primitive. Call with Elements instance f, anode node na, and cathode node nc.

This part of the model has, in series, a (1) temperature-sensitive series resistance modeled by a behavioral current source and (2) temperature-sensitive voltage offset:

   Tj ------------------------------------------------------+
                                                            |
           +-- R_sca --+               +------------------+ |
           |           |               |                  | |
           |           |               |                  x x
           |  +-----+  |         +---------+           +-------+
   na -----+->|+ D -|>-+- 110 -->|+ shunt -|>-- 114 -->|+ B:V -|>---+
              +-----+            +---------+           +-------+    |
                                                                    |
              +---+                                                 |
   nc <-------| R |<------- 116 -------------<----------------------+
              +---+

The increase (1) in series resistance with higher temp brings forward-biased current curves slightly closer together for a given voltage at higher current. Only effective when forward biased. Its parameters (all log space) are if_hca and if_hcb, plus d_rs, the diode series resistance at the coldest temperature Tj_min, defining the total series resistance of the diode:

R = if_hca*(Tj-Tj_min)^2 + if_hcb*(Tj-Tj_min) + if_hcc + d_rs

The if_hcc term is set to make R = d_rs at nominal temperature Tj_nom. It doesn't add a parameter because its AV object is entirely computed from if_hca and if_hcb.

Note that the linearized values of if_hca and if_hcb are typically many orders of magnitude smaller than d_rs. The modeled series resistance doesn't change that much with temperature.

The temperature-sensitive voltage offset (2), a (linear) reduction in forward voltage with junction temperature, has a single parameter, vf_lca in log space. The offset is zero at nominal temperature.

Voff = tanh(6*Vac^2)*vf_lca*(Tj-Tj_nom) if Vac > 0 else Voff = 0.

def sc_diode_rev(self, f, na, nc):

The reverse-biased diode primitive. Call with Elements instance f, anode node na, and cathode node nc.:

   Tj -----------+
                 |
                 x
            +----------+
   nc --+-->|+ B:temp -|>--+-- na
        |   +----------+   |
        |                  |
        |      +----+      |
        +------| Rp |------+
               +----+

Resistance Rp sets a floor for cathode-anode leakage current. This linear response will typically be a minor part of overall contributions to leakage current.

If temperature-sensitive reverse leakage modeling is considered feasible, this will increase the reverse current at higher temperatures. But the leakage from the diode primitive (sc_diode_fwd) and will remain regardless.

This method is not used by my subclass MOSFET_Model. It models temperature-dependent MOSFET leakage current with its MOSFET_Model.channel method.

API Documentation for pingspice, generated by pydoctor at 2021-09-18 08:41:11.