(*spice_name="is", info="(Modified) saturation current", m_factor="yes", unit="A"*) parameter real is = 1.0e-16 from [0:1];
(*spice_name="mcf", info="Non-ideality coefficient of forward collector current"*) parameter real mcf = 1.00 from (0:10];
(*spice_name="mcr", info="Non-ideality coefficient of reverse collector current"*) parameter real mcr = 1.00 from (0:10];
(*spice_name="vef", info="forward Early voltage (normalization volt.)", unit="V", default_value="infinity"*) parameter real vef = `INF from (0:`INF];
(*spice_name="iqf", info="forward d.c. high-injection toll-off current", unit="A", m_factor="yes", default_value="infinity"*) parameter real iqf = `INF from (0:`INF];
(*spice_name="iqr", info="inverse d.c. high-injection roll-off current", unit="A", m_factor="yes", default_value="infinity"*) parameter real iqr = `INF from (0:`INF];
(*spice_name="iqfh", info="high-injection correction current", unit="A", m_factor="yes"*) parameter real iqfh = `INF from (0:`INF];
(*spice_name="tfh", info="high-injection correction factor", test_value="2e-9", m_factor="yes"*) parameter real tfh = 0.0 from [0:`INF);
parameter real is = 1.0e-16 from [0:1] `P(spice:name="is" info="(Modified) saturation current" m:factor="yes" unit="A");
parameter real mcf = 1.00 from (0:10] `P(spice:name="mcf" info="Non-ideality coefficient of forward collector current");
parameter real mcr = 1.00 from (0:10] `P(spice:name="mcr" info="Non-ideality coefficient of reverse collector current");
parameter real vef = `INF from (0:`INF] `P(spice:name="vef" info="forward Early voltage (normalization volt.)" unit="V" default:value="infinity");
parameter real iqf = `INF from (0:`INF] `P(spice:name="iqf" info="forward d.c. high-injection toll-off current" unit="A" m:factor="yes" default:value="infinity");
parameter real iqr = `INF from (0:`INF] `P(spice:name="iqr" info="inverse d.c. high-injection roll-off current" unit="A" m:factor="yes" default:value="infinity");
parameter real iqfh = `INF from (0:`INF] `P(spice:name="iqfh" info="high-injection correction current" unit="A" m:factor="yes");
parameter real tfh = 0.0 from [0:`INF) `P(spice:name="tfh" info="high-injection correction factor" test:value="2e-9" m:factor="yes");
// Base current
(*spice_name="ibes", info="BE saturation current", unit="A", m_factor="yes"*) parameter real ibes = 1e-18 from [0:1];
(*spice_name="mbe", info="BE non-ideality factor"*) parameter real mbe = 1.0 from (0:10];
(*spice_name="ires", info="BE recombination saturation current", test_value="1e-16", unit="A", m_factor="yes"*) parameter real ires = 0.0 from [0:1];
(*spice_name="mre", info="BE recombination non-ideality factor"*) parameterrealmre =2.0 from (0:10];
(*spice_name="ibcs", info="BC saturation current", test_value="1e-16", unit="A", m_factor="yes"*) parameter real ibcs = 0.0 from [0:1];
(*spice_name="mbc", info="BC non-ideality factor"*) parameter real mbc = 1.0 from (0:10];
parameter real ibes = 1e-18 from [0:1] `P(spice:name="ibes" info="BE saturation current" unit="A" m:factor="yes");
parameter real mbe = 1.0 from (0:10] `P(spice:name="mbe" info="BE non-ideality factor");
parameter real ires = 0.0 from [0:1] `P(spice:name="ires" info="BE recombination saturation current" test:value="1e-16" unit="A" m:factor="yes");
parameter real mre = 2.0 from (0:10] `P(spice:name="mre" info="BE recombination non-ideality factor");
parameter real ibcs = 0.0 from [0:1] `P(spice:name="ibcs" info="BC saturation current" test:value="1e-16" unit="A" m:factor="yes");
parameter real mbc = 1.0 from (0:10] `P(spice:name="mbc" info="BC non-ideality factor");
// BE depletion cap
(*spice_name="cje0", info="Zero-bias BE depletion capacitance", unit="F", test_value="2e-14", m_factor="yes"*) parameter real cje0 = 1.0e-20 from (0:`INF);
(*spice_name="vde", info="BE built-in voltage", unit="V"*) parameter real vde = 0.9 from (0:10];
(*spice_name="ze", info="BE exponent factor"*) parameter real ze = 0.5 from (0:1];
(*spice_name="aje", info="Ratio of maximum to zero-bias value"*) parameter real aje = 2.5 from [1:`INF);
parameter real cje0 = 1.0e-20 from (0:`INF) `P(spice:name="cje0" info="Zero-bias BE depletion capacitance" unit="F" test:value="2e-14" m:factor="yes");
parameter real vde = 0.9 from (0:10] `P(spice:name="vde" info="BE built-in voltage" unit="V");
parameter real ze = 0.5 from (0:1] `P(spice:name="ze" info="BE exponent factor");
parameter real aje = 2.5 from [1:`INF) `P(spice:name="aje" info="Ratio of maximum to zero-bias value");
// Transit time
(*spice_name="t0", info="low current transit time at Vbici=0", test_value="5e-12", unit="s"*) parameter real t0 = 0.0 from [0:`INF);
(*spice_name="dt0h", info="Base width modulation contribution", test_value="2e-12", unit="s"*) parameter real dt0h = 0.0; // from [0:`INF) ;
(*spice_name="tbvl", info="SCR width modulation contribution", test_value="4e-12", unit="s"*) parameter real tbvl = 0.0 from [0:`INF);
(*spice_name="tef0", info="Storage time in neutral emitter", test_value="1e-12", unit="s"*) parameter real tef0 = 0.0 from [0:`INF);
(*spice_name="gte", info="Exponent factor for emmiter transit time"*) parameter real gte = 1.0 from (0:10];
(*spice_name="thcs", info="Saturation time at high current densities", test_value="3e-11", unit="s"*) parameter real thcs = 0.0 from [0:`INF);
(*spice_name="ahc", info="Smoothing facor for current dependence"*) parameter real ahc = 0.1 from (0:10];
(*spice_name="tr", info="Storage time at inverse operation", unit="s"*) parameter real tr = 0.0 from [0:`INF);
parameter real t0 = 0.0 from [0:`INF) `P(spice:name="t0" info="low current transit time at Vbici=0" test:value="5e-12" unit="s");
parameter real dt0h = 0.0; // from [0:`INF) `P(spice:name="dt0h" info="Base width modulation contribution" test:value="2e-12" unit="s");
parameter real tbvl = 0.0 from [0:`INF) `P(spice:name="tbvl" info="SCR width modulation contribution" test:value="4e-12" unit="s");
parameter real tef0 = 0.0 from [0:`INF) `P(spice:name="tef0" info="Storage time in neutral emitter" test:value="1e-12" unit="s");
parameter real gte = 1.0 from (0:10] `P(spice:name="gte" info="Exponent factor for emmiter transit time");
parameter real thcs = 0.0 from [0:`INF) `P(spice:name="thcs" info="Saturation time at high current densities" test:value="3e-11" unit="s");
parameter real ahc = 0.1 from (0:10] `P(spice:name="ahc" info="Smoothing facor for current dependence");
parameter real tr = 0.0 from [0:`INF) `P(spice:name="tr" info="Storage time at inverse operation" unit="s");
// Critical current
(*spice_name="rci0", info="Low-field collector resistance under emitter", test_value="50", unit="Ohm", m_inverse_factor="yes"*) parameter real rci0 = 150 from (0:`INF);
(*spice_name="vlim", info="Voltage dividing ohmic and satur.region", unit="V"*) parameter real vlim = 0.5 from (0:10];
(*spice_name="vpt", info="Punch-through voltage", test_value="10", unit="V", default="infinity"*) parameter real vpt = 100 from (0:100];
(*spice_name="vces", info="Saturation voltage", unit="V"*) parameter real vces = 0.1 from [0:1];
parameter real rci0 = 150 from (0:`INF) `P(spice:name="rci0" info="Low-field collector resistance under emitter" test:value="50" unit="Ohm" m:inverse_factor="yes");
parameter real vlim = 0.5 from (0:10] `P(spice:name="vlim" info="Voltage dividing ohmic and satur.region" unit="V");
parameter real vpt = 100 from (0:100] `P(spice:name="vpt" info="Punch-through voltage" test:value="10" unit="V" default="infinity");
parameter real vces = 0.1 from [0:1] `P(spice:name="vces" info="Saturation voltage" unit="V");
// BC depletion cap intern
(*spice_name="cjci0", info="Total zero-bias BC depletion capacitance", test_value="1e-15", unit="F", m_factor="yes"*) parameter real cjci0 = 1.0e-20 from (0:`INF);
(*spice_name="vdci", info="BC built-in voltage", test_value="0.7", unit="V"*) parameter real vdci = 0.7 from (0:10];
(*spice_name="zci", info="BC exponent factor", test_value="0.4"*) parameter real zci = 0.333 from (0:1];
(*spice_name="vptci", info="Punch-through voltage of BC junction", test_value="50", unit="V"*) parameter real vptci = 100 from (0:100];
parameter real cjci0 = 1.0e-20 from (0:`INF) `P(spice:name="cjci0" info="Total zero-bias BC depletion capacitance" test:value="1e-15" unit="F" m:factor="yes");
parameter real vdci = 0.7 from (0:10] `P(spice:name="vdci" info="BC built-in voltage" test:value="0.7" unit="V");
parameter real zci = 0.333 from (0:1] `P(spice:name="zci" info="BC exponent factor" test:value="0.4");
parameter real vptci = 100 from (0:100] `P(spice:name="vptci" info="Punch-through voltage of BC junction" test:value="50" unit="V");
// BC depletion cap extern
(*spice_name="cjcx0", info="Zero-bias external BC depletion capacitance", unit="F", test_value="1e-15", m_factor="yes"*) parameter real cjcx0 = 1.0e-20 from [0:`INF);
(*spice_name="vdcx", info="External BC built-in voltage", unit="V"*) parameter real vdcx = 0.7 from (0:10];
(*spice_name="zcx", info="External BC exponent factor"*) parameter real zcx = 0.333 from (0:1];
(*spice_name="vptcx", info="Punch-through voltage", unit="V", test_value="5.0", default="infinity"*) parameter real vptcx = 100 from (0:100];
(*spice_name="fbc", info="Split factor = Cjci0/Cjc0", test_value="0.5"*) parameter real fbc = 1.0 from [0:1];
parameter real cjcx0 = 1.0e-20 from [0:`INF) `P(spice:name="cjcx0" info="Zero-bias external BC depletion capacitance" unit="F" test:value="1e-15" m:factor="yes");
parameter real vdcx = 0.7 from (0:10] `P(spice:name="vdcx" info="External BC built-in voltage" unit="V");
parameter real zcx = 0.333 from (0:1] `P(spice:name="zcx" info="External BC exponent factor");
parameter real vptcx = 100 from (0:100] `P(spice:name="vptcx" info="Punch-through voltage" unit="V" test:value="5.0" default="infinity");
parameter real fbc = 1.0 from [0:1] `P(spice:name="fbc" info="Split factor = Cjci0/Cjc0" test:value="0.5");
// Base resistance
(*spice_name="rbi0", info="Internal base resistance at zero-bias", test_value="100", unit="Ohm", m_inverse_factor="yes"*) parameter real rbi0 = 0.0 from [0:`INF);
(*spice_name="vr0e", info="forward Early voltage (normalization volt.)", unit="V"*) parameter real vr0e = 2.5 from (0:`INF];
(*spice_name="vr0c", info="forward Early voltage (normalization volt.)", unit="V", default="infinity", test_value="25.0"*) parameter real vr0c = `INF from (0:`INF];
(*spice_name="fgeo", info="Geometry factor", test_value="0.73"*) parameter real fgeo = 0.656 from [0:`INF];
parameter real rbi0 = 0.0 from [0:`INF) `P(spice:name="rbi0" info="Internal base resistance at zero-bias" test:value="100" unit="Ohm" m:inverse_factor="yes");
parameter real vr0e = 2.5 from (0:`INF] `P(spice:name="vr0e" info="forward Early voltage (normalization volt.)" unit="V");
parameter real vr0c = `INF from (0:`INF] `P(spice:name="vr0c" info="forward Early voltage (normalization volt.)" unit="V" default="infinity" test:value="25.0");
parameter real fgeo = 0.656 from [0:`INF] `P(spice:name="fgeo" info="Geometry factor" test:value="0.73");
// Series resistances
(*spice_name="rbx", info="External base series resistance", test_value="8.8", unit="Ohm", m_inverse_factor="yes"*) parameter real rbx = 0.0 from [0:`INF);
(*spice_name="rcx", info="Emitter series resistance", test_value="12.5", unit="Ohm", m_inverse_factor="yes"*) parameter real rcx = 0.0 from [0:`INF);
(*spice_name="re", info="External collector series resistance", test_value="9.16", unit="Ohm", m_inverse_factor="yes"*) parameter real re = 0.0 from [0:`INF);
parameter real rbx = 0.0 from [0:`INF) `P(spice:name="rbx" info="External base series resistance" test:value="8.8" unit="Ohm" m:inverse_factor="yes");
parameter real rcx = 0.0 from [0:`INF) `P(spice:name="rcx" info="Emitter series resistance" test:value="12.5" unit="Ohm" m:inverse_factor="yes");
parameter real re = 0.0 from [0:`INF) `P(spice:name="re" info="External collector series resistance" test:value="9.16" unit="Ohm" m:inverse_factor="yes");
// Substrate transfer current, diode current and cap
(*spice_name="itss", info="Substrate transistor transfer saturation current", unit="A", test_value="1e-17", m_factor="yes"*) parameter real itss = 0.0 from [0:1.0];
(*spice_name="msf", info="Substrate transistor transfer current non-ideality factor"*) parameter real msf = 1.0 from (0:10];
(*spice_name="iscs", info="SC saturation current", unit="A", test_value="1e-17", m_factor="yes"*) parameter real iscs = 0.0 from [0:1.0];
(*spice_name="msc", info="SC non-ideality factor"*) parameter real msc = 1.0 from (0:10];
(*spice_name="cjs0", info="Zero-bias SC depletion capacitance", unit="F", test_value="1e-15", m_factor="yes"*) parameter real cjs0 = 1.0e-20 from [0:`INF);
(*spice_name="vds", info="SC built-in voltage", unit="V"*) parameter real vds = 0.3 from (0:10];
(*spice_name="zs", info="External SC exponent factor"*) parameter real zs = 0.3 from (0:1];
(*spice_name="vpts", info="SC punch-through voltage", unit="V", test_value="5.0", default="infinity"*) parameter real vpts = 100 from (0:100];
parameter real itss = 0.0 from [0:1.0] `P(spice:name="itss" info="Substrate transistor transfer saturation current" unit="A" test:value="1e-17" m:factor="yes");
parameter real msf = 1.0 from (0:10] `P(spice:name="msf" info="Substrate transistor transfer current non-ideality factor");
parameter real iscs = 0.0 from [0:1.0] `P(spice:name="iscs" info="SC saturation current" unit="A" test:value="1e-17" m:factor="yes");
parameter real msc = 1.0 from (0:10] `P(spice:name="msc" info="SC non-ideality factor");
parameter real cjs0 = 1.0e-20 from [0:`INF) `P(spice:name="cjs0" info="Zero-bias SC depletion capacitance" unit="F" test:value="1e-15" m:factor="yes");
parameter real vds = 0.3 from (0:10] `P(spice:name="vds" info="SC built-in voltage" unit="V");
parameter real zs = 0.3 from (0:1] `P(spice:name="zs" info="External SC exponent factor");
parameter real vpts = 100 from (0:100] `P(spice:name="vpts" info="SC punch-through voltage" unit="V" test:value="5.0" default="infinity");
// Parasitic caps
(*spice_name="cbcpar", info="Collector-base isolation (overlap) capacitance", unit="F", m_factor="yes", test_value="1e-15"*) parameter real cbcpar = 0.0 from [0:`INF);
(*spice_name="cbepar", info="Emitter-base oxide capacitance", unit="F", m_factor="yes", test_value="2e-15"*) parameter real cbepar = 0.0 from [0:`INF);
parameter real cbcpar = 0.0 from [0:`INF) `P(spice:name="cbcpar" info="Collector-base isolation (overlap) capacitance" unit="F" m:factor="yes" test:value="1e-15");
parameter real cbepar = 0.0 from [0:`INF) `P(spice:name="cbepar" info="Emitter-base oxide capacitance" unit="F" m:factor="yes" test:value="2e-15");
// BC avalanche current
(*spice_name="eavl", info="Exponent factor", test_value="1e-14"*) parameter real eavl = 0.0 from [0:inf);
(*spice_name="kavl", info="Prefactor", test_value="1.19"*) parameter real kavl = 0.0 from [0:`INF);
parameter real eavl = 0.0 from [0:inf) `P(spice:name="eavl" info="Exponent factor" test:value="1e-14");
parameter real kavl = 0.0 from [0:`INF) `P(spice:name="kavl" info="Prefactor" test:value="1.19");
// Flicker noise
(*spice_name="kf", info="flicker noise coefficient", unit="M^(1-AF)"*) parameter real kf = 0.0 from [0:`INF);
(*spice_name="af", info="flicker noise exponent factor"*) parameter real af = 2.0 from (0:10];
parameter real kf = 0.0 from [0:`INF) `P(spice:name="kf" info="flicker noise coefficient" unit="M^(1-AF)");
parameter real af = 2.0 from (0:10] `P(spice:name="af" info="flicker noise exponent factor");
// Temperature dependance
(*spice_name="vgb", info="Bandgap-voltage", unit="V", test_value="1.17"*) parameter real vgb = 1.2 from (0:10];
(*spice_name="vge", info="Effective emitter bandgap-voltage", unit="V", test_value="1.07"*) parameter real vge = 1.17 from (0:10];
(*spice_name="vgc", info="Effective collector bandgap-voltage", unit="V", test_value="1.14"*) parameter real vgc = 1.17 from (0:10];
(*spice_name="vgs", info="Effective substrate bandgap-voltage", unit="V", test_value="1.17"*) parameter real vgs = 1.17 from (0:10];
(*spice_name="f1vg", info="Coefficient K1 in T-dependent bandgap equation", unit="V/K"*) parameter real f1vg =-1.02377e-4;
(*spice_name="f2vg", info="Coefficient K2 in T-dependent bandgap equation", unit="V/K"*) parameter real f2vg = 4.3215e-4;
(*spice_name="alt0", info="Frist-order TC of tf0", unit="1/K"*) parameter real alt0 = 0.0;
(*spice_name="kt0", info="Second-order TC of tf0", unit="1/K^2"*) parameter real kt0 = 0.0;
(*spice_name="zetact", info="Exponent coefficient in transfer current temperature dependence", test_value="3.5"*) parameter real zetact = 3.0;
(*spice_name="zetabet", info="Exponent coefficient in BE junction current temperature dependence", test_value="4.0"*) parameter real zetabet = 3.5;
(*spice_name="zetaci", info="TC of epi-collector diffusivity", test_value="1.6"*) parameter real zetaci = 0.0;
(*spice_name="alvs", info="Relative TC of satur.drift velocity", unit="1/K", test_value="1e-3"*) parameter real alvs = 0.0;
(*spice_name="alces", info="Relative TC of vces", unit="1/K", test_value="4e-4"*) parameter real alces = 0.0;
(*spice_name="zetarbi", info="TC of internal base resistance", test_value="0.6"*) parameter real zetarbi = 0.0;
(*spice_name="zetarbx", info="TC of external base resistance", test_value="0.2"*) parameter real zetarbx = 0.0;
(*spice_name="zetarcx", info="TC of external collector resistance", test_value="0.2"*) parameter real zetarcx = 0.0;
(*spice_name="zetare", info="TC of emitter resistances"*) parameter real zetare = 0.0;
(*spice_name="alkav", info="TC of avalanche prefactor", unit="1/K"*) parameter real alkav = 0.0;
(*spice_name="aleav", info="TC of avalanche exponential factor", unit="1/K"*) parameter real aleav = 0.0;
parameter real vgb = 1.2 from (0:10] `P(spice:name="vgb" info="Bandgap-voltage" unit="V" test:value="1.17");
parameter real vge = 1.17 from (0:10] `P(spice:name="vge" info="Effective emitter bandgap-voltage" unit="V" test:value="1.07");
parameter real vgc = 1.17 from (0:10] `P(spice:name="vgc" info="Effective collector bandgap-voltage" unit="V" test:value="1.14");
parameter real vgs = 1.17 from (0:10] `P(spice:name="vgs" info="Effective substrate bandgap-voltage" unit="V" test:value="1.17");
parameter real f1vg =-1.02377e-4 `P(spice:name="f1vg" info="Coefficient K1 in T-dependent bandgap equation" unit="V/K");
parameter real f2vg = 4.3215e-4 `P(spice:name="f2vg" info="Coefficient K2 in T-dependent bandgap equation" unit="V/K");
parameter real alt0 = 0.0 `P(spice:name="alt0" info="Frist-order TC of tf0" unit="1/K");
parameter real kt0 = 0.0 `P(spice:name="kt0" info="Second-order TC of tf0" unit="1/K^2");
parameter real zetact = 3.0 `P(spice:name="zetact" info="Exponent coefficient in transfer current temperature dependence" test:value="3.5");
parameter real zetabet = 3.5 `P(spice:name="zetabet" info="Exponent coefficient in BE junction current temperature dependence" test:value="4.0");
parameter real zetaci = 0.0 `P(spice:name="zetaci" info="TC of epi-collector diffusivity" test:value="1.6");
parameter real alvs = 0.0 `P(spice:name="alvs" info="Relative TC of satur.drift velocity" unit="1/K" test:value="1e-3");
parameter real alces = 0.0 `P(spice:name="alces" info="Relative TC of vces" unit="1/K" test:value="4e-4");
parameter real zetarbi = 0.0 `P(spice:name="zetarbi" info="TC of internal base resistance" test:value="0.6");
parameter real zetarbx = 0.0 `P(spice:name="zetarbx" info="TC of external base resistance" test:value="0.2");
parameter real zetarcx = 0.0 `P(spice:name="zetarcx" info="TC of external collector resistance" test:value="0.2");
parameter real zetare = 0.0 `P(spice:name="zetare" info="TC of emitter resistances");
parameter real alkav = 0.0 `P(spice:name="alkav" info="TC of avalanche prefactor" unit="1/K");
parameter real aleav = 0.0 `P(spice:name="aleav" info="TC of avalanche exponential factor" unit="1/K");
// Self-heating
(*spice_name="flsh", info="Flag for self-heating calculation", test_value="2"*) parameter integer flsh = 0 from [0:2];
(*spice_name="rth", info="Thermal resistance", test_value="200.0", unit="K/W", m_inverse_factor="yes"*) parameter real rth = 0.0 from [0:`INF);
(*spice_name="cth", info="Thermal capacitance", test_value="0.1", unit="Ws/K", m_factor="yes"*) parameter real cth = 0.0 from [0:`INF);
parameter integer flsh = 0 from [0:2] `P(spice:name="flsh" info="Flag for self-heating calculation" test:value="2");
parameter real rth = 0.0 from [0:`INF) `P(spice:name="rth" info="Thermal resistance" test:value="200.0" unit="K/W" m:inverse_factor="yes");
parameter real cth = 0.0 from [0:`INF) `P(spice:name="cth" info="Thermal capacitance" test:value="0.1" unit="Ws/K" m:factor="yes");
// Transistor type
(*spice_isflag="yes", info="model type flag for npn" *) parameter integer npn = 1 from [0:1];
(*info="model type flag for pnp" *) parameter integer pnp = 0 from [0:1];
parameter integer npn = 1 from [0:1] `P(spice:isflag="yes" info="model type flag for npn" );
parameter integer pnp = 0 from [0:1] `P(info="model type flag for pnp" );
//Circuit simulator specific parameters
(*spice_name="tnom", info="Temperature for which parameters are valid", unit="C"*) parameter real tnom = 27;
(*spice_name="dt", type="instance", info="Temperature change for particular transistor", unit="K"*) parameter real dt = 0.0;
parameter real tnom = 27 `P(spice:name="tnom" info="Temperature for which parameters are valid" unit="C");
parameter real dt = 0.0 `P(spice:name="dt" type="instance" info="Temperature change for particular transistor" unit="K");
// Declaration of the variables: begin
real _circuit_gmin;
real HICUMtype ;
real HICUMtype `P(spice:name="type" info="Device type from npn or pnp flags" unit="no" ask="yes");
(*info="Maximum current up to which forward current behaves exponentially", unit="A" *) parameter real IMAX = 1000 `from(`IMAX_cliplow ,inf );
(*info="Zero-bias capacitance per unit-of-area of bottom component", unit="Fm^-2" *) parameter real CJORBOT = 1E-3 `from(`CJORBOT_cliplow ,inf );
(*info="Zero-bias capacitance per unit-of-length of STI-edge component", unit="Fm^-1" *) parameter real CJORSTI = 1E-9 `from(`CJORSTI_cliplow ,inf );
(*info="Zero-bias capacitance per unit-of-length of gate-edge component", unit="Fm^-1" *) parameter real CJORGAT = 1E-9 `from(`CJORGAT_cliplow ,inf );
(*info="Built-in voltage at the reference temperature of bottom component", unit="V" *) parameter real VBIRBOT = 1 `from(`VBIR_cliplow ,inf );
(*info="Built-in voltage at the reference temperature of STI-edge component", unit="V" *) parameter real VBIRSTI = 1 `from(`VBIR_cliplow ,inf );
(*info="Built-in voltage at the reference temperature of gate-edge component", unit="V" *) parameter real VBIRGAT = 1 `from(`VBIR_cliplow ,inf );
(*info="Grading coefficient of bottom component", unit="" *) parameter real PBOT = 0.5 `from(`P_cliplow ,`P_cliphigh );
(*info="Grading coefficient of STI-edge component", unit="" *) parameter real PSTI = 0.5 `from(`P_cliplow ,`P_cliphigh );
(*info="Grading coefficient of gate-edge component", unit="" *) parameter real PGAT = 0.5 `from(`P_cliplow ,`P_cliphigh );
(*info="Zero-temperature bandgap voltage of bottom component", unit="V" *) parameter real PHIGBOT = 1.16 ;
(*info="Zero-temperature bandgap voltage of STI-edge component", unit="V" *) parameter real PHIGSTI = 1.16 ;
(*info="Zero-temperature bandgap voltage of gate-edge component", unit="V" *) parameter real PHIGGAT = 1.16 ;
(*info="Saturation current density at the reference temperature of bottom component", unit="Am^-2" *) parameter real IDSATRBOT = 1E-12 `from(`IDSATR_cliplow ,inf );
(*info="Saturation current density at the reference temperature of STI-edge component", unit="Am^-1" *) parameter real IDSATRSTI = 1E-18 `from(`IDSATR_cliplow ,inf );
(*info="Saturation current density at the reference temperature of gate-edge component", unit="Am^-1" *) parameter real IDSATRGAT = 1E-18 `from(`IDSATR_cliplow ,inf );
(*info="Shockley-Read-Hall prefactor of bottom component", unit="Am^-3" *) parameter real CSRHBOT = 1E2 `from(`CSRH_cliplow ,inf );
(*info="Shockley-Read-Hall prefactor of STI-edge component", unit="Am^-2" *) parameter real CSRHSTI = 1E-4 `from(`CSRH_cliplow ,inf );
(*info="Shockley-Read-Hall prefactor of gate-edge component", unit="Am^-2" *) parameter real CSRHGAT = 1E-4 `from(`CSRH_cliplow ,inf );
(*info="Junction depth of STI-edge component", unit="m" *) parameter real XJUNSTI = 100E-9 `from(`XJUN_cliplow ,inf );
(*info="Junction depth of gate-edge component", unit="m" *) parameter real XJUNGAT = 100E-9 `from(`XJUN_cliplow ,inf );
(*info="Trap-assisted tunneling prefactor of bottom component", unit="Am^-3" *) parameter real CTATBOT = 1E2 `from(`CTAT_cliplow ,inf );
(*info="Trap-assisted tunneling prefactor of STI-edge component", unit="Am^-2" *) parameter real CTATSTI = 1E-4 `from(`CTAT_cliplow ,inf );
(*info="Trap-assisted tunneling prefactor of gate-edge component", unit="Am^-2" *) parameter real CTATGAT = 1E-4 `from(`CTAT_cliplow ,inf );
(*info="Effective mass (in units of m0) for trap-assisted tunneling of bottom component", unit="" *) parameter real MEFFTATBOT = 0.25 `from(`MEFFTAT_cliplow ,inf );
(*info="Effective mass (in units of m0) for trap-assisted tunneling of STI-edge component", unit="" *) parameter real MEFFTATSTI = 0.25 `from(`MEFFTAT_cliplow ,inf );
(*info="Effective mass (in units of m0) for trap-assisted tunneling of gate-edge component", unit="" *) parameter real MEFFTATGAT = 0.25 `from(`MEFFTAT_cliplow ,inf );
(*info="Band-to-band tunneling prefactor of bottom component", unit="AV^-3" *) parameter real CBBTBOT = 1E-12 `from(`CBBT_cliplow ,inf );
(*info="Band-to-band tunneling prefactor of STI-edge component", unit="AV^-3m" *) parameter real CBBTSTI = 1E-18 `from(`CBBT_cliplow ,inf );
(*info="Band-to-band tunneling prefactor of gate-edge component", unit="AV^-3m" *) parameter real CBBTGAT = 1E-18 `from(`CBBT_cliplow ,inf );
(*info="Normalization field at the reference temperature for band-to-band tunneling of bottom component", unit="Vm^-1" *) parameter real FBBTRBOT = 1E9 ;
(*info="Normalization field at the reference temperature for band-to-band tunneling of STI-edge component", unit="Vm^-1" *) parameter real FBBTRSTI = 1E9 ;
(*info="Normalization field at the reference temperature for band-to-band tunneling of gate-edge component", unit="Vm^-1" *) parameter real FBBTRGAT = 1E9 ;
(*info="Temperature scaling parameter for band-to-band tunneling of bottom component", unit="K^-1" *) parameter real STFBBTBOT = -1E-3 ;
(*info="Temperature scaling parameter for band-to-band tunneling of STI-edge component", unit="K^-1" *) parameter real STFBBTSTI = -1E-3 ;
(*info="Temperature scaling parameter for band-to-band tunneling of gate-edge component", unit="K^-1" *) parameter real STFBBTGAT = -1E-3 ;
(*info="Breakdown voltage of bottom component", unit="V" *) parameter real VBRBOT = 10 `from(`VBR_cliplow ,inf );
(*info="Breakdown voltage of STI-edge component", unit="V" *) parameter real VBRSTI = 10 `from(`VBR_cliplow ,inf );
(*info="Breakdown voltage of gate-edge component", unit="V" *) parameter real VBRGAT = 10 `from(`VBR_cliplow ,inf );
(*info="Breakdown onset tuning parameter of bottom component", unit="V" *) parameter real PBRBOT = 4 `from(`PBR_cliplow ,inf );
(*info="Breakdown onset tuning parameter of STI-edge component", unit="V" *) parameter real PBRSTI = 4 `from(`PBR_cliplow ,inf );
(*info="Breakdown onset tuning parameter of gate-edge component", unit="V" *) parameter real PBRGAT = 4 `from(`PBR_cliplow ,inf );
parameter real IMAX = 1000 `from(`IMAX_cliplow ,inf ) `P(info="Maximum current up to which forward current behaves exponentially" unit="A" );
parameter real CJORBOT = 1E-3 `from(`CJORBOT_cliplow ,inf ) `P(info="Zero-bias capacitance per unit-of-area of bottom component" unit="Fm^-2" );
parameter real CJORSTI = 1E-9 `from(`CJORSTI_cliplow ,inf ) `P(info="Zero-bias capacitance per unit-of-length of STI-edge component" unit="Fm^-1" );
parameter real CJORGAT = 1E-9 `from(`CJORGAT_cliplow ,inf ) `P(info="Zero-bias capacitance per unit-of-length of gate-edge component" unit="Fm^-1" );
parameter real VBIRBOT = 1 `from(`VBIR_cliplow ,inf ) `P(info="Built-in voltage at the reference temperature of bottom component" unit="V" );
parameter real VBIRSTI = 1 `from(`VBIR_cliplow ,inf ) `P(info="Built-in voltage at the reference temperature of STI-edge component" unit="V" );
parameter real VBIRGAT = 1 `from(`VBIR_cliplow ,inf ) `P(info="Built-in voltage at the reference temperature of gate-edge component" unit="V" );
parameter real PBOT = 0.5 `from(`P_cliplow ,`P_cliphigh ) `P(info="Grading coefficient of bottom component" unit="" );
parameter real PSTI = 0.5 `from(`P_cliplow ,`P_cliphigh ) `P(info="Grading coefficient of STI-edge component" unit="" );
parameter real PGAT = 0.5 `from(`P_cliplow ,`P_cliphigh ) `P(info="Grading coefficient of gate-edge component" unit="" );
parameter real PHIGBOT = 1.16 `P(info="Zero-temperature bandgap voltage of bottom component" unit="V" );
parameter real PHIGSTI = 1.16 `P(info="Zero-temperature bandgap voltage of STI-edge component" unit="V" );
parameter real PHIGGAT = 1.16 `P(info="Zero-temperature bandgap voltage of gate-edge component" unit="V" );
parameter real IDSATRBOT = 1E-12 `from(`IDSATR_cliplow ,inf ) `P(info="Saturation current density at the reference temperature of bottom component" unit="Am^-2" );
parameter real IDSATRSTI = 1E-18 `from(`IDSATR_cliplow ,inf ) `P(info="Saturation current density at the reference temperature of STI-edge component" unit="Am^-1" );
parameter real IDSATRGAT = 1E-18 `from(`IDSATR_cliplow ,inf ) `P(info="Saturation current density at the reference temperature of gate-edge component" unit="Am^-1" );
parameter real CSRHBOT = 1E2 `from(`CSRH_cliplow ,inf ) `P(info="Shockley-Read-Hall prefactor of bottom component" unit="Am^-3" );
parameter real CSRHSTI = 1E-4 `from(`CSRH_cliplow ,inf ) `P(info="Shockley-Read-Hall prefactor of STI-edge component" unit="Am^-2" );
parameter real CSRHGAT = 1E-4 `from(`CSRH_cliplow ,inf ) `P(info="Shockley-Read-Hall prefactor of gate-edge component" unit="Am^-2" );
parameter real XJUNSTI = 100E-9 `from(`XJUN_cliplow ,inf ) `P(info="Junction depth of STI-edge component" unit="m" );
parameter real XJUNGAT = 100E-9 `from(`XJUN_cliplow ,inf ) `P(info="Junction depth of gate-edge component" unit="m" );
parameter real CTATBOT = 1E2 `from(`CTAT_cliplow ,inf ) `P(info="Trap-assisted tunneling prefactor of bottom component" unit="Am^-3" );
parameter real CTATSTI = 1E-4 `from(`CTAT_cliplow ,inf ) `P(info="Trap-assisted tunneling prefactor of STI-edge component" unit="Am^-2" );
parameter real CTATGAT = 1E-4 `from(`CTAT_cliplow ,inf ) `P(info="Trap-assisted tunneling prefactor of gate-edge component" unit="Am^-2" );
parameter real MEFFTATBOT = 0.25 `from(`MEFFTAT_cliplow ,inf ) `P(info="Effective mass (in units of m0) for trap-assisted tunneling of bottom component" unit="" );
parameter real MEFFTATSTI = 0.25 `from(`MEFFTAT_cliplow ,inf ) `P(info="Effective mass (in units of m0) for trap-assisted tunneling of STI-edge component" unit="" );
parameter real MEFFTATGAT = 0.25 `from(`MEFFTAT_cliplow ,inf ) `P(info="Effective mass (in units of m0) for trap-assisted tunneling of gate-edge component" unit="" );
parameter real CBBTBOT = 1E-12 `from(`CBBT_cliplow ,inf ) `P(info="Band-to-band tunneling prefactor of bottom component" unit="AV^-3" );
parameter real CBBTSTI = 1E-18 `from(`CBBT_cliplow ,inf ) `P(info="Band-to-band tunneling prefactor of STI-edge component" unit="AV^-3m" );
parameter real CBBTGAT = 1E-18 `from(`CBBT_cliplow ,inf ) `P(info="Band-to-band tunneling prefactor of gate-edge component" unit="AV^-3m" );
parameter real FBBTRBOT = 1E9 `P(info="Normalization field at the reference temperature for band-to-band tunneling of bottom component" unit="Vm^-1" );
parameter real FBBTRSTI = 1E9 `P(info="Normalization field at the reference temperature for band-to-band tunneling of STI-edge component" unit="Vm^-1" );
parameter real FBBTRGAT = 1E9 `P(info="Normalization field at the reference temperature for band-to-band tunneling of gate-edge component" unit="Vm^-1" );
parameter real STFBBTBOT = -1E-3 `P(info="Temperature scaling parameter for band-to-band tunneling of bottom component" unit="K^-1" );
parameter real STFBBTSTI = -1E-3 `P(info="Temperature scaling parameter for band-to-band tunneling of STI-edge component" unit="K^-1" );
parameter real STFBBTGAT = -1E-3 `P(info="Temperature scaling parameter for band-to-band tunneling of gate-edge component" unit="K^-1" );
parameter real VBRBOT = 10 `from(`VBR_cliplow ,inf ) `P(info="Breakdown voltage of bottom component" unit="V" );
parameter real VBRSTI = 10 `from(`VBR_cliplow ,inf ) `P(info="Breakdown voltage of STI-edge component" unit="V" );
parameter real VBRGAT = 10 `from(`VBR_cliplow ,inf ) `P(info="Breakdown voltage of gate-edge component" unit="V" );
parameter real PBRBOT = 4 `from(`PBR_cliplow ,inf ) `P(info="Breakdown onset tuning parameter of bottom component" unit="V" );
parameter real PBRSTI = 4 `from(`PBR_cliplow ,inf ) `P(info="Breakdown onset tuning parameter of STI-edge component" unit="V" );
parameter real PBRGAT = 4 `from(`PBR_cliplow ,inf ) `P(info="Breakdown onset tuning parameter of gate-edge component" unit="V" );