psp102, use (*desc*) instead of (*info*)

This commit is contained in:
rlar 2017-07-11 17:59:38 +02:00 committed by Holger Vogt
parent 493e975d35
commit 7a54ecf567
5 changed files with 595 additions and 594 deletions

View File

@ -21,45 +21,45 @@
//
//////////////////////////////////////////
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" );
parameter real IMAX = 1000 `from(`IMAX_cliplow ,inf ) `P(desc="Maximum current up to which forward current behaves exponentially" unit="A" );
parameter real CJORBOT = 1E-3 `from(`CJORBOT_cliplow ,inf ) `P(desc="Zero-bias capacitance per unit-of-area of bottom component" unit="Fm^-2" );
parameter real CJORSTI = 1E-9 `from(`CJORSTI_cliplow ,inf ) `P(desc="Zero-bias capacitance per unit-of-length of STI-edge component" unit="Fm^-1" );
parameter real CJORGAT = 1E-9 `from(`CJORGAT_cliplow ,inf ) `P(desc="Zero-bias capacitance per unit-of-length of gate-edge component" unit="Fm^-1" );
parameter real VBIRBOT = 1 `from(`VBIR_cliplow ,inf ) `P(desc="Built-in voltage at the reference temperature of bottom component" unit="V" );
parameter real VBIRSTI = 1 `from(`VBIR_cliplow ,inf ) `P(desc="Built-in voltage at the reference temperature of STI-edge component" unit="V" );
parameter real VBIRGAT = 1 `from(`VBIR_cliplow ,inf ) `P(desc="Built-in voltage at the reference temperature of gate-edge component" unit="V" );
parameter real PBOT = 0.5 `from(`P_cliplow ,`P_cliphigh ) `P(desc="Grading coefficient of bottom component" unit="" );
parameter real PSTI = 0.5 `from(`P_cliplow ,`P_cliphigh ) `P(desc="Grading coefficient of STI-edge component" unit="" );
parameter real PGAT = 0.5 `from(`P_cliplow ,`P_cliphigh ) `P(desc="Grading coefficient of gate-edge component" unit="" );
parameter real PHIGBOT = 1.16 `P(desc="Zero-temperature bandgap voltage of bottom component" unit="V" );
parameter real PHIGSTI = 1.16 `P(desc="Zero-temperature bandgap voltage of STI-edge component" unit="V" );
parameter real PHIGGAT = 1.16 `P(desc="Zero-temperature bandgap voltage of gate-edge component" unit="V" );
parameter real IDSATRBOT = 1E-12 `from(`IDSATR_cliplow ,inf ) `P(desc="Saturation current density at the reference temperature of bottom component" unit="Am^-2" );
parameter real IDSATRSTI = 1E-18 `from(`IDSATR_cliplow ,inf ) `P(desc="Saturation current density at the reference temperature of STI-edge component" unit="Am^-1" );
parameter real IDSATRGAT = 1E-18 `from(`IDSATR_cliplow ,inf ) `P(desc="Saturation current density at the reference temperature of gate-edge component" unit="Am^-1" );
parameter real CSRHBOT = 1E2 `from(`CSRH_cliplow ,inf ) `P(desc="Shockley-Read-Hall prefactor of bottom component" unit="Am^-3" );
parameter real CSRHSTI = 1E-4 `from(`CSRH_cliplow ,inf ) `P(desc="Shockley-Read-Hall prefactor of STI-edge component" unit="Am^-2" );
parameter real CSRHGAT = 1E-4 `from(`CSRH_cliplow ,inf ) `P(desc="Shockley-Read-Hall prefactor of gate-edge component" unit="Am^-2" );
parameter real XJUNSTI = 100E-9 `from(`XJUN_cliplow ,inf ) `P(desc="Junction depth of STI-edge component" unit="m" );
parameter real XJUNGAT = 100E-9 `from(`XJUN_cliplow ,inf ) `P(desc="Junction depth of gate-edge component" unit="m" );
parameter real CTATBOT = 1E2 `from(`CTAT_cliplow ,inf ) `P(desc="Trap-assisted tunneling prefactor of bottom component" unit="Am^-3" );
parameter real CTATSTI = 1E-4 `from(`CTAT_cliplow ,inf ) `P(desc="Trap-assisted tunneling prefactor of STI-edge component" unit="Am^-2" );
parameter real CTATGAT = 1E-4 `from(`CTAT_cliplow ,inf ) `P(desc="Trap-assisted tunneling prefactor of gate-edge component" unit="Am^-2" );
parameter real MEFFTATBOT = 0.25 `from(`MEFFTAT_cliplow ,inf ) `P(desc="Effective mass (in units of m0) for trap-assisted tunneling of bottom component" unit="" );
parameter real MEFFTATSTI = 0.25 `from(`MEFFTAT_cliplow ,inf ) `P(desc="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(desc="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(desc="Band-to-band tunneling prefactor of bottom component" unit="AV^-3" );
parameter real CBBTSTI = 1E-18 `from(`CBBT_cliplow ,inf ) `P(desc="Band-to-band tunneling prefactor of STI-edge component" unit="AV^-3m" );
parameter real CBBTGAT = 1E-18 `from(`CBBT_cliplow ,inf ) `P(desc="Band-to-band tunneling prefactor of gate-edge component" unit="AV^-3m" );
parameter real FBBTRBOT = 1E9 `P(desc="Normalization field at the reference temperature for band-to-band tunneling of bottom component" unit="Vm^-1" );
parameter real FBBTRSTI = 1E9 `P(desc="Normalization field at the reference temperature for band-to-band tunneling of STI-edge component" unit="Vm^-1" );
parameter real FBBTRGAT = 1E9 `P(desc="Normalization field at the reference temperature for band-to-band tunneling of gate-edge component" unit="Vm^-1" );
parameter real STFBBTBOT = -1E-3 `P(desc="Temperature scaling parameter for band-to-band tunneling of bottom component" unit="K^-1" );
parameter real STFBBTSTI = -1E-3 `P(desc="Temperature scaling parameter for band-to-band tunneling of STI-edge component" unit="K^-1" );
parameter real STFBBTGAT = -1E-3 `P(desc="Temperature scaling parameter for band-to-band tunneling of gate-edge component" unit="K^-1" );
parameter real VBRBOT = 10 `from(`VBR_cliplow ,inf ) `P(desc="Breakdown voltage of bottom component" unit="V" );
parameter real VBRSTI = 10 `from(`VBR_cliplow ,inf ) `P(desc="Breakdown voltage of STI-edge component" unit="V" );
parameter real VBRGAT = 10 `from(`VBR_cliplow ,inf ) `P(desc="Breakdown voltage of gate-edge component" unit="V" );
parameter real PBRBOT = 4 `from(`PBR_cliplow ,inf ) `P(desc="Breakdown onset tuning parameter of bottom component" unit="V" );
parameter real PBRSTI = 4 `from(`PBR_cliplow ,inf ) `P(desc="Breakdown onset tuning parameter of STI-edge component" unit="V" );
parameter real PBRGAT = 4 `from(`PBR_cliplow ,inf ) `P(desc="Breakdown onset tuning parameter of gate-edge component" unit="V" );

View File

@ -19,215 +19,215 @@
// PSP global model parameters (binning)
///////////////////////////////////////////////////
parameter real LEVEL = 1021 `P(info="Model level" unit="" );
parameter real TYPE = 1 `from( -1.0,1.0 ) `P(info="Channel type parameter, +1=NMOS -1=PMOS" unit="" );
parameter real TR = 21 `from( -273.0,inf ) `P(info="nominal (reference) temperature" unit="C" );
parameter real LEVEL = 1021 `P(desc="Model level" unit="" );
parameter real TYPE = 1 `from( -1.0,1.0 ) `P(desc="Channel type parameter, +1=NMOS -1=PMOS" unit="" );
parameter real TR = 21 `from( -273.0,inf ) `P(desc="nominal (reference) temperature" unit="C" );
// Switch parameters
parameter real SWIGATE = 0 `from( 0.0,1.0 ) `P(info="Flag for gate current, 0=turn off IG" unit="" );
parameter real SWIMPACT = 0 `from( 0.0,1.0 ) `P(info="Flag for impact ionization current, 0=turn off II" unit="" );
parameter real SWGIDL = 0 `from( 0.0,1.0 ) `P(info="Flag for GIDL current, 0=turn off IGIDL" unit="" );
parameter real SWJUNCAP = 0 `from( 0.0,3.0 ) `P(info="Flag for juncap, 0=turn off juncap" unit="" );
parameter real QMC = 1 `from( 0.0,inf ) `P(info="Quantum-mechanical correction factor" unit="" );
parameter real SWIGATE = 0 `from( 0.0,1.0 ) `P(desc="Flag for gate current, 0=turn off IG" unit="" );
parameter real SWIMPACT = 0 `from( 0.0,1.0 ) `P(desc="Flag for impact ionization current, 0=turn off II" unit="" );
parameter real SWGIDL = 0 `from( 0.0,1.0 ) `P(desc="Flag for GIDL current, 0=turn off IGIDL" unit="" );
parameter real SWJUNCAP = 0 `from( 0.0,3.0 ) `P(desc="Flag for juncap, 0=turn off juncap" unit="" );
parameter real QMC = 1 `from( 0.0,inf ) `P(desc="Quantum-mechanical correction factor" unit="" );
// Process parameters
parameter real LVARO = 0 `P(info="Geometry independent difference between actual and programmed poly-silicon gate length" unit="m" );
parameter real LVARL = 0 `P(info="Length dependence of difference between actual and programmed poly-silicon gate length" unit="" );
parameter real LAP = 0 `P(info="Effective channel length reduction per side due to lateral diffusion of source/drain dopant ions" unit="m" );
parameter real WVARO = 0 `P(info="Geometry independent difference between actual and programmed field-oxide opening" unit="m" );
parameter real WVARW = 0 `P(info="Width dependence of difference between actual and programmed field-oxide opening" unit="" );
parameter real WOT = 0 `P(info="Effective reduction of channel width per side due to lateral diffusion of channel-stop dopant ions" unit="m" );
parameter real DLQ = 0 `P(info="Effective channel length reduction for CV" unit="m" );
parameter real DWQ = 0 `P(info="Effective channel width reduction for CV" unit="m" );
parameter real POVFB = -1 `P(info="Coefficient for the geometry independent part of VFB" unit="V" );
parameter real PLVFB = 0.0 `P(info="Coefficient for the length dependence of VFB" unit="V" );
parameter real PWVFB = 0.0 `P(info="Coefficient for the width dependence of VFB" unit="V" );
parameter real PLWVFB = 0.0 `P(info="Coefficient for the length times width dependence of VFB" unit="V" );
parameter real POSTVFB = 0.0005 `P(info="Coefficient for the geometry independent part of STVFB" unit="V/K" );
parameter real PLSTVFB = 0.0 `P(info="Coefficient for the length dependence of STVFB" unit="V/K" );
parameter real PWSTVFB = 0.0 `P(info="Coefficient for the width dependence of STVFB" unit="V/K" );
parameter real PLWSTVFB = 0.0 `P(info="Coefficient for the length times width dependence of STVFB" unit="V/K" );
parameter real POTOX = 2E-09 `P(info="Coefficient for the geometry independent part of TOX" unit="m" );
parameter real PONEFF = 5E+23 `P(info="Coefficient for the geometry independent part of NEFF" unit="m^-3" );
parameter real PLNEFF = 0.0 `P(info="Coefficient for the length dependence of NEFF" unit="m^-3" );
parameter real PWNEFF = 0.0 `P(info="Coefficient for the width dependence of NEFF" unit="m^-3" );
parameter real PLWNEFF = 0.0 `P(info="Coefficient for the length times width dependence of NEFF" unit="m^-3" );
parameter real POVNSUB = 0 `P(info="Coefficient for the geometry independent part of VNSUB" unit="V" );
parameter real PONSLP = 0.05 `P(info="Coefficient for the geometry independent part of NSLP" unit="V" );
parameter real PODNSUB = 0 `P(info="Coefficient for the geometry independent part of DNSUB" unit="V^-1" );
parameter real PODPHIB = 0 `P(info="Coefficient for the geometry independent part of DPHIB" unit="V" );
parameter real PLDPHIB = 0.0 `P(info="Coefficient for the length dependence of DPHIB" unit="V" );
parameter real PWDPHIB = 0.0 `P(info="Coefficient for the width dependence of DPHIB" unit="V" );
parameter real PLWDPHIB = 0.0 `P(info="Coefficient for the length times width dependence of DPHIB" unit="V" );
parameter real PONP = 1E+26 `P(info="Coefficient for the geometry independent part of NP" unit="m^-3" );
parameter real PLNP = 0.0 `P(info="Coefficient for the length dependence of NP" unit="m^-3" );
parameter real PWNP = 0.0 `P(info="Coefficient for the width dependence of NP" unit="m^-3" );
parameter real PLWNP = 0.0 `P(info="Coefficient for the length times width dependence of NP" unit="m^-3" );
parameter real POCT = 0 `P(info="Coefficient for the geometry independent part of CT" unit="" );
parameter real PLCT = 0.0 `P(info="Coefficient for the length dependence of CT" unit="" );
parameter real PWCT = 0.0 `P(info="Coefficient for the width dependence of CT" unit="" );
parameter real PLWCT = 0.0 `P(info="Coefficient for the length times width dependence of CT" unit="" );
parameter real POTOXOV = 2E-09 `P(info="Coefficient for the geometry independent part of TOXOV" unit="m" );
parameter real PONOV = 5E+25 `P(info="Coefficient for the geometry independent part of NOV" unit="m^-3" );
parameter real PLNOV = 0.0 `P(info="Coefficient for the length dependence of NOV" unit="m^-3" );
parameter real PWNOV = 0.0 `P(info="Coefficient for the width dependence of NOV" unit="m^-3" );
parameter real PLWNOV = 0.0 `P(info="Coefficient for the length times width dependence of NOV" unit="m^-3" );
parameter real LVARO = 0 `P(desc="Geometry independent difference between actual and programmed poly-silicon gate length" unit="m" );
parameter real LVARL = 0 `P(desc="Length dependence of difference between actual and programmed poly-silicon gate length" unit="" );
parameter real LAP = 0 `P(desc="Effective channel length reduction per side due to lateral diffusion of source/drain dopant ions" unit="m" );
parameter real WVARO = 0 `P(desc="Geometry independent difference between actual and programmed field-oxide opening" unit="m" );
parameter real WVARW = 0 `P(desc="Width dependence of difference between actual and programmed field-oxide opening" unit="" );
parameter real WOT = 0 `P(desc="Effective reduction of channel width per side due to lateral diffusion of channel-stop dopant ions" unit="m" );
parameter real DLQ = 0 `P(desc="Effective channel length reduction for CV" unit="m" );
parameter real DWQ = 0 `P(desc="Effective channel width reduction for CV" unit="m" );
parameter real POVFB = -1 `P(desc="Coefficient for the geometry independent part of VFB" unit="V" );
parameter real PLVFB = 0.0 `P(desc="Coefficient for the length dependence of VFB" unit="V" );
parameter real PWVFB = 0.0 `P(desc="Coefficient for the width dependence of VFB" unit="V" );
parameter real PLWVFB = 0.0 `P(desc="Coefficient for the length times width dependence of VFB" unit="V" );
parameter real POSTVFB = 0.0005 `P(desc="Coefficient for the geometry independent part of STVFB" unit="V/K" );
parameter real PLSTVFB = 0.0 `P(desc="Coefficient for the length dependence of STVFB" unit="V/K" );
parameter real PWSTVFB = 0.0 `P(desc="Coefficient for the width dependence of STVFB" unit="V/K" );
parameter real PLWSTVFB = 0.0 `P(desc="Coefficient for the length times width dependence of STVFB" unit="V/K" );
parameter real POTOX = 2E-09 `P(desc="Coefficient for the geometry independent part of TOX" unit="m" );
parameter real PONEFF = 5E+23 `P(desc="Coefficient for the geometry independent part of NEFF" unit="m^-3" );
parameter real PLNEFF = 0.0 `P(desc="Coefficient for the length dependence of NEFF" unit="m^-3" );
parameter real PWNEFF = 0.0 `P(desc="Coefficient for the width dependence of NEFF" unit="m^-3" );
parameter real PLWNEFF = 0.0 `P(desc="Coefficient for the length times width dependence of NEFF" unit="m^-3" );
parameter real POVNSUB = 0 `P(desc="Coefficient for the geometry independent part of VNSUB" unit="V" );
parameter real PONSLP = 0.05 `P(desc="Coefficient for the geometry independent part of NSLP" unit="V" );
parameter real PODNSUB = 0 `P(desc="Coefficient for the geometry independent part of DNSUB" unit="V^-1" );
parameter real PODPHIB = 0 `P(desc="Coefficient for the geometry independent part of DPHIB" unit="V" );
parameter real PLDPHIB = 0.0 `P(desc="Coefficient for the length dependence of DPHIB" unit="V" );
parameter real PWDPHIB = 0.0 `P(desc="Coefficient for the width dependence of DPHIB" unit="V" );
parameter real PLWDPHIB = 0.0 `P(desc="Coefficient for the length times width dependence of DPHIB" unit="V" );
parameter real PONP = 1E+26 `P(desc="Coefficient for the geometry independent part of NP" unit="m^-3" );
parameter real PLNP = 0.0 `P(desc="Coefficient for the length dependence of NP" unit="m^-3" );
parameter real PWNP = 0.0 `P(desc="Coefficient for the width dependence of NP" unit="m^-3" );
parameter real PLWNP = 0.0 `P(desc="Coefficient for the length times width dependence of NP" unit="m^-3" );
parameter real POCT = 0 `P(desc="Coefficient for the geometry independent part of CT" unit="" );
parameter real PLCT = 0.0 `P(desc="Coefficient for the length dependence of CT" unit="" );
parameter real PWCT = 0.0 `P(desc="Coefficient for the width dependence of CT" unit="" );
parameter real PLWCT = 0.0 `P(desc="Coefficient for the length times width dependence of CT" unit="" );
parameter real POTOXOV = 2E-09 `P(desc="Coefficient for the geometry independent part of TOXOV" unit="m" );
parameter real PONOV = 5E+25 `P(desc="Coefficient for the geometry independent part of NOV" unit="m^-3" );
parameter real PLNOV = 0.0 `P(desc="Coefficient for the length dependence of NOV" unit="m^-3" );
parameter real PWNOV = 0.0 `P(desc="Coefficient for the width dependence of NOV" unit="m^-3" );
parameter real PLWNOV = 0.0 `P(desc="Coefficient for the length times width dependence of NOV" unit="m^-3" );
// DIBL parameters
parameter real POCF = 0 `P(info="Coefficient for the geometry independent part of CF" unit="V^-1" );
parameter real PLCF = 0.0 `P(info="Coefficient for the length dependence of CF" unit="V^-1" );
parameter real PWCF = 0.0 `P(info="Coefficient for the width dependence of CF" unit="V^-1" );
parameter real PLWCF = 0.0 `P(info="Coefficient for the length times width dependence of CF" unit="V^-1" );
parameter real POCFB = 0 `P(info="Coefficient for the geometry independent part of CFB" unit="V^-1" );
parameter real POCF = 0 `P(desc="Coefficient for the geometry independent part of CF" unit="V^-1" );
parameter real PLCF = 0.0 `P(desc="Coefficient for the length dependence of CF" unit="V^-1" );
parameter real PWCF = 0.0 `P(desc="Coefficient for the width dependence of CF" unit="V^-1" );
parameter real PLWCF = 0.0 `P(desc="Coefficient for the length times width dependence of CF" unit="V^-1" );
parameter real POCFB = 0 `P(desc="Coefficient for the geometry independent part of CFB" unit="V^-1" );
// Mobility parameters
parameter real POBETN = 0.07 `P(info="Coefficient for the geometry independent part of BETN" unit="m^2/V/s" );
parameter real PLBETN = 0.0 `P(info="Coefficient for the length dependence of BETN" unit="m^2/V/s" );
parameter real PWBETN = 0.0 `P(info="Coefficient for the width dependence of BETN" unit="m^2/V/s" );
parameter real PLWBETN = 0.0 `P(info="Coefficient for the length times width dependence of BETN" unit="m^2/V/s" );
parameter real POSTBET = 1 `P(info="Coefficient for the geometry independent part of STBET" unit="" );
parameter real PLSTBET = 0.0 `P(info="Coefficient for the length dependence of STBET" unit="" );
parameter real PWSTBET = 0.0 `P(info="Coefficient for the width dependence of STBET" unit="" );
parameter real PLWSTBET = 0.0 `P(info="Coefficient for the length times width dependence of STBET" unit="" );
parameter real POMUE = 0.5 `P(info="Coefficient for the geometry independent part of MUE" unit="m/V" );
parameter real PLMUE = 0.0 `P(info="Coefficient for the length dependence of MUE" unit="m/V" );
parameter real PWMUE = 0.0 `P(info="Coefficient for the width dependence of MUE" unit="m/V" );
parameter real PLWMUE = 0.0 `P(info="Coefficient for the length times width dependence of MUE" unit="m/V" );
parameter real POSTMUE = 0 `P(info="Coefficient for the geometry independent part of STMUE" unit="" );
parameter real POTHEMU = 1.5 `P(info="Coefficient for the geometry independent part of THEMU" unit="" );
parameter real POSTTHEMU = 1.5 `P(info="Coefficient for the geometry independent part of STTHEMU" unit="" );
parameter real POCS = 0 `P(info="Coefficient for the geometry independent part of CS" unit="" );
parameter real PLCS = 0.0 `P(info="Coefficient for the length dependence of CS" unit="" );
parameter real PWCS = 0.0 `P(info="Coefficient for the width dependence of CS" unit="" );
parameter real PLWCS = 0.0 `P(info="Coefficient for the length times width dependence of CS" unit="" );
parameter real POSTCS = 0 `P(info="Coefficient for the geometry independent part of STCS" unit="" );
parameter real POXCOR = 0 `P(info="Coefficient for the geometry independent part of XCOR" unit="V^-1" );
parameter real PLXCOR = 0.0 `P(info="Coefficient for the length dependence of XCOR" unit="V^-1" );
parameter real PWXCOR = 0.0 `P(info="Coefficient for the width dependence of XCOR" unit="V^-1" );
parameter real PLWXCOR = 0.0 `P(info="Coefficient for the length times width dependence of XCOR" unit="V^-1" );
parameter real POSTXCOR = 0 `P(info="Coefficient for the geometry independent part of STXCOR" unit="" );
parameter real POFETA = 1 `P(info="Coefficient for the geometry independent part of FETA" unit="" );
parameter real POBETN = 0.07 `P(desc="Coefficient for the geometry independent part of BETN" unit="m^2/V/s" );
parameter real PLBETN = 0.0 `P(desc="Coefficient for the length dependence of BETN" unit="m^2/V/s" );
parameter real PWBETN = 0.0 `P(desc="Coefficient for the width dependence of BETN" unit="m^2/V/s" );
parameter real PLWBETN = 0.0 `P(desc="Coefficient for the length times width dependence of BETN" unit="m^2/V/s" );
parameter real POSTBET = 1 `P(desc="Coefficient for the geometry independent part of STBET" unit="" );
parameter real PLSTBET = 0.0 `P(desc="Coefficient for the length dependence of STBET" unit="" );
parameter real PWSTBET = 0.0 `P(desc="Coefficient for the width dependence of STBET" unit="" );
parameter real PLWSTBET = 0.0 `P(desc="Coefficient for the length times width dependence of STBET" unit="" );
parameter real POMUE = 0.5 `P(desc="Coefficient for the geometry independent part of MUE" unit="m/V" );
parameter real PLMUE = 0.0 `P(desc="Coefficient for the length dependence of MUE" unit="m/V" );
parameter real PWMUE = 0.0 `P(desc="Coefficient for the width dependence of MUE" unit="m/V" );
parameter real PLWMUE = 0.0 `P(desc="Coefficient for the length times width dependence of MUE" unit="m/V" );
parameter real POSTMUE = 0 `P(desc="Coefficient for the geometry independent part of STMUE" unit="" );
parameter real POTHEMU = 1.5 `P(desc="Coefficient for the geometry independent part of THEMU" unit="" );
parameter real POSTTHEMU = 1.5 `P(desc="Coefficient for the geometry independent part of STTHEMU" unit="" );
parameter real POCS = 0 `P(desc="Coefficient for the geometry independent part of CS" unit="" );
parameter real PLCS = 0.0 `P(desc="Coefficient for the length dependence of CS" unit="" );
parameter real PWCS = 0.0 `P(desc="Coefficient for the width dependence of CS" unit="" );
parameter real PLWCS = 0.0 `P(desc="Coefficient for the length times width dependence of CS" unit="" );
parameter real POSTCS = 0 `P(desc="Coefficient for the geometry independent part of STCS" unit="" );
parameter real POXCOR = 0 `P(desc="Coefficient for the geometry independent part of XCOR" unit="V^-1" );
parameter real PLXCOR = 0.0 `P(desc="Coefficient for the length dependence of XCOR" unit="V^-1" );
parameter real PWXCOR = 0.0 `P(desc="Coefficient for the width dependence of XCOR" unit="V^-1" );
parameter real PLWXCOR = 0.0 `P(desc="Coefficient for the length times width dependence of XCOR" unit="V^-1" );
parameter real POSTXCOR = 0 `P(desc="Coefficient for the geometry independent part of STXCOR" unit="" );
parameter real POFETA = 1 `P(desc="Coefficient for the geometry independent part of FETA" unit="" );
// Series resistance parameters
parameter real PORS = 30 `P(info="Coefficient for the geometry independent part of RS" unit="Ohm" );
parameter real PLRS = 0.0 `P(info="Coefficient for the length dependence of RS" unit="Ohm" );
parameter real PWRS = 0.0 `P(info="Coefficient for the width dependence of RS" unit="Ohm" );
parameter real PLWRS = 0.0 `P(info="Coefficient for the length times width dependence of RS" unit="Ohm" );
parameter real POSTRS = 1 `P(info="Coefficient for the geometry independent part of STRS" unit="" );
parameter real PORSB = 0 `P(info="Coefficient for the geometry independent part of RSB" unit="V^-1" );
parameter real PORSG = 0 `P(info="Coefficient for the geometry independent part of RSG" unit="V^-1" );
parameter real PORS = 30 `P(desc="Coefficient for the geometry independent part of RS" unit="Ohm" );
parameter real PLRS = 0.0 `P(desc="Coefficient for the length dependence of RS" unit="Ohm" );
parameter real PWRS = 0.0 `P(desc="Coefficient for the width dependence of RS" unit="Ohm" );
parameter real PLWRS = 0.0 `P(desc="Coefficient for the length times width dependence of RS" unit="Ohm" );
parameter real POSTRS = 1 `P(desc="Coefficient for the geometry independent part of STRS" unit="" );
parameter real PORSB = 0 `P(desc="Coefficient for the geometry independent part of RSB" unit="V^-1" );
parameter real PORSG = 0 `P(desc="Coefficient for the geometry independent part of RSG" unit="V^-1" );
// Velocity saturation parameters
parameter real POTHESAT = 1 `P(info="Coefficient for the geometry independent part of THESAT" unit="V^-1" );
parameter real PLTHESAT = 0.0 `P(info="Coefficient for the length dependence of THESAT" unit="V^-1" );
parameter real PWTHESAT = 0.0 `P(info="Coefficient for the width dependence of THESAT" unit="V^-1" );
parameter real PLWTHESAT = 0.0 `P(info="Coefficient for the length times width dependence of THESAT" unit="V^-1" );
parameter real POSTTHESAT = 1 `P(info="Coefficient for the geometry independent part of STTHESAT" unit="" );
parameter real PLSTTHESAT = 0.0 `P(info="Coefficient for the length dependence of STTHESAT" unit="" );
parameter real PWSTTHESAT = 0.0 `P(info="Coefficient for the width dependence of STTHESAT" unit="" );
parameter real PLWSTTHESAT = 0.0 `P(info="Coefficient for the length times width dependence of STTHESAT" unit="" );
parameter real POTHESATB = 0 `P(info="Coefficient for the geometry independent part of THESATB" unit="V^-1" );
parameter real PLTHESATB = 0.0 `P(info="Coefficient for the length dependence of THESATB" unit="V^-1" );
parameter real PWTHESATB = 0.0 `P(info="Coefficient for the width dependence of THESATB" unit="V^-1" );
parameter real PLWTHESATB = 0.0 `P(info="Coefficient for the length times width dependence of THESATB" unit="V^-1" );
parameter real POTHESATG = 0 `P(info="Coefficient for the geometry independent part of THESATG" unit="V^-1" );
parameter real PLTHESATG = 0.0 `P(info="Coefficient for the length dependence of THESATG" unit="V^-1" );
parameter real PWTHESATG = 0.0 `P(info="Coefficient for the width dependence of THESATG" unit="V^-1" );
parameter real PLWTHESATG = 0.0 `P(info="Coefficient for the length times width dependence of THESATG" unit="V^-1" );
parameter real POTHESAT = 1 `P(desc="Coefficient for the geometry independent part of THESAT" unit="V^-1" );
parameter real PLTHESAT = 0.0 `P(desc="Coefficient for the length dependence of THESAT" unit="V^-1" );
parameter real PWTHESAT = 0.0 `P(desc="Coefficient for the width dependence of THESAT" unit="V^-1" );
parameter real PLWTHESAT = 0.0 `P(desc="Coefficient for the length times width dependence of THESAT" unit="V^-1" );
parameter real POSTTHESAT = 1 `P(desc="Coefficient for the geometry independent part of STTHESAT" unit="" );
parameter real PLSTTHESAT = 0.0 `P(desc="Coefficient for the length dependence of STTHESAT" unit="" );
parameter real PWSTTHESAT = 0.0 `P(desc="Coefficient for the width dependence of STTHESAT" unit="" );
parameter real PLWSTTHESAT = 0.0 `P(desc="Coefficient for the length times width dependence of STTHESAT" unit="" );
parameter real POTHESATB = 0 `P(desc="Coefficient for the geometry independent part of THESATB" unit="V^-1" );
parameter real PLTHESATB = 0.0 `P(desc="Coefficient for the length dependence of THESATB" unit="V^-1" );
parameter real PWTHESATB = 0.0 `P(desc="Coefficient for the width dependence of THESATB" unit="V^-1" );
parameter real PLWTHESATB = 0.0 `P(desc="Coefficient for the length times width dependence of THESATB" unit="V^-1" );
parameter real POTHESATG = 0 `P(desc="Coefficient for the geometry independent part of THESATG" unit="V^-1" );
parameter real PLTHESATG = 0.0 `P(desc="Coefficient for the length dependence of THESATG" unit="V^-1" );
parameter real PWTHESATG = 0.0 `P(desc="Coefficient for the width dependence of THESATG" unit="V^-1" );
parameter real PLWTHESATG = 0.0 `P(desc="Coefficient for the length times width dependence of THESATG" unit="V^-1" );
// Saturation voltage parameters
parameter real POAX = 3 `P(info="Coefficient for the geometry independent part of AX" unit="" );
parameter real PLAX = 0.0 `P(info="Coefficient for the length dependence of AX" unit="" );
parameter real PWAX = 0.0 `P(info="Coefficient for the width dependence of AX" unit="" );
parameter real PLWAX = 0.0 `P(info="Coefficient for the length times width dependence of AX" unit="" );
parameter real POAX = 3 `P(desc="Coefficient for the geometry independent part of AX" unit="" );
parameter real PLAX = 0.0 `P(desc="Coefficient for the length dependence of AX" unit="" );
parameter real PWAX = 0.0 `P(desc="Coefficient for the width dependence of AX" unit="" );
parameter real PLWAX = 0.0 `P(desc="Coefficient for the length times width dependence of AX" unit="" );
// Channel length modulation (CLM) parameters
parameter real POALP = 0.01 `P(info="Coefficient for the geometry independent part of ALP" unit="" );
parameter real PLALP = 0.0 `P(info="Coefficient for the length dependence of ALP" unit="" );
parameter real PWALP = 0.0 `P(info="Coefficient for the width dependence of ALP" unit="" );
parameter real PLWALP = 0.0 `P(info="Coefficient for the length times width dependence of ALP" unit="" );
parameter real POALP1 = 0 `P(info="Coefficient for the geometry independent part of ALP1" unit="V" );
parameter real PLALP1 = 0.0 `P(info="Coefficient for the length dependence of ALP1" unit="V" );
parameter real PWALP1 = 0.0 `P(info="Coefficient for the width dependence of ALP1" unit="V" );
parameter real PLWALP1 = 0.0 `P(info="Coefficient for the length times width dependence of ALP1" unit="V" );
parameter real POALP2 = 0 `P(info="Coefficient for the geometry independent part of ALP2" unit="V^-1" );
parameter real PLALP2 = 0.0 `P(info="Coefficient for the length dependence of ALP2" unit="V^-1" );
parameter real PWALP2 = 0.0 `P(info="Coefficient for the width dependence of ALP2" unit="V^-1" );
parameter real PLWALP2 = 0.0 `P(info="Coefficient for the length times width dependence of ALP2" unit="V^-1" );
parameter real POVP = 0.05 `P(info="Coefficient for the geometry independent part of VP" unit="V" );
parameter real POALP = 0.01 `P(desc="Coefficient for the geometry independent part of ALP" unit="" );
parameter real PLALP = 0.0 `P(desc="Coefficient for the length dependence of ALP" unit="" );
parameter real PWALP = 0.0 `P(desc="Coefficient for the width dependence of ALP" unit="" );
parameter real PLWALP = 0.0 `P(desc="Coefficient for the length times width dependence of ALP" unit="" );
parameter real POALP1 = 0 `P(desc="Coefficient for the geometry independent part of ALP1" unit="V" );
parameter real PLALP1 = 0.0 `P(desc="Coefficient for the length dependence of ALP1" unit="V" );
parameter real PWALP1 = 0.0 `P(desc="Coefficient for the width dependence of ALP1" unit="V" );
parameter real PLWALP1 = 0.0 `P(desc="Coefficient for the length times width dependence of ALP1" unit="V" );
parameter real POALP2 = 0 `P(desc="Coefficient for the geometry independent part of ALP2" unit="V^-1" );
parameter real PLALP2 = 0.0 `P(desc="Coefficient for the length dependence of ALP2" unit="V^-1" );
parameter real PWALP2 = 0.0 `P(desc="Coefficient for the width dependence of ALP2" unit="V^-1" );
parameter real PLWALP2 = 0.0 `P(desc="Coefficient for the length times width dependence of ALP2" unit="V^-1" );
parameter real POVP = 0.05 `P(desc="Coefficient for the geometry independent part of VP" unit="V" );
// Impact ionization parameters
parameter real POA1 = 1 `P(info="Coefficient for the geometry independent part of A1" unit="" );
parameter real PLA1 = 0.0 `P(info="Coefficient for the length dependence of A1" unit="" );
parameter real PWA1 = 0.0 `P(info="Coefficient for the width dependence of A1" unit="" );
parameter real PLWA1 = 0.0 `P(info="Coefficient for the length times width dependence of A1" unit="" );
parameter real POA2 = 10 `P(info="Coefficient for the geometry independent part of A2" unit="V" );
parameter real POSTA2 = 0 `P(info="Coefficient for the geometry independent part of STA2" unit="V" );
parameter real POA3 = 1 `P(info="Coefficient for the geometry independent part of A3" unit="" );
parameter real PLA3 = 0.0 `P(info="Coefficient for the length dependence of A3" unit="" );
parameter real PWA3 = 0.0 `P(info="Coefficient for the width dependence of A3" unit="" );
parameter real PLWA3 = 0.0 `P(info="Coefficient for the length times width dependence of A3" unit="" );
parameter real POA4 = 0 `P(info="Coefficient for the geometry independent part of A4" unit="V^-0.5" );
parameter real PLA4 = 0.0 `P(info="Coefficient for the length dependence of A4" unit="V^-0.5" );
parameter real PWA4 = 0.0 `P(info="Coefficient for the width dependence of A4" unit="V^-0.5" );
parameter real PLWA4 = 0.0 `P(info="Coefficient for the length times width dependence of A4" unit="V^-0.5" );
parameter real POGCO = 0 `P(info="Coefficient for the geometry independent part of GCO" unit="" );
parameter real POA1 = 1 `P(desc="Coefficient for the geometry independent part of A1" unit="" );
parameter real PLA1 = 0.0 `P(desc="Coefficient for the length dependence of A1" unit="" );
parameter real PWA1 = 0.0 `P(desc="Coefficient for the width dependence of A1" unit="" );
parameter real PLWA1 = 0.0 `P(desc="Coefficient for the length times width dependence of A1" unit="" );
parameter real POA2 = 10 `P(desc="Coefficient for the geometry independent part of A2" unit="V" );
parameter real POSTA2 = 0 `P(desc="Coefficient for the geometry independent part of STA2" unit="V" );
parameter real POA3 = 1 `P(desc="Coefficient for the geometry independent part of A3" unit="" );
parameter real PLA3 = 0.0 `P(desc="Coefficient for the length dependence of A3" unit="" );
parameter real PWA3 = 0.0 `P(desc="Coefficient for the width dependence of A3" unit="" );
parameter real PLWA3 = 0.0 `P(desc="Coefficient for the length times width dependence of A3" unit="" );
parameter real POA4 = 0 `P(desc="Coefficient for the geometry independent part of A4" unit="V^-0.5" );
parameter real PLA4 = 0.0 `P(desc="Coefficient for the length dependence of A4" unit="V^-0.5" );
parameter real PWA4 = 0.0 `P(desc="Coefficient for the width dependence of A4" unit="V^-0.5" );
parameter real PLWA4 = 0.0 `P(desc="Coefficient for the length times width dependence of A4" unit="V^-0.5" );
parameter real POGCO = 0 `P(desc="Coefficient for the geometry independent part of GCO" unit="" );
// Gate current parameters
parameter real POIGINV = 0 `P(info="Coefficient for the geometry independent part of IGINV" unit="A" );
parameter real PLIGINV = 0.0 `P(info="Coefficient for the length dependence of IGINV" unit="A" );
parameter real PWIGINV = 0.0 `P(info="Coefficient for the width dependence of IGINV" unit="A" );
parameter real PLWIGINV = 0.0 `P(info="Coefficient for the length times width dependence of IGINV" unit="A" );
parameter real POIGOV = 0 `P(info="Coefficient for the geometry independent part of IGOV" unit="A" );
parameter real PLIGOV = 0.0 `P(info="Coefficient for the length dependence of IGOV" unit="A" );
parameter real PWIGOV = 0.0 `P(info="Coefficient for the width dependence of IGOV" unit="A" );
parameter real PLWIGOV = 0.0 `P(info="Coefficient for the length times width dependence of IGOV" unit="A" );
parameter real POSTIG = 2 `P(info="Coefficient for the geometry independent part of STIG" unit="" );
parameter real POGC2 = 0.375 `P(info="Coefficient for the geometry independent part of GC2" unit="" );
parameter real POGC3 = 0.063 `P(info="Coefficient for the geometry independent part of GC3" unit="" );
parameter real POCHIB = 3.1 `P(info="Coefficient for the geometry independent part of CHIB" unit="V" );
parameter real POIGINV = 0 `P(desc="Coefficient for the geometry independent part of IGINV" unit="A" );
parameter real PLIGINV = 0.0 `P(desc="Coefficient for the length dependence of IGINV" unit="A" );
parameter real PWIGINV = 0.0 `P(desc="Coefficient for the width dependence of IGINV" unit="A" );
parameter real PLWIGINV = 0.0 `P(desc="Coefficient for the length times width dependence of IGINV" unit="A" );
parameter real POIGOV = 0 `P(desc="Coefficient for the geometry independent part of IGOV" unit="A" );
parameter real PLIGOV = 0.0 `P(desc="Coefficient for the length dependence of IGOV" unit="A" );
parameter real PWIGOV = 0.0 `P(desc="Coefficient for the width dependence of IGOV" unit="A" );
parameter real PLWIGOV = 0.0 `P(desc="Coefficient for the length times width dependence of IGOV" unit="A" );
parameter real POSTIG = 2 `P(desc="Coefficient for the geometry independent part of STIG" unit="" );
parameter real POGC2 = 0.375 `P(desc="Coefficient for the geometry independent part of GC2" unit="" );
parameter real POGC3 = 0.063 `P(desc="Coefficient for the geometry independent part of GC3" unit="" );
parameter real POCHIB = 3.1 `P(desc="Coefficient for the geometry independent part of CHIB" unit="V" );
// Gate-induced drain leakage (GIDL) parameters
parameter real POAGIDL = 0 `P(info="Coefficient for the geometry independent part of AGIDL" unit="A/V^3" );
parameter real PLAGIDL = 0.0 `P(info="Coefficient for the length dependence of AGIDL" unit="A/V^3" );
parameter real PWAGIDL = 0.0 `P(info="Coefficient for the width dependence of AGIDL" unit="A/V^3" );
parameter real PLWAGIDL = 0.0 `P(info="Coefficient for the length times width dependence of AGIDL" unit="A/V^3" );
parameter real POBGIDL = 41 `P(info="Coefficient for the geometry independent part of BGIDL" unit="V" );
parameter real POSTBGIDL = 0 `P(info="Coefficient for the geometry independent part of STBGIDL" unit="V/K" );
parameter real POCGIDL = 0 `P(info="Coefficient for the geometry independent part of CGIDL" unit="" );
parameter real POAGIDL = 0 `P(desc="Coefficient for the geometry independent part of AGIDL" unit="A/V^3" );
parameter real PLAGIDL = 0.0 `P(desc="Coefficient for the length dependence of AGIDL" unit="A/V^3" );
parameter real PWAGIDL = 0.0 `P(desc="Coefficient for the width dependence of AGIDL" unit="A/V^3" );
parameter real PLWAGIDL = 0.0 `P(desc="Coefficient for the length times width dependence of AGIDL" unit="A/V^3" );
parameter real POBGIDL = 41 `P(desc="Coefficient for the geometry independent part of BGIDL" unit="V" );
parameter real POSTBGIDL = 0 `P(desc="Coefficient for the geometry independent part of STBGIDL" unit="V/K" );
parameter real POCGIDL = 0 `P(desc="Coefficient for the geometry independent part of CGIDL" unit="" );
// Charge model parameters
parameter real POCOX = 1E-14 `P(info="Coefficient for the geometry independent part of COX" unit="F" );
parameter real PLCOX = 0.0 `P(info="Coefficient for the length dependence of COX" unit="F" );
parameter real PWCOX = 0.0 `P(info="Coefficient for the width dependence of COX" unit="F" );
parameter real PLWCOX = 0.0 `P(info="Coefficient for the length times width dependence of COX" unit="F" );
parameter real POCGOV = 1E-15 `P(info="Coefficient for the geometry independent part of CGOV" unit="F" );
parameter real PLCGOV = 0.0 `P(info="Coefficient for the length dependence of CGOV" unit="F" );
parameter real PWCGOV = 0.0 `P(info="Coefficient for the width dependence of CGOV" unit="F" );
parameter real PLWCGOV = 0.0 `P(info="Coefficient for the length times width dependence of CGOV" unit="F" );
parameter real POCGBOV = 0 `P(info="Coefficient for the geometry independent part of CGBOV" unit="F" );
parameter real PLCGBOV = 0.0 `P(info="Coefficient for the length dependence of CGBOV" unit="F" );
parameter real PWCGBOV = 0.0 `P(info="Coefficient for the width dependence of CGBOV" unit="F" );
parameter real PLWCGBOV = 0.0 `P(info="Coefficient for the length times width dependence of CGBOV" unit="F" );
parameter real POCFR = 0 `P(info="Coefficient for the geometry independent part of CFR" unit="F" );
parameter real PLCFR = 0.0 `P(info="Coefficient for the length dependence of CFR" unit="F" );
parameter real PWCFR = 0.0 `P(info="Coefficient for the width dependence of CFR" unit="F" );
parameter real PLWCFR = 0.0 `P(info="Coefficient for the length times width dependence of CFR" unit="F" );
parameter real POCOX = 1E-14 `P(desc="Coefficient for the geometry independent part of COX" unit="F" );
parameter real PLCOX = 0.0 `P(desc="Coefficient for the length dependence of COX" unit="F" );
parameter real PWCOX = 0.0 `P(desc="Coefficient for the width dependence of COX" unit="F" );
parameter real PLWCOX = 0.0 `P(desc="Coefficient for the length times width dependence of COX" unit="F" );
parameter real POCGOV = 1E-15 `P(desc="Coefficient for the geometry independent part of CGOV" unit="F" );
parameter real PLCGOV = 0.0 `P(desc="Coefficient for the length dependence of CGOV" unit="F" );
parameter real PWCGOV = 0.0 `P(desc="Coefficient for the width dependence of CGOV" unit="F" );
parameter real PLWCGOV = 0.0 `P(desc="Coefficient for the length times width dependence of CGOV" unit="F" );
parameter real POCGBOV = 0 `P(desc="Coefficient for the geometry independent part of CGBOV" unit="F" );
parameter real PLCGBOV = 0.0 `P(desc="Coefficient for the length dependence of CGBOV" unit="F" );
parameter real PWCGBOV = 0.0 `P(desc="Coefficient for the width dependence of CGBOV" unit="F" );
parameter real PLWCGBOV = 0.0 `P(desc="Coefficient for the length times width dependence of CGBOV" unit="F" );
parameter real POCFR = 0 `P(desc="Coefficient for the geometry independent part of CFR" unit="F" );
parameter real PLCFR = 0.0 `P(desc="Coefficient for the length dependence of CFR" unit="F" );
parameter real PWCFR = 0.0 `P(desc="Coefficient for the width dependence of CFR" unit="F" );
parameter real PLWCFR = 0.0 `P(desc="Coefficient for the length times width dependence of CFR" unit="F" );
// Noise model parameters
parameter real POFNT = 1 `P(info="Coefficient for the geometry independent part of FNT" unit="" );
parameter real PONFA = 8E+22 `P(info="Coefficient for the geometry independent part of NFA" unit="V^-1/m^4" );
parameter real PLNFA = 0.0 `P(info="Coefficient for the length dependence of NFA" unit="V^-1/m^4" );
parameter real PWNFA = 0.0 `P(info="Coefficient for the width dependence of NFA" unit="V^-1/m^4" );
parameter real PLWNFA = 0.0 `P(info="Coefficient for the length times width dependence of NFA" unit="V^-1/m^4" );
parameter real PONFB = 3E+07 `P(info="Coefficient for the geometry independent part of NFB" unit="V^-1/m^2" );
parameter real PLNFB = 0.0 `P(info="Coefficient for the length dependence of NFB" unit="V^-1/m^2" );
parameter real PWNFB = 0.0 `P(info="Coefficient for the width dependence of NFB" unit="V^-1/m^2" );
parameter real PLWNFB = 0.0 `P(info="Coefficient for the length times width dependence of NFB" unit="V^-1/m^2" );
parameter real PONFC = 0 `P(info="Coefficient for the geometry independent part of NFC" unit="V^-1" );
parameter real PLNFC = 0.0 `P(info="Coefficient for the length dependence of NFC" unit="V^-1" );
parameter real PWNFC = 0.0 `P(info="Coefficient for the width dependence of NFC" unit="V^-1" );
parameter real PLWNFC = 0.0 `P(info="Coefficient for the length times width dependence of NFC" unit="V^-1" );
parameter real POFNT = 1 `P(desc="Coefficient for the geometry independent part of FNT" unit="" );
parameter real PONFA = 8E+22 `P(desc="Coefficient for the geometry independent part of NFA" unit="V^-1/m^4" );
parameter real PLNFA = 0.0 `P(desc="Coefficient for the length dependence of NFA" unit="V^-1/m^4" );
parameter real PWNFA = 0.0 `P(desc="Coefficient for the width dependence of NFA" unit="V^-1/m^4" );
parameter real PLWNFA = 0.0 `P(desc="Coefficient for the length times width dependence of NFA" unit="V^-1/m^4" );
parameter real PONFB = 3E+07 `P(desc="Coefficient for the geometry independent part of NFB" unit="V^-1/m^2" );
parameter real PLNFB = 0.0 `P(desc="Coefficient for the length dependence of NFB" unit="V^-1/m^2" );
parameter real PWNFB = 0.0 `P(desc="Coefficient for the width dependence of NFB" unit="V^-1/m^2" );
parameter real PLWNFB = 0.0 `P(desc="Coefficient for the length times width dependence of NFB" unit="V^-1/m^2" );
parameter real PONFC = 0 `P(desc="Coefficient for the geometry independent part of NFC" unit="V^-1" );
parameter real PLNFC = 0.0 `P(desc="Coefficient for the length dependence of NFC" unit="V^-1" );
parameter real PWNFC = 0.0 `P(desc="Coefficient for the width dependence of NFC" unit="V^-1" );
parameter real PLWNFC = 0.0 `P(desc="Coefficient for the length times width dependence of NFC" unit="V^-1" );
// Other parameters
parameter real DTA = 0 `P(info="Temperature offset w.r.t. ambient temperature" unit="K" );
parameter real DTA = 0 `P(desc="Temperature offset w.r.t. ambient temperature" unit="K" );

View File

@ -86,134 +86,134 @@
///////////////////////////////////////////////////
// Special model parameters, some are also simulator global variables
parameter real LEVEL = 102 `P(info="Model level" unit="" );
parameter real TYPE = 1.0 `from( -1.0,1.0 ) `P(info="Channel type parameter, +1=NMOS -1=PMOS" unit="" );
parameter real TR = 21.0 `from( -273.0,inf ) `P(info="nominal (reference) temperature" unit="C" );
parameter real LEVEL = 102 `P(desc="Model level" unit="" );
parameter real TYPE = 1.0 `from( -1.0,1.0 ) `P(desc="Channel type parameter, +1=NMOS -1=PMOS" unit="" );
parameter real TR = 21.0 `from( -273.0,inf ) `P(desc="nominal (reference) temperature" unit="C" );
// Switch parameters that turn models or effects on or off
parameter real SWIGATE = 0.0 `from( 0.0,1.0 ) `P(info="Flag for gate current, 0=turn off IG" unit="" );
parameter real SWIMPACT = 0.0 `from( 0.0,1.0 ) `P(info="Flag for impact ionization current, 0=turn off II" unit="" );
parameter real SWGIDL = 0.0 `from( 0.0,1.0 ) `P(info="Flag for GIDL current, 0=turn off IGIDL" unit="" );
parameter real SWJUNCAP = 0.0 `from( 0.0,3.0 ) `P(info="Flag for juncap, 0=turn off juncap" unit="" );
parameter real QMC = 1.0 `from( 0.0,inf ) `P(info="Quantum-mechanical correction factor" unit="" );
parameter real SWIGATE = 0.0 `from( 0.0,1.0 ) `P(desc="Flag for gate current, 0=turn off IG" unit="" );
parameter real SWIMPACT = 0.0 `from( 0.0,1.0 ) `P(desc="Flag for impact ionization current, 0=turn off II" unit="" );
parameter real SWGIDL = 0.0 `from( 0.0,1.0 ) `P(desc="Flag for GIDL current, 0=turn off IGIDL" unit="" );
parameter real SWJUNCAP = 0.0 `from( 0.0,3.0 ) `P(desc="Flag for juncap, 0=turn off juncap" unit="" );
parameter real QMC = 1.0 `from( 0.0,inf ) `P(desc="Quantum-mechanical correction factor" unit="" );
// Process parameters
parameter real VFB = -1.0 `P(info="Flatband voltage at TR" unit="V" );
parameter real STVFB = 5.0e-4 `P(info="Temperature dependence of VFB" unit="V/K" );
parameter real TOX = 2.0e-09 `from( 1e-10,inf ) `P(info="Gate oxide thickness" unit="m" );
parameter real NEFF = 5.0e+23 `from( 1e20,1e26 ) `P(info="Effective substrate doping" unit="m^-3" );
parameter real VNSUB = 0.0 `P(info="Effective doping bias-dependence parameter" unit="V" );
parameter real NSLP = 0.05 `from( 1e-3,inf ) `P(info="Effective doping bias-dependence parameter" unit="V" );
parameter real DNSUB = 0.0 `from( 0.0,1.0 ) `P(info="Effective doping bias-dependence parameter" unit="V^-1" );
parameter real DPHIB = 0.0 `P(info="Offset parameter for PHIB" unit="V" );
parameter real NP = 1.0e+26 `from( 0.0,inf ) `P(info="Gate poly-silicon doping" unit="m^-3" );
parameter real CT = 0.0 `from( 0.0,inf ) `P(info="Interface states factor" unit="" );
parameter real TOXOV = 2.0e-09 `from( 1e-10,inf ) `P(info="Overlap oxide thickness" unit="m" );
parameter real NOV = 5.0e+25 `from( 1e20,1e27 ) `P(info="Effective doping of overlap region" unit="m^-3" );
parameter real VFB = -1.0 `P(desc="Flatband voltage at TR" unit="V" );
parameter real STVFB = 5.0e-4 `P(desc="Temperature dependence of VFB" unit="V/K" );
parameter real TOX = 2.0e-09 `from( 1e-10,inf ) `P(desc="Gate oxide thickness" unit="m" );
parameter real NEFF = 5.0e+23 `from( 1e20,1e26 ) `P(desc="Effective substrate doping" unit="m^-3" );
parameter real VNSUB = 0.0 `P(desc="Effective doping bias-dependence parameter" unit="V" );
parameter real NSLP = 0.05 `from( 1e-3,inf ) `P(desc="Effective doping bias-dependence parameter" unit="V" );
parameter real DNSUB = 0.0 `from( 0.0,1.0 ) `P(desc="Effective doping bias-dependence parameter" unit="V^-1" );
parameter real DPHIB = 0.0 `P(desc="Offset parameter for PHIB" unit="V" );
parameter real NP = 1.0e+26 `from( 0.0,inf ) `P(desc="Gate poly-silicon doping" unit="m^-3" );
parameter real CT = 0.0 `from( 0.0,inf ) `P(desc="Interface states factor" unit="" );
parameter real TOXOV = 2.0e-09 `from( 1e-10,inf ) `P(desc="Overlap oxide thickness" unit="m" );
parameter real NOV = 5.0e+25 `from( 1e20,1e27 ) `P(desc="Effective doping of overlap region" unit="m^-3" );
// DIBL parameters
parameter real CF = 0.0 `from( 0.0,inf ) `P(info="DIBL-parameter" unit="V^-1" );
parameter real CFB = 0.0 `from( 0.0,1.0 ) `P(info="Back bias dependence of CF" unit="V^-1" );
parameter real CF = 0.0 `from( 0.0,inf ) `P(desc="DIBL-parameter" unit="V^-1" );
parameter real CFB = 0.0 `from( 0.0,1.0 ) `P(desc="Back bias dependence of CF" unit="V^-1" );
// Mobility parameters
parameter real BETN = 7e-2 `from( 0.0,inf ) `P(info="Channel aspect ratio times zero-field mobility" unit="m^2/V/s" );
parameter real STBET = 1.0 `P(info="Temperature dependence of BETN" unit="" );
parameter real MUE = 0.5 `from( 0.0,inf ) `P(info="Mobility reduction coefficient at TR" unit="m/V" );
parameter real STMUE = 0.0 `P(info="Temperature dependence of MUE" unit="" );
parameter real THEMU = 1.5 `from( 0.0,inf ) `P(info="Mobility reduction exponent at TR" unit="" );
parameter real STTHEMU = 1.5 `P(info="Temperature dependence of THEMU" unit="" );
parameter real CS = 0.0 `from( 0.0,inf ) `P(info="Coulomb scattering parameter at TR" unit="" );
parameter real STCS = 0.0 `P(info="Temperature dependence of CS" unit="" );
parameter real XCOR = 0.0 `from( 0.0,inf ) `P(info="Non-universality factor" unit="V^-1" );
parameter real STXCOR = 0.0 `P(info="Temperature dependence of XCOR" unit="" );
parameter real FETA = 1.0 `from( 0.0,inf ) `P(info="Effective field parameter" unit="" );
parameter real BETN = 7e-2 `from( 0.0,inf ) `P(desc="Channel aspect ratio times zero-field mobility" unit="m^2/V/s" );
parameter real STBET = 1.0 `P(desc="Temperature dependence of BETN" unit="" );
parameter real MUE = 0.5 `from( 0.0,inf ) `P(desc="Mobility reduction coefficient at TR" unit="m/V" );
parameter real STMUE = 0.0 `P(desc="Temperature dependence of MUE" unit="" );
parameter real THEMU = 1.5 `from( 0.0,inf ) `P(desc="Mobility reduction exponent at TR" unit="" );
parameter real STTHEMU = 1.5 `P(desc="Temperature dependence of THEMU" unit="" );
parameter real CS = 0.0 `from( 0.0,inf ) `P(desc="Coulomb scattering parameter at TR" unit="" );
parameter real STCS = 0.0 `P(desc="Temperature dependence of CS" unit="" );
parameter real XCOR = 0.0 `from( 0.0,inf ) `P(desc="Non-universality factor" unit="V^-1" );
parameter real STXCOR = 0.0 `P(desc="Temperature dependence of XCOR" unit="" );
parameter real FETA = 1.0 `from( 0.0,inf ) `P(desc="Effective field parameter" unit="" );
// Series-resistance parameters (for resistance modeling as part of intrinsic mobility reduction)
parameter real RS = 30 `from( 0.0,inf ) `P(info="Series resistance at TR" unit="Ohm" );
parameter real STRS = 1.0 `P(info="Temperature dependence of RS" unit="" );
parameter real RSB = 0.0 `from( -0.5,1.0 ) `P(info="Back-bias dependence of series resistance" unit="V^-1" );
parameter real RSG = 0.0 `from( -0.5,inf ) `P(info="Gate-bias dependence of series resistance" unit="V^-1" );
parameter real RS = 30 `from( 0.0,inf ) `P(desc="Series resistance at TR" unit="Ohm" );
parameter real STRS = 1.0 `P(desc="Temperature dependence of RS" unit="" );
parameter real RSB = 0.0 `from( -0.5,1.0 ) `P(desc="Back-bias dependence of series resistance" unit="V^-1" );
parameter real RSG = 0.0 `from( -0.5,inf ) `P(desc="Gate-bias dependence of series resistance" unit="V^-1" );
// Velocity saturation parameters
parameter real THESAT = 1.0 `from( 0.0,inf ) `P(info="Velocity saturation parameter at TR" unit="V^-1" );
parameter real STTHESAT = 1.0 `P(info="Temperature dependence of THESAT" unit="" );
parameter real THESATB = 0.0 `from( -0.5,1.0 ) `P(info="Back-bias dependence of velocity saturation" unit="V^-1" );
parameter real THESATG = 0.0 `from( -0.5,inf ) `P(info="Gate-bias dependence of velocity saturation" unit="V^-1" );
parameter real THESAT = 1.0 `from( 0.0,inf ) `P(desc="Velocity saturation parameter at TR" unit="V^-1" );
parameter real STTHESAT = 1.0 `P(desc="Temperature dependence of THESAT" unit="" );
parameter real THESATB = 0.0 `from( -0.5,1.0 ) `P(desc="Back-bias dependence of velocity saturation" unit="V^-1" );
parameter real THESATG = 0.0 `from( -0.5,inf ) `P(desc="Gate-bias dependence of velocity saturation" unit="V^-1" );
// Saturation voltage parameters
parameter real AX = 3.0 `from( 2.0,inf ) `P(info="Linear/saturation transition factor" unit="" );
parameter real AX = 3.0 `from( 2.0,inf ) `P(desc="Linear/saturation transition factor" unit="" );
// Channel length modulation (CLM) parameters
parameter real ALP = 0.01 `from( 0.0,inf ) `P(info="CLM pre-factor" unit="" );
parameter real ALP1 = 0.00 `from( 0.0,inf ) `P(info="CLM enhancement factor above threshold" unit="V" );
parameter real ALP2 = 0.00 `from( 0.0,inf ) `P(info="CLM enhancement factor below threshold" unit="V^-1" );
parameter real VP = 0.05 `from( 1e-10,inf ) `P(info="CLM logarithm dependence factor" unit="V" );
parameter real ALP = 0.01 `from( 0.0,inf ) `P(desc="CLM pre-factor" unit="" );
parameter real ALP1 = 0.00 `from( 0.0,inf ) `P(desc="CLM enhancement factor above threshold" unit="V" );
parameter real ALP2 = 0.00 `from( 0.0,inf ) `P(desc="CLM enhancement factor below threshold" unit="V^-1" );
parameter real VP = 0.05 `from( 1e-10,inf ) `P(desc="CLM logarithm dependence factor" unit="V" );
// Impact ionization (II) parameters
parameter real A1 = 1.0 `from( 0.0,inf ) `P(info="Impact-ionization pre-factor" unit="" );
parameter real A2 = 10.0 `from( 0.0,inf ) `P(info="Impact-ionization exponent at TR" unit="V" );
parameter real STA2 = 0.0 `P(info="Temperature dependence of A2" unit="V" );
parameter real A3 = 1.0 `from( 0.0,inf ) `P(info="Saturation-voltage dependence of impact-ionization" unit="" );
parameter real A4 = 0.0 `from( 0.0,inf ) `P(info="Back-bias dependence of impact-ionization" unit="V^-0.5" );
parameter real A1 = 1.0 `from( 0.0,inf ) `P(desc="Impact-ionization pre-factor" unit="" );
parameter real A2 = 10.0 `from( 0.0,inf ) `P(desc="Impact-ionization exponent at TR" unit="V" );
parameter real STA2 = 0.0 `P(desc="Temperature dependence of A2" unit="V" );
parameter real A3 = 1.0 `from( 0.0,inf ) `P(desc="Saturation-voltage dependence of impact-ionization" unit="" );
parameter real A4 = 0.0 `from( 0.0,inf ) `P(desc="Back-bias dependence of impact-ionization" unit="V^-0.5" );
// Gate current parameters
parameter real GCO = 0.0 `from( -10.0,10.0 ) `P(info="Gate tunnelling energy adjustment" unit="" );
parameter real IGINV = 0.0 `from( 0.0,inf ) `P(info="Gate channel current pre-factor" unit="A" );
parameter real IGOV = 0.0 `from( 0.0,inf ) `P(info="Gate overlap current pre-factor" unit="A" );
parameter real STIG = 2.0 `P(info="Temperature dependence of IGINV and IGOV" unit="" );
parameter real GC2 = 0.375 `from( 0.0,10.0 ) `P(info="Gate current slope factor" unit="" );
parameter real GC3 = 0.063 `from( -2.0,2.0 ) `P(info="Gate current curvature factor" unit="" );
parameter real CHIB = 3.1 `from( 1.0,inf ) `P(info="Tunnelling barrier height" unit="V" );
parameter real GCO = 0.0 `from( -10.0,10.0 ) `P(desc="Gate tunnelling energy adjustment" unit="" );
parameter real IGINV = 0.0 `from( 0.0,inf ) `P(desc="Gate channel current pre-factor" unit="A" );
parameter real IGOV = 0.0 `from( 0.0,inf ) `P(desc="Gate overlap current pre-factor" unit="A" );
parameter real STIG = 2.0 `P(desc="Temperature dependence of IGINV and IGOV" unit="" );
parameter real GC2 = 0.375 `from( 0.0,10.0 ) `P(desc="Gate current slope factor" unit="" );
parameter real GC3 = 0.063 `from( -2.0,2.0 ) `P(desc="Gate current curvature factor" unit="" );
parameter real CHIB = 3.1 `from( 1.0,inf ) `P(desc="Tunnelling barrier height" unit="V" );
// Gate Induced Drain/Source Leakage (GIDL) parameters
parameter real AGIDL = 0.0 `from( 0.0,inf ) `P(info="GIDL pre-factor" unit="A/V^3" );
parameter real BGIDL = 41.0 `from( 0.0,inf ) `P(info="GIDL probability factor at TR" unit="V" );
parameter real STBGIDL = 0.0 `P(info="Temperature dependence of BGIDL" unit="V/K" );
parameter real CGIDL = 0.0 `P(info="Back-bias dependence of GIDL" unit="" );
parameter real AGIDL = 0.0 `from( 0.0,inf ) `P(desc="GIDL pre-factor" unit="A/V^3" );
parameter real BGIDL = 41.0 `from( 0.0,inf ) `P(desc="GIDL probability factor at TR" unit="V" );
parameter real STBGIDL = 0.0 `P(desc="Temperature dependence of BGIDL" unit="V/K" );
parameter real CGIDL = 0.0 `P(desc="Back-bias dependence of GIDL" unit="" );
// Charge model parameters
parameter real COX = 1.0e-14 `from( 0.0,inf ) `P(info="Oxide capacitance for intrinsic channel" unit="F" );
parameter real CGOV = 1.0e-15 `from( 0.0,inf ) `P(info="Oxide capacitance for gate-drain/source overlap" unit="F" );
parameter real CGBOV = 0.0 `from( 0.0,inf ) `P(info="Oxide capacitance for gate-bulk overlap" unit="F" );
parameter real CFR = 0.0 `from( 0.0,inf ) `P(info="Outer fringe capacitance" unit="F" );
parameter real COX = 1.0e-14 `from( 0.0,inf ) `P(desc="Oxide capacitance for intrinsic channel" unit="F" );
parameter real CGOV = 1.0e-15 `from( 0.0,inf ) `P(desc="Oxide capacitance for gate-drain/source overlap" unit="F" );
parameter real CGBOV = 0.0 `from( 0.0,inf ) `P(desc="Oxide capacitance for gate-bulk overlap" unit="F" );
parameter real CFR = 0.0 `from( 0.0,inf ) `P(desc="Outer fringe capacitance" unit="F" );
// Noise parameters
parameter real FNT = 1.0 `from( 0.0,inf ) `P(info="Thermal noise coefficient" unit="" );
parameter real NFA = 8.0e+22 `from( 0.0,inf ) `P(info="First coefficient of flicker noise" unit="V^-1/m^4" );
parameter real NFB = 3.0e+07 `from( 0.0,inf ) `P(info="Second coefficient of flicker noise" unit="V^-1/m^2" );
parameter real NFC = 0.0 `from( 0.0,inf ) `P(info="Third coefficient of flicker noise" unit="V^-1" );
parameter real FNT = 1.0 `from( 0.0,inf ) `P(desc="Thermal noise coefficient" unit="" );
parameter real NFA = 8.0e+22 `from( 0.0,inf ) `P(desc="First coefficient of flicker noise" unit="V^-1/m^4" );
parameter real NFB = 3.0e+07 `from( 0.0,inf ) `P(desc="Second coefficient of flicker noise" unit="V^-1/m^2" );
parameter real NFC = 0.0 `from( 0.0,inf ) `P(desc="Third coefficient of flicker noise" unit="V^-1" );
`ifdef NQSmodel
// NQS parameters
parameter real SWNQS = 0.0 `from( 0.0,9.0 ) `P(info="Flag for NQS, 0=off, 1, 2, 3, 5, or 9=number of collocation points" unit="" );
parameter real MUNQS = 1.0 `from( 0.0,inf ) `P(info="Relative mobility for NQS modelling" );
parameter real RG = 1.0e-3 `from( 1.0e-6,inf ) `P(info="Gate resistance" unit="Ohm" );
parameter real RBULK = 1.0e-3 `from( 1.0e-6,inf ) `P(info="Bulk resistance between node BP and BI" unit="Ohm" );
parameter real RWELL = 1.0e-3 `from( 1.0e-6,inf ) `P(info="Well resistance between node BI and B" unit="Ohm" );
parameter real RJUNS = 1.0e-3 `from( 1.0e-6,inf ) `P(info="Source-side bulk resistance between node BI and BS" unit="Ohm" );
parameter real RJUND = 1.0e-3 `from( 1.0e-6,inf ) `P(info="Drain-side bulk resistance between node BI and BD" unit="Ohm" );
parameter real SWNQS = 0.0 `from( 0.0,9.0 ) `P(desc="Flag for NQS, 0=off, 1, 2, 3, 5, or 9=number of collocation points" unit="" );
parameter real MUNQS = 1.0 `from( 0.0,inf ) `P(desc="Relative mobility for NQS modelling" );
parameter real RG = 1.0e-3 `from( 1.0e-6,inf ) `P(desc="Gate resistance" unit="Ohm" );
parameter real RBULK = 1.0e-3 `from( 1.0e-6,inf ) `P(desc="Bulk resistance between node BP and BI" unit="Ohm" );
parameter real RWELL = 1.0e-3 `from( 1.0e-6,inf ) `P(desc="Well resistance between node BI and B" unit="Ohm" );
parameter real RJUNS = 1.0e-3 `from( 1.0e-6,inf ) `P(desc="Source-side bulk resistance between node BI and BS" unit="Ohm" );
parameter real RJUND = 1.0e-3 `from( 1.0e-6,inf ) `P(desc="Drain-side bulk resistance between node BI and BD" unit="Ohm" );
`endif // NQSmodel
// JUNCAP Parameters
parameter real TRJ = 21 `from(`TRJ_cliplow,inf) `P(info="reference temperature" unit="C" );
parameter real TRJ = 21 `from(`TRJ_cliplow,inf) `P(desc="reference temperature" unit="C" );
`include "JUNCAP200_parlist.include"
// Other parameters
parameter real DTA = 0.0 `P(info="Temperature offset w.r.t. ambient temperature" unit="K" );
parameter real DTA = 0.0 `P(desc="Temperature offset w.r.t. ambient temperature" unit="K" );
// Instance parameters
parameter real ABSOURCE = 1e-12 `from(`AB_cliplow,inf) `P(type="instance" info="Bottom area of source junction" unit="m^2" );
parameter real LSSOURCE = 1e-6 `from(`LS_cliplow,inf) `P(type="instance" info="STI-edge length of source junction" unit="m" );
parameter real LGSOURCE = 1e-6 `from(`LG_cliplow,inf) `P(type="instance" info="Gate-edge length of source junction" unit="m" );
parameter real ABDRAIN = 1e-12 `from(`AB_cliplow,inf) `P(type="instance" info="Bottom area of drain junction" unit="m^2" );
parameter real LSDRAIN = 1e-6 `from(`LS_cliplow,inf) `P(type="instance" info="STI-edge length of drain junction" unit="m" );
parameter real LGDRAIN = 1e-6 `from(`LG_cliplow,inf) `P(type="instance" info="Gate-edge length of drain junction" unit="m" );
parameter real AS = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" info="Bottom area of source junction" unit="m^2" );
parameter real PS = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" info="Perimeter of source junction" unit="m" );
parameter real AD = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" info="Bottom area of drain junction" unit="m^2" );
parameter real PD = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" info="Perimeter of drain junction" unit="m" );
parameter real JW = 1E-6 `from(`LG_cliplow,inf) `P(type="instance" info="Gate-edge length of source/drain junction" unit="m" );
parameter real MULT = 1.0 `from( 0.0,inf ) `P(type="instance" info="Number of devices in parallel" unit="" );
parameter real ABSOURCE = 1e-12 `from(`AB_cliplow,inf) `P(type="instance" desc="Bottom area of source junction" unit="m^2" );
parameter real LSSOURCE = 1e-6 `from(`LS_cliplow,inf) `P(type="instance" desc="STI-edge length of source junction" unit="m" );
parameter real LGSOURCE = 1e-6 `from(`LG_cliplow,inf) `P(type="instance" desc="Gate-edge length of source junction" unit="m" );
parameter real ABDRAIN = 1e-12 `from(`AB_cliplow,inf) `P(type="instance" desc="Bottom area of drain junction" unit="m^2" );
parameter real LSDRAIN = 1e-6 `from(`LS_cliplow,inf) `P(type="instance" desc="STI-edge length of drain junction" unit="m" );
parameter real LGDRAIN = 1e-6 `from(`LG_cliplow,inf) `P(type="instance" desc="Gate-edge length of drain junction" unit="m" );
parameter real AS = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" desc="Bottom area of source junction" unit="m^2" );
parameter real PS = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" desc="Perimeter of source junction" unit="m" );
parameter real AD = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" desc="Bottom area of drain junction" unit="m^2" );
parameter real PD = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" desc="Perimeter of drain junction" unit="m" );
parameter real JW = 1E-6 `from(`LG_cliplow,inf) `P(type="instance" desc="Gate-edge length of source/drain junction" unit="m" );
parameter real MULT = 1.0 `from( 0.0,inf ) `P(type="instance" desc="Number of devices in parallel" unit="" );
`else // LocalModel
`ifdef Binning
@ -225,239 +225,239 @@
///////////////////////////////////////////////////
// Special model parameters
parameter real LEVEL = 1020 `P(info="Model level" unit="" );
parameter real TYPE = 1.0 `from( -1,1 ) `P(info="Channel type parameter, +1=NMOS -1=PMOS" unit="" );
parameter real LEVEL = 1020 `P(desc="Model level" unit="" );
parameter real TYPE = 1.0 `from( -1,1 ) `P(desc="Channel type parameter, +1=NMOS -1=PMOS" unit="" );
// Reference Temperature
parameter real TR = 21.0 `from( -273.0,inf ) `P(info="nominal (reference) temperature" unit="C" );
parameter real TR = 21.0 `from( -273.0,inf ) `P(desc="nominal (reference) temperature" unit="C" );
// Switch parameters that turn models or effects on or off
parameter real SWIGATE = 0.0 `from( 0.0,1.0 ) `P(info="Flag for gate current, 0=turn off IG" unit="" );
parameter real SWIMPACT = 0.0 `from( 0.0,1.0 ) `P(info="Flag for impact ionization current, 0=turn off II" unit="" );
parameter real SWGIDL = 0.0 `from( 0.0,1.0 ) `P(info="Flag for GIDL current, 0=turn off IGIDL" unit="" );
parameter real SWJUNCAP = 0.0 `from( 0.0,3.0 ) `P(info="Flag for juncap, 0=turn off juncap" unit="" );
parameter real QMC = 1.0 `from( 0.0,inf ) `P(info="Quantum-mechanical correction factor" unit="" );
parameter real SWIGATE = 0.0 `from( 0.0,1.0 ) `P(desc="Flag for gate current, 0=turn off IG" unit="" );
parameter real SWIMPACT = 0.0 `from( 0.0,1.0 ) `P(desc="Flag for impact ionization current, 0=turn off II" unit="" );
parameter real SWGIDL = 0.0 `from( 0.0,1.0 ) `P(desc="Flag for GIDL current, 0=turn off IGIDL" unit="" );
parameter real SWJUNCAP = 0.0 `from( 0.0,3.0 ) `P(desc="Flag for juncap, 0=turn off juncap" unit="" );
parameter real QMC = 1.0 `from( 0.0,inf ) `P(desc="Quantum-mechanical correction factor" unit="" );
// Process Parameters
parameter real LVARO = 0.0 `P(info="Geom. independent difference between actual and programmed gate length" unit="m" );
parameter real LVARL = 0.0 `P(info="Length dependence of LVAR" unit="" );
parameter real LVARW = 0.0 `P(info="Width dependence of LVAR" unit="" );
parameter real LAP = 0.0 `P(info="Effective channel length reduction per side" unit="m" );
parameter real WVARO = 0.0 `P(info="Geom. independent difference between actual and programmed field-oxide opening" unit="m" );
parameter real WVARL = 0.0 `P(info="Length dependence of WVAR" unit="" );
parameter real WVARW = 0.0 `P(info="Width dependence of WVAR" unit="" );
parameter real WOT = 0.0 `P(info="Effective channel width reduction per side" unit="m" );
parameter real DLQ = 0.0 `P(info="Effective channel length reduction for CV" unit="m" );
parameter real DWQ = 0.0 `P(info="Effective channel width reduction for CV" unit="m" );
parameter real VFBO = -1.0 `P(info="Geometry-independent flat-band voltage at TR" unit="V" );
parameter real VFBL = 0.0 `P(info="Length dependence of flat-band voltage" unit="" );
parameter real VFBW = 0.0 `P(info="Width dependence of flat-band voltage" unit="" );
parameter real VFBLW = 0.0 `P(info="Area dependence of flat-band voltage" unit="" );
parameter real STVFBO = 5e-4 `P(info="Geometry-independent temperature dependence of VFB" unit="V/K" );
parameter real STVFBL = 0.0 `P(info="Length dependence of temperature dependence of VFB" unit="" );
parameter real STVFBW = 0.0 `P(info="Width dependence of temperature dependence of VFB" unit="" );
parameter real STVFBLW = 0.0 `P(info="Area dependence of temperature dependence of VFB" unit="" );
parameter real TOXO = 2e-9 `from( 1e-10,inf ) `P(info="Gate oxide thickness" unit="m" );
parameter real NSUBO = 3e23 `from( 1e20,inf ) `P(info="Geometry independent substrate doping" unit="m^-3" );
parameter real NSUBW = 0.0 `P(info="Width dependence of background doping NSUBO due to segregation" unit="" );
parameter real WSEG = 1e-8 `from( 1e-10,inf ) `P(info="Char. length of segregation of background doping NSUBO" unit="m" );
parameter real NPCK = 1e24 `from( 0.0,inf ) `P(info="Pocket doping level" unit="m^-3" );
parameter real NPCKW = 0.0 `P(info="Width dependence of pocket doping NPCK due to segregation" unit="" );
parameter real WSEGP = 1e-8 `from( 1e-10,inf ) `P(info="Char. length of segregation of pocket doping NPCK" unit="m" );
parameter real LPCK = 1e-8 `from( 1e-10,inf ) `P(info="Char. length of lateral doping profile" unit="m" );
parameter real LPCKW = 0.0 `P(info="Width dependence of char. length of lateral doping profile" unit="" );
parameter real FOL1 = 0.0 `P(info="First length dependence coefficient for short channel body effect" unit="" );
parameter real FOL2 = 0.0 `P(info="Second length dependence coefficient for short channel body effect" unit="" );
parameter real VNSUBO = 0.0 `P(info="Effective doping bias-dependence parameter" unit="V" );
parameter real NSLPO = 0.05 `P(info="Effective doping bias-dependence parameter" unit="V" );
parameter real DNSUBO = 0.0 `P(info="Effective doping bias-dependence parameter" unit="V^-1" );
parameter real DPHIBO = 0.0 `P(info="Geometry independent offset of PHIB" unit="V" );
parameter real DPHIBL = 0.0 `P(info="Length dependence offset of PHIB" unit="V" );
parameter real DPHIBLEXP= 1.0 `P(info="Exponent for length dependence of offset of PHIB" unit="" );
parameter real DPHIBW = 0.0 `P(info="Width dependence of offset of PHIB" unit="" );
parameter real DPHIBLW = 0.0 `P(info="Area dependence of offset of PHIB" unit="" );
parameter real NPO = 1e26 `P(info="Geometry-independent gate poly-silicon doping" unit="m^-3" );
parameter real NPL = 0.0 `P(info="Length dependence of gate poly-silicon doping" unit="" );
parameter real CTO = 0.0 `P(info="Geometry-independent interface states factor" unit="" );
parameter real CTL = 0.0 `P(info="Length dependence of interface states factor" unit="" );
parameter real CTLEXP = 1.0 `P(info="Exponent for length dependence of interface states factor" unit="" );
parameter real CTW = 0.0 `P(info="Width dependence of interface states factor" unit="" );
parameter real CTLW = 0.0 `P(info="Area dependence of interface states factor" unit="" );
parameter real TOXOVO = 2e-9 `from( 1e-10,inf ) `P(info="Overlap oxide thickness" unit="m" );
parameter real LOV = 0 `from( 0.0,inf ) `P(info="Overlap length for gate/drain and gate/source overlap capacitance" unit="m" );
parameter real NOVO = 5e25 `P(info="Effective doping of overlap region" unit="m^-3" );
parameter real LVARO = 0.0 `P(desc="Geom. independent difference between actual and programmed gate length" unit="m" );
parameter real LVARL = 0.0 `P(desc="Length dependence of LVAR" unit="" );
parameter real LVARW = 0.0 `P(desc="Width dependence of LVAR" unit="" );
parameter real LAP = 0.0 `P(desc="Effective channel length reduction per side" unit="m" );
parameter real WVARO = 0.0 `P(desc="Geom. independent difference between actual and programmed field-oxide opening" unit="m" );
parameter real WVARL = 0.0 `P(desc="Length dependence of WVAR" unit="" );
parameter real WVARW = 0.0 `P(desc="Width dependence of WVAR" unit="" );
parameter real WOT = 0.0 `P(desc="Effective channel width reduction per side" unit="m" );
parameter real DLQ = 0.0 `P(desc="Effective channel length reduction for CV" unit="m" );
parameter real DWQ = 0.0 `P(desc="Effective channel width reduction for CV" unit="m" );
parameter real VFBO = -1.0 `P(desc="Geometry-independent flat-band voltage at TR" unit="V" );
parameter real VFBL = 0.0 `P(desc="Length dependence of flat-band voltage" unit="" );
parameter real VFBW = 0.0 `P(desc="Width dependence of flat-band voltage" unit="" );
parameter real VFBLW = 0.0 `P(desc="Area dependence of flat-band voltage" unit="" );
parameter real STVFBO = 5e-4 `P(desc="Geometry-independent temperature dependence of VFB" unit="V/K" );
parameter real STVFBL = 0.0 `P(desc="Length dependence of temperature dependence of VFB" unit="" );
parameter real STVFBW = 0.0 `P(desc="Width dependence of temperature dependence of VFB" unit="" );
parameter real STVFBLW = 0.0 `P(desc="Area dependence of temperature dependence of VFB" unit="" );
parameter real TOXO = 2e-9 `from( 1e-10,inf ) `P(desc="Gate oxide thickness" unit="m" );
parameter real NSUBO = 3e23 `from( 1e20,inf ) `P(desc="Geometry independent substrate doping" unit="m^-3" );
parameter real NSUBW = 0.0 `P(desc="Width dependence of background doping NSUBO due to segregation" unit="" );
parameter real WSEG = 1e-8 `from( 1e-10,inf ) `P(desc="Char. length of segregation of background doping NSUBO" unit="m" );
parameter real NPCK = 1e24 `from( 0.0,inf ) `P(desc="Pocket doping level" unit="m^-3" );
parameter real NPCKW = 0.0 `P(desc="Width dependence of pocket doping NPCK due to segregation" unit="" );
parameter real WSEGP = 1e-8 `from( 1e-10,inf ) `P(desc="Char. length of segregation of pocket doping NPCK" unit="m" );
parameter real LPCK = 1e-8 `from( 1e-10,inf ) `P(desc="Char. length of lateral doping profile" unit="m" );
parameter real LPCKW = 0.0 `P(desc="Width dependence of char. length of lateral doping profile" unit="" );
parameter real FOL1 = 0.0 `P(desc="First length dependence coefficient for short channel body effect" unit="" );
parameter real FOL2 = 0.0 `P(desc="Second length dependence coefficient for short channel body effect" unit="" );
parameter real VNSUBO = 0.0 `P(desc="Effective doping bias-dependence parameter" unit="V" );
parameter real NSLPO = 0.05 `P(desc="Effective doping bias-dependence parameter" unit="V" );
parameter real DNSUBO = 0.0 `P(desc="Effective doping bias-dependence parameter" unit="V^-1" );
parameter real DPHIBO = 0.0 `P(desc="Geometry independent offset of PHIB" unit="V" );
parameter real DPHIBL = 0.0 `P(desc="Length dependence offset of PHIB" unit="V" );
parameter real DPHIBLEXP= 1.0 `P(desc="Exponent for length dependence of offset of PHIB" unit="" );
parameter real DPHIBW = 0.0 `P(desc="Width dependence of offset of PHIB" unit="" );
parameter real DPHIBLW = 0.0 `P(desc="Area dependence of offset of PHIB" unit="" );
parameter real NPO = 1e26 `P(desc="Geometry-independent gate poly-silicon doping" unit="m^-3" );
parameter real NPL = 0.0 `P(desc="Length dependence of gate poly-silicon doping" unit="" );
parameter real CTO = 0.0 `P(desc="Geometry-independent interface states factor" unit="" );
parameter real CTL = 0.0 `P(desc="Length dependence of interface states factor" unit="" );
parameter real CTLEXP = 1.0 `P(desc="Exponent for length dependence of interface states factor" unit="" );
parameter real CTW = 0.0 `P(desc="Width dependence of interface states factor" unit="" );
parameter real CTLW = 0.0 `P(desc="Area dependence of interface states factor" unit="" );
parameter real TOXOVO = 2e-9 `from( 1e-10,inf ) `P(desc="Overlap oxide thickness" unit="m" );
parameter real LOV = 0 `from( 0.0,inf ) `P(desc="Overlap length for gate/drain and gate/source overlap capacitance" unit="m" );
parameter real NOVO = 5e25 `P(desc="Effective doping of overlap region" unit="m^-3" );
// DIBL Parameters
parameter real CFL = 0.0 `P(info="Length dependence of DIBL-parameter" unit="V^-1" );
parameter real CFLEXP = 2.0 `P(info="Exponent for length dependence of CF" unit="" );
parameter real CFW = 0.0 `P(info="Width dependence of CF" unit="" );
parameter real CFBO = 0.0 `P(info="Back-bias dependence of CF" unit="V^-1" );
parameter real CFL = 0.0 `P(desc="Length dependence of DIBL-parameter" unit="V^-1" );
parameter real CFLEXP = 2.0 `P(desc="Exponent for length dependence of CF" unit="" );
parameter real CFW = 0.0 `P(desc="Width dependence of CF" unit="" );
parameter real CFBO = 0.0 `P(desc="Back-bias dependence of CF" unit="V^-1" );
// Mobility Parameters
parameter real UO = 5e-2 `P(info="Zero-field mobility at TR" unit="m^2/V/s" );
parameter real FBET1 = 0.0 `P(info="Relative mobility decrease due to first lateral profile" unit="" );
parameter real FBET1W = 0.0 `P(info="Width dependence of relative mobility decrease due to first lateral profile" unit="" );
parameter real LP1 = 1e-8 `from( 1e-10,inf ) `P(info="Mobility-related characteristic length of first lateral profile" unit="m" );
parameter real LP1W = 0.0 `P(info="Width dependence of mobility-related characteristic length of first lateral profile" unit="" );
parameter real FBET2 = 0.0 `P(info="Relative mobility decrease due to second lateral profile" unit="" );
parameter real LP2 = 1e-8 `from( 1e-10,inf ) `P(info="Mobility-related characteristic length of second lateral profile" unit="m" );
parameter real BETW1 = 0.0 `P(info="First higher-order width scaling coefficient of BETN" unit="" );
parameter real BETW2 = 0.0 `P(info="Second higher-order width scaling coefficient of BETN" unit="" );
parameter real WBET = 1e-9 `from( 1e-10,inf ) `P(info="Characteristic width for width scaling of BETN" unit="m" );
parameter real STBETO = 1.0 `P(info="Geometry independent temperature dependence of BETN" unit="" );
parameter real STBETL = 0.0 `P(info="Length dependence of temperature dependence of BETN" unit="" );
parameter real STBETW = 0.0 `P(info="Width dependence of temperature dependence of BETN" unit="" );
parameter real STBETLW = 0.0 `P(info="Area dependence of temperature dependence of BETN" unit="" );
parameter real MUEO = 0.5 `P(info="Geometry independent mobility reduction coefficient at TR" unit="m/V" );
parameter real MUEW = 0.0 `P(info="Width dependence of mobility reduction coefficient at TR" unit="" );
parameter real STMUEO = 0.0 `P(info="Temperature dependence of MUE" unit="" );
parameter real THEMUO = 1.5 `P(info="Mobility reduction exponent at TR" unit="" );
parameter real STTHEMUO = 1.5 `P(info="Temperature dependence of THEMU" unit="" );
parameter real CSO = 0.0 `P(info="Geometry independent coulomb scattering parameter at TR" unit="" );
parameter real CSL = 0.0 `P(info="Length dependence of CS" unit="" );
parameter real CSLEXP = 0.0 `P(info="Exponent for length dependence of CS" unit="" );
parameter real CSW = 0.0 `P(info="Width dependence of CS" unit="" );
parameter real CSLW = 0.0 `P(info="Area dependence of CS" unit="" );
parameter real STCSO = 0.0 `P(info="Temperature dependence of CS" unit="" );
parameter real XCORO = 0.0 `P(info="Geometry independent non-universality parameter" unit="V^-1" );
parameter real XCORL = 0.0 `P(info="Length dependence of non-universality parameter" unit="" );
parameter real XCORW = 0.0 `P(info="Width dependence of non-universality parameter" unit="" );
parameter real XCORLW = 0.0 `P(info="Area dependence of non-universality parameter" unit="" );
parameter real STXCORO = 0.0 `P(info="Temperature dependence of XCOR" unit="" );
parameter real FETAO = 1.0 `P(info="Effective field parameter" unit="" );
parameter real UO = 5e-2 `P(desc="Zero-field mobility at TR" unit="m^2/V/s" );
parameter real FBET1 = 0.0 `P(desc="Relative mobility decrease due to first lateral profile" unit="" );
parameter real FBET1W = 0.0 `P(desc="Width dependence of relative mobility decrease due to first lateral profile" unit="" );
parameter real LP1 = 1e-8 `from( 1e-10,inf ) `P(desc="Mobility-related characteristic length of first lateral profile" unit="m" );
parameter real LP1W = 0.0 `P(desc="Width dependence of mobility-related characteristic length of first lateral profile" unit="" );
parameter real FBET2 = 0.0 `P(desc="Relative mobility decrease due to second lateral profile" unit="" );
parameter real LP2 = 1e-8 `from( 1e-10,inf ) `P(desc="Mobility-related characteristic length of second lateral profile" unit="m" );
parameter real BETW1 = 0.0 `P(desc="First higher-order width scaling coefficient of BETN" unit="" );
parameter real BETW2 = 0.0 `P(desc="Second higher-order width scaling coefficient of BETN" unit="" );
parameter real WBET = 1e-9 `from( 1e-10,inf ) `P(desc="Characteristic width for width scaling of BETN" unit="m" );
parameter real STBETO = 1.0 `P(desc="Geometry independent temperature dependence of BETN" unit="" );
parameter real STBETL = 0.0 `P(desc="Length dependence of temperature dependence of BETN" unit="" );
parameter real STBETW = 0.0 `P(desc="Width dependence of temperature dependence of BETN" unit="" );
parameter real STBETLW = 0.0 `P(desc="Area dependence of temperature dependence of BETN" unit="" );
parameter real MUEO = 0.5 `P(desc="Geometry independent mobility reduction coefficient at TR" unit="m/V" );
parameter real MUEW = 0.0 `P(desc="Width dependence of mobility reduction coefficient at TR" unit="" );
parameter real STMUEO = 0.0 `P(desc="Temperature dependence of MUE" unit="" );
parameter real THEMUO = 1.5 `P(desc="Mobility reduction exponent at TR" unit="" );
parameter real STTHEMUO = 1.5 `P(desc="Temperature dependence of THEMU" unit="" );
parameter real CSO = 0.0 `P(desc="Geometry independent coulomb scattering parameter at TR" unit="" );
parameter real CSL = 0.0 `P(desc="Length dependence of CS" unit="" );
parameter real CSLEXP = 0.0 `P(desc="Exponent for length dependence of CS" unit="" );
parameter real CSW = 0.0 `P(desc="Width dependence of CS" unit="" );
parameter real CSLW = 0.0 `P(desc="Area dependence of CS" unit="" );
parameter real STCSO = 0.0 `P(desc="Temperature dependence of CS" unit="" );
parameter real XCORO = 0.0 `P(desc="Geometry independent non-universality parameter" unit="V^-1" );
parameter real XCORL = 0.0 `P(desc="Length dependence of non-universality parameter" unit="" );
parameter real XCORW = 0.0 `P(desc="Width dependence of non-universality parameter" unit="" );
parameter real XCORLW = 0.0 `P(desc="Area dependence of non-universality parameter" unit="" );
parameter real STXCORO = 0.0 `P(desc="Temperature dependence of XCOR" unit="" );
parameter real FETAO = 1.0 `P(desc="Effective field parameter" unit="" );
// Series Resistance
parameter real RSW1 = 2.5e3 `P(info="Source/drain series resistance for 1 um wide channel at TR" unit="Ohm" );
parameter real RSW2 = 0.0 `P(info="Higher-order width scaling of RS" unit="" );
parameter real STRSO = 1.0 `P(info="Temperature dependence of RS" unit="" );
parameter real RSBO = 0.0 `P(info="Back-bias dependence of series resistance" unit="V^-1" );
parameter real RSGO = 0.0 `P(info="Gate-bias dependence of series resistance" unit="V^-1" );
parameter real RSW1 = 2.5e3 `P(desc="Source/drain series resistance for 1 um wide channel at TR" unit="Ohm" );
parameter real RSW2 = 0.0 `P(desc="Higher-order width scaling of RS" unit="" );
parameter real STRSO = 1.0 `P(desc="Temperature dependence of RS" unit="" );
parameter real RSBO = 0.0 `P(desc="Back-bias dependence of series resistance" unit="V^-1" );
parameter real RSGO = 0.0 `P(desc="Gate-bias dependence of series resistance" unit="V^-1" );
// Velocity Saturation
parameter real THESATO = 0.0 `P(info="Geometry independent velocity saturation parameter at TR" unit="V^-1" );
parameter real THESATL = 0.05 `P(info="Length dependence of THESAT" unit="V^-1" );
parameter real THESATLEXP= 1.0 `P(info="Exponent for length dependence of THESAT" unit="" );
parameter real THESATW = 0.0 `P(info="Width dependence of velocity saturation parameter" unit="" );
parameter real THESATLW = 0.0 `P(info="Area dependence of velocity saturation parameter" unit="" );
parameter real STTHESATO= 1.0 `P(info="Geometry independent temperature dependence of THESAT" unit="" );
parameter real STTHESATL= 0.0 `P(info="Length dependence of temperature dependence of THESAT" unit="" );
parameter real STTHESATW= 0.0 `P(info="Width dependence of temperature dependence of THESAT" unit="" );
parameter real STTHESATLW= 0.0 `P(info="Area dependence of temperature dependence of THESAT" unit="" );
parameter real THESATBO = 0.0 `P(info="Back-bias dependence of velocity saturation" unit="V^-1" );
parameter real THESATGO = 0.0 `P(info="Gate-bias dependence of velocity saturation" unit="V^-1" );
parameter real THESATO = 0.0 `P(desc="Geometry independent velocity saturation parameter at TR" unit="V^-1" );
parameter real THESATL = 0.05 `P(desc="Length dependence of THESAT" unit="V^-1" );
parameter real THESATLEXP= 1.0 `P(desc="Exponent for length dependence of THESAT" unit="" );
parameter real THESATW = 0.0 `P(desc="Width dependence of velocity saturation parameter" unit="" );
parameter real THESATLW = 0.0 `P(desc="Area dependence of velocity saturation parameter" unit="" );
parameter real STTHESATO= 1.0 `P(desc="Geometry independent temperature dependence of THESAT" unit="" );
parameter real STTHESATL= 0.0 `P(desc="Length dependence of temperature dependence of THESAT" unit="" );
parameter real STTHESATW= 0.0 `P(desc="Width dependence of temperature dependence of THESAT" unit="" );
parameter real STTHESATLW= 0.0 `P(desc="Area dependence of temperature dependence of THESAT" unit="" );
parameter real THESATBO = 0.0 `P(desc="Back-bias dependence of velocity saturation" unit="V^-1" );
parameter real THESATGO = 0.0 `P(desc="Gate-bias dependence of velocity saturation" unit="V^-1" );
// Saturation Voltage
parameter real AXO = 18 `P(info="Geometry independent linear/saturation transition factor" unit="" );
parameter real AXL = 0.4 `from( 0.0,inf ) `P(info="Length dependence of AX" unit="" );
parameter real AXO = 18 `P(desc="Geometry independent linear/saturation transition factor" unit="" );
parameter real AXL = 0.4 `from( 0.0,inf ) `P(desc="Length dependence of AX" unit="" );
// Channel Length Modulation
parameter real ALPL = 5e-4 `P(info="Length dependence of ALP" unit="" );
parameter real ALPLEXP = 1.0 `P(info="Exponent for length dependence of ALP" unit="" );
parameter real ALPW = 0.0 `P(info="Width dependence of ALP" unit="" );
parameter real ALP1L1 = 0.0 `P(info="Length dependence of CLM enhancement factor above threshold" unit="V" );
parameter real ALP1LEXP = 0.5 `P(info="Exponent for length dependence of ALP1" unit="" );
parameter real ALP1L2 = 0.0 `from( 0.0,inf ) `P(info="Second_order length dependence of ALP1" unit="" );
parameter real ALP1W = 0.0 `P(info="Width dependence of ALP1" unit="" );
parameter real ALP2L1 = 0.0 `P(info="Length dependence of CLM enhancement factor below threshold" unit="V^-1" );
parameter real ALP2LEXP = 0.5 `P(info="Exponent for length dependence of ALP2" unit="" );
parameter real ALP2L2 = 0.0 `from( 0.0,inf ) `P(info="Second_order length dependence of ALP2" unit="" );
parameter real ALP2W = 0.0 `P(info="Width dependence of ALP2" unit="" );
parameter real VPO = 0.05 `P(info="CLM logarithmic dependence parameter" unit="V" );
parameter real ALPL = 5e-4 `P(desc="Length dependence of ALP" unit="" );
parameter real ALPLEXP = 1.0 `P(desc="Exponent for length dependence of ALP" unit="" );
parameter real ALPW = 0.0 `P(desc="Width dependence of ALP" unit="" );
parameter real ALP1L1 = 0.0 `P(desc="Length dependence of CLM enhancement factor above threshold" unit="V" );
parameter real ALP1LEXP = 0.5 `P(desc="Exponent for length dependence of ALP1" unit="" );
parameter real ALP1L2 = 0.0 `from( 0.0,inf ) `P(desc="Second_order length dependence of ALP1" unit="" );
parameter real ALP1W = 0.0 `P(desc="Width dependence of ALP1" unit="" );
parameter real ALP2L1 = 0.0 `P(desc="Length dependence of CLM enhancement factor below threshold" unit="V^-1" );
parameter real ALP2LEXP = 0.5 `P(desc="Exponent for length dependence of ALP2" unit="" );
parameter real ALP2L2 = 0.0 `from( 0.0,inf ) `P(desc="Second_order length dependence of ALP2" unit="" );
parameter real ALP2W = 0.0 `P(desc="Width dependence of ALP2" unit="" );
parameter real VPO = 0.05 `P(desc="CLM logarithmic dependence parameter" unit="V" );
// Weak-avalanche parameters
parameter real A1O = 1.0 `P(info="Geometry independent impact-ionization pre-factor" unit="" );
parameter real A1L = 0.0 `P(info="Length dependence of A1" unit="" );
parameter real A1W = 0.0 `P(info="Width dependence of A1" unit="" );
parameter real A2O = 10 `P(info="Impact-ionization exponent at TR" unit="V" );
parameter real STA2O = 0.0 `P(info="Temperature dependence of A2" unit="V" );
parameter real A3O = 1.0 `P(info="Geometry independent saturation-voltage dependence of II" unit="" );
parameter real A3L = 0.0 `P(info="Length dependence of A3" unit="" );
parameter real A3W = 0.0 `P(info="Width dependence of A3" unit="" );
parameter real A4O = 0.0 `P(info="Geometry independent back-bias dependence of II" unit="V^-0.5" );
parameter real A4L = 0.0 `P(info="Length dependence of A4" unit="" );
parameter real A4W = 0.0 `P(info="Width dependence of A4" unit="" );
parameter real A1O = 1.0 `P(desc="Geometry independent impact-ionization pre-factor" unit="" );
parameter real A1L = 0.0 `P(desc="Length dependence of A1" unit="" );
parameter real A1W = 0.0 `P(desc="Width dependence of A1" unit="" );
parameter real A2O = 10 `P(desc="Impact-ionization exponent at TR" unit="V" );
parameter real STA2O = 0.0 `P(desc="Temperature dependence of A2" unit="V" );
parameter real A3O = 1.0 `P(desc="Geometry independent saturation-voltage dependence of II" unit="" );
parameter real A3L = 0.0 `P(desc="Length dependence of A3" unit="" );
parameter real A3W = 0.0 `P(desc="Width dependence of A3" unit="" );
parameter real A4O = 0.0 `P(desc="Geometry independent back-bias dependence of II" unit="V^-0.5" );
parameter real A4L = 0.0 `P(desc="Length dependence of A4" unit="" );
parameter real A4W = 0.0 `P(desc="Width dependence of A4" unit="" );
// Gate current parameters
parameter real GCOO = 0.0 `P(info="Gate tunnelling energy adjustment" unit="" );
parameter real IGINVLW = 0.0 `P(info="Gate channel current pre-factor for 1 um^2 channel area" unit="A" );
parameter real IGOVW = 0.0 `P(info="Gate overlap current pre-factor for 1 um wide channel" unit="A" );
parameter real STIGO = 2.0 `P(info="Temperature dependence of IGINV and IGOV" unit="" );
parameter real GC2O = 0.375 `P(info="Gate current slope factor" unit="" );
parameter real GC3O = 0.063 `P(info="Gate current curvature factor" unit="" );
parameter real CHIBO = 3.1 `P(info="Tunnelling barrier height" unit="V" );
parameter real GCOO = 0.0 `P(desc="Gate tunnelling energy adjustment" unit="" );
parameter real IGINVLW = 0.0 `P(desc="Gate channel current pre-factor for 1 um^2 channel area" unit="A" );
parameter real IGOVW = 0.0 `P(desc="Gate overlap current pre-factor for 1 um wide channel" unit="A" );
parameter real STIGO = 2.0 `P(desc="Temperature dependence of IGINV and IGOV" unit="" );
parameter real GC2O = 0.375 `P(desc="Gate current slope factor" unit="" );
parameter real GC3O = 0.063 `P(desc="Gate current curvature factor" unit="" );
parameter real CHIBO = 3.1 `P(desc="Tunnelling barrier height" unit="V" );
// Gate-induced drain leakage parameters
parameter real AGIDLW = 0.0 `P(info="Width dependence of GIDL pre-factor" unit="A/V^3" );
parameter real BGIDLO = 41 `P(info="GIDL probability factor at TR" unit="V" );
parameter real STBGIDLO = 0.0 `P(info="Temperature dependence of BGIDL" unit="V/K" );
parameter real CGIDLO = 0.0 `P(info="Back-bias dependence of GIDL" unit="" );
parameter real AGIDLW = 0.0 `P(desc="Width dependence of GIDL pre-factor" unit="A/V^3" );
parameter real BGIDLO = 41 `P(desc="GIDL probability factor at TR" unit="V" );
parameter real STBGIDLO = 0.0 `P(desc="Temperature dependence of BGIDL" unit="V/K" );
parameter real CGIDLO = 0.0 `P(desc="Back-bias dependence of GIDL" unit="" );
// Charge Model Parameters
parameter real CGBOVL = 0.0 `P(info="Oxide capacitance for gate-bulk overlap for 1 um^2 area" unit="F" );
parameter real CFRW = 0.0 `P(info="Outer fringe capacitance for 1 um wide channel" unit="F" );
parameter real CGBOVL = 0.0 `P(desc="Oxide capacitance for gate-bulk overlap for 1 um^2 area" unit="F" );
parameter real CFRW = 0.0 `P(desc="Outer fringe capacitance for 1 um wide channel" unit="F" );
// Noise Model Parameters
parameter real FNTO = 1.0 `P(info="Thermal noise coefficient" unit="" );
parameter real NFALW = 8e22 `P(info="First coefficient of flicker noise for 1 um^2 channel area" unit="V^-1/m^4" );
parameter real NFBLW = 3e7 `P(info="Second coefficient of flicker noise for 1 um^2 channel area" unit="V^-1/m^2" );
parameter real NFCLW = 0.0 `P(info="Third coefficient of flicker noise for 1 um^2 channel area" unit="V^-1" );
parameter real FNTO = 1.0 `P(desc="Thermal noise coefficient" unit="" );
parameter real NFALW = 8e22 `P(desc="First coefficient of flicker noise for 1 um^2 channel area" unit="V^-1/m^4" );
parameter real NFBLW = 3e7 `P(desc="Second coefficient of flicker noise for 1 um^2 channel area" unit="V^-1/m^2" );
parameter real NFCLW = 0.0 `P(desc="Third coefficient of flicker noise for 1 um^2 channel area" unit="V^-1" );
// Other Parameters
parameter real DTA = 0 `P(info="Temperature offset w.r.t. ambient circuit temperature" unit="K" );
parameter real DTA = 0 `P(desc="Temperature offset w.r.t. ambient circuit temperature" unit="K" );
`endif // Binning
`ifdef NQSmodel
// NQS parameters
parameter real SWNQS = 0.0 `from( 0.0,9.0 ) `P(info="Flag for NQS, 0=off, 1, 2, 3, 5, or 9=number of collocation points" unit="" );
parameter real MUNQSO = 1.0 `P(info="Relative mobility for NQS modelling" );
parameter real RGO = 1.0e-3 `P(info="Gate resistance" );
parameter real RBULKO = 1.0e-3 `P(info="Bulk resistance between node BP and BI" unit="Ohm" );
parameter real RWELLO = 1.0e-3 `P(info="Well resistance between node BI and B" unit="Ohm" );
parameter real RJUNSO = 1.0e-3 `P(info="Source-side bulk resistance between node BI and BS" unit="Ohm" );
parameter real RJUNDO = 1.0e-3 `P(info="Drain-side bulk resistance between node BI and BD" unit="Ohm" );
parameter real SWNQS = 0.0 `from( 0.0,9.0 ) `P(desc="Flag for NQS, 0=off, 1, 2, 3, 5, or 9=number of collocation points" unit="" );
parameter real MUNQSO = 1.0 `P(desc="Relative mobility for NQS modelling" );
parameter real RGO = 1.0e-3 `P(desc="Gate resistance" );
parameter real RBULKO = 1.0e-3 `P(desc="Bulk resistance between node BP and BI" unit="Ohm" );
parameter real RWELLO = 1.0e-3 `P(desc="Well resistance between node BI and B" unit="Ohm" );
parameter real RJUNSO = 1.0e-3 `P(desc="Source-side bulk resistance between node BI and BS" unit="Ohm" );
parameter real RJUNDO = 1.0e-3 `P(desc="Drain-side bulk resistance between node BI and BD" unit="Ohm" );
`endif // NQSmodel
// Stress Model Parameters
parameter real SAREF = 1.0e-6 `from( 1e-9,inf ) `P(info="Reference distance beteen OD-edge to poly from one side" unit="m" );
parameter real SBREF = 1.0e-6 `from( 1e-9,inf ) `P(info="Reference distance beteen OD-edge to poly from other side" unit="m" );
parameter real WLOD = 0 `P(info="Width parameter" unit="m" );
parameter real KUO = 0 `P(info="Mobility degradation/enhancement coefficient" unit="m" );
parameter real KVSAT = 0 `from( -1.0,1.0 ) `P(info="Saturation velocity degradation/enhancement coefficient" unit="m" );
parameter real TKUO = 0 `P(info="Temperature dependence of KUO" unit="" );
parameter real LKUO = 0 `P(info="Length dependence of KUO" unit="m^LLODKUO" );
parameter real WKUO = 0 `P(info="Width dependence of KUO" unit="m^WLODKUO" );
parameter real PKUO = 0 `P(info="Cross-term dependence of KUO" unit="m^(LLODKUO+WLODKUO)" );
parameter real LLODKUO = 0 `from( 0.0,inf ) `P(info="Length parameter for UO stress effect" unit="" );
parameter real WLODKUO = 0 `from( 0.0,inf ) `P(info="Width parameter for UO stress effect" unit="" );
parameter real KVTHO = 0 `P(info="Threshold shift parameter" unit="Vm" );
parameter real LKVTHO = 0 `P(info="Length dependence of KVTHO" unit="m^LLODVTH" );
parameter real WKVTHO = 0 `P(info="Width dependence of KVTHO" unit="m^WLODVTH" );
parameter real PKVTHO = 0 `P(info="Cross-term dependence of KVTHO" unit="m^(LLODVTH+WLODVTH)" );
parameter real LLODVTH = 0 `from( 0.0,inf ) `P(info="Length parameter for VTH-stress effect" unit="" );
parameter real WLODVTH = 0 `from( 0.0,inf ) `P(info="Width parameter for VTH-stress effect" unit="" );
parameter real STETAO = 0 `P(info="eta0 shift factor related to VTHO change" unit="m" );
parameter real LODETAO = 1.0 `from( 0.0,inf ) `P(info="eta0 shift modifaction factor for stress effect" unit="" );
parameter real SAREF = 1.0e-6 `from( 1e-9,inf ) `P(desc="Reference distance beteen OD-edge to poly from one side" unit="m" );
parameter real SBREF = 1.0e-6 `from( 1e-9,inf ) `P(desc="Reference distance beteen OD-edge to poly from other side" unit="m" );
parameter real WLOD = 0 `P(desc="Width parameter" unit="m" );
parameter real KUO = 0 `P(desc="Mobility degradation/enhancement coefficient" unit="m" );
parameter real KVSAT = 0 `from( -1.0,1.0 ) `P(desc="Saturation velocity degradation/enhancement coefficient" unit="m" );
parameter real TKUO = 0 `P(desc="Temperature dependence of KUO" unit="" );
parameter real LKUO = 0 `P(desc="Length dependence of KUO" unit="m^LLODKUO" );
parameter real WKUO = 0 `P(desc="Width dependence of KUO" unit="m^WLODKUO" );
parameter real PKUO = 0 `P(desc="Cross-term dependence of KUO" unit="m^(LLODKUO+WLODKUO)" );
parameter real LLODKUO = 0 `from( 0.0,inf ) `P(desc="Length parameter for UO stress effect" unit="" );
parameter real WLODKUO = 0 `from( 0.0,inf ) `P(desc="Width parameter for UO stress effect" unit="" );
parameter real KVTHO = 0 `P(desc="Threshold shift parameter" unit="Vm" );
parameter real LKVTHO = 0 `P(desc="Length dependence of KVTHO" unit="m^LLODVTH" );
parameter real WKVTHO = 0 `P(desc="Width dependence of KVTHO" unit="m^WLODVTH" );
parameter real PKVTHO = 0 `P(desc="Cross-term dependence of KVTHO" unit="m^(LLODVTH+WLODVTH)" );
parameter real LLODVTH = 0 `from( 0.0,inf ) `P(desc="Length parameter for VTH-stress effect" unit="" );
parameter real WLODVTH = 0 `from( 0.0,inf ) `P(desc="Width parameter for VTH-stress effect" unit="" );
parameter real STETAO = 0 `P(desc="eta0 shift factor related to VTHO change" unit="m" );
parameter real LODETAO = 1.0 `from( 0.0,inf ) `P(desc="eta0 shift modifaction factor for stress effect" unit="" );
// JUNCAP Parameters
parameter real TRJ = 21 `from(`TRJ_cliplow,inf) `P(info="reference temperature" unit="C");
parameter real TRJ = 21 `from(`TRJ_cliplow,inf) `P(desc="reference temperature" unit="C");
`include "JUNCAP200_parlist.include"
// Instance parameters
parameter real L = 10e-6 `from( 1e-9,inf ) `P(type="instance" info="Design length" unit="m" );
parameter real W = 10e-6 `from( 1e-9,inf ) `P(type="instance" info="Design width" unit="m" );
parameter real SA = 0.0 `P(type="instance" info="Distance beteen OD-edge to poly from one side" unit="m" );
parameter real SB = 0.0 `P(type="instance" info="Distance beteen OD-edge to poly from other side" unit="m" );
parameter real ABSOURCE = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" info="Bottom area of source junction" unit="m^2" );
parameter real LSSOURCE = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" info="STI-edge length of source junction" unit="m" );
parameter real LGSOURCE = 1E-6 `from(`LG_cliplow,inf) `P(type="instance" info="Gate-edge length of source junction" unit="m" );
parameter real ABDRAIN = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" info="Bottom area of drain junction" unit="m^2" );
parameter real LSDRAIN = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" info="STI-edge length of drain junction" unit="m" );
parameter real LGDRAIN = 1E-6 `from(`LG_cliplow,inf) `P(type="instance" info="Gate-edge length of drain junction" unit="m" );
parameter real AS = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" info="Bottom area of source junction" unit="m^2" );
parameter real PS = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" info="Perimeter of source junction" unit="m" );
parameter real AD = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" info="Bottom area of drain junction" unit="m^2" );
parameter real PD = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" info="Perimeter of drain junction" unit="m" );
parameter real MULT = 1.0 `from( 0.0,inf ) `P(type="instance" info="Number of devices in parallel" unit="" );
parameter real L = 10e-6 `from( 1e-9,inf ) `P(type="instance" desc="Design length" unit="m" );
parameter real W = 10e-6 `from( 1e-9,inf ) `P(type="instance" desc="Design width" unit="m" );
parameter real SA = 0.0 `P(type="instance" desc="Distance beteen OD-edge to poly from one side" unit="m" );
parameter real SB = 0.0 `P(type="instance" desc="Distance beteen OD-edge to poly from other side" unit="m" );
parameter real ABSOURCE = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" desc="Bottom area of source junction" unit="m^2" );
parameter real LSSOURCE = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" desc="STI-edge length of source junction" unit="m" );
parameter real LGSOURCE = 1E-6 `from(`LG_cliplow,inf) `P(type="instance" desc="Gate-edge length of source junction" unit="m" );
parameter real ABDRAIN = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" desc="Bottom area of drain junction" unit="m^2" );
parameter real LSDRAIN = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" desc="STI-edge length of drain junction" unit="m" );
parameter real LGDRAIN = 1E-6 `from(`LG_cliplow,inf) `P(type="instance" desc="Gate-edge length of drain junction" unit="m" );
parameter real AS = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" desc="Bottom area of source junction" unit="m^2" );
parameter real PS = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" desc="Perimeter of source junction" unit="m" );
parameter real AD = 1E-12 `from(`AB_cliplow,inf) `P(type="instance" desc="Bottom area of drain junction" unit="m^2" );
parameter real PD = 1E-6 `from(`LS_cliplow,inf) `P(type="instance" desc="Perimeter of drain junction" unit="m" );
parameter real MULT = 1.0 `from( 0.0,inf ) `P(type="instance" desc="Number of devices in parallel" unit="" );
//////////////////////////
//
@ -632,98 +632,98 @@
real id_op, is, ig, ib, P_D, facvsb, facvsb0, sig1k;
real ctype `P(ask="yes" info="Flag for channel type" unit="");
real sdint `P(ask="yes" info="Flag for source-drain interchange" unit="");
real ctype `P(ask="yes" desc="Flag for channel type" unit="");
real sdint `P(ask="yes" desc="Flag for source-drain interchange" unit="");
real ise `P(ask="yes" info="Total source current" unit="A");
real ige `P(ask="yes" info="Total gate current" unit="A");
real ide `P(ask="yes" info="Total drain current" unit="A");
real ibe `P(ask="yes" info="Total bulk current" unit="A");
real ids `P(ask="yes" info="Drain current, excl. avalanche, tunnel, GISL, GIDL, and junction currents" unit="A");
real idb `P(ask="yes" info="Drain to bulk current" unit="A");
real isb `P(ask="yes" info="Source to bulk current" unit="A");
real igs `P(ask="yes" info="Gate-source tunneling current" unit="A");
real igd `P(ask="yes" info="Gate-drain tunneling current" unit="A");
real igb `P(ask="yes" info="Gate-bulk tunneling current" unit="A");
real igcs `P(ask="yes" info="Gate-channel tunneling current (source component)" unit="A");
real igcd `P(ask="yes" info="Gate-channel tunneling current (drain component)" unit="A");
real iavl `P(ask="yes" info="Substrate current due to weak avelanche" unit="A");
real igisl `P(ask="yes" info="Gate-induced source leakage current" unit="A");
real igidl `P(ask="yes" info="Gate-induced drain leakage current" unit="A");
real ise `P(ask="yes" desc="Total source current" unit="A");
real ige `P(ask="yes" desc="Total gate current" unit="A");
real ide `P(ask="yes" desc="Total drain current" unit="A");
real ibe `P(ask="yes" desc="Total bulk current" unit="A");
real ids `P(ask="yes" desc="Drain current, excl. avalanche, tunnel, GISL, GIDL, and junction currents" unit="A");
real idb `P(ask="yes" desc="Drain to bulk current" unit="A");
real isb `P(ask="yes" desc="Source to bulk current" unit="A");
real igs `P(ask="yes" desc="Gate-source tunneling current" unit="A");
real igd `P(ask="yes" desc="Gate-drain tunneling current" unit="A");
real igb `P(ask="yes" desc="Gate-bulk tunneling current" unit="A");
real igcs `P(ask="yes" desc="Gate-channel tunneling current (source component)" unit="A");
real igcd `P(ask="yes" desc="Gate-channel tunneling current (drain component)" unit="A");
real iavl `P(ask="yes" desc="Substrate current due to weak avelanche" unit="A");
real igisl `P(ask="yes" desc="Gate-induced source leakage current" unit="A");
real igidl `P(ask="yes" desc="Gate-induced drain leakage current" unit="A");
real ijs `P(ask="yes" info="Total source junction current" unit="A");
real ijsbot `P(ask="yes" info="Source junction current (bottom component)" unit="A");
real ijsgat `P(ask="yes" info="Source junction current (gate-edge component)" unit="A");
real ijssti `P(ask="yes" info="Source junction current (STI-edge component)" unit="A");
real ijd `P(ask="yes" info="Total drain junction current" unit="A");
real ijdbot `P(ask="yes" info="Drain junction current (bottom component)" unit="A");
real ijdgat `P(ask="yes" info="Drain junction current (gate-edge component)" unit="A");
real ijdsti `P(ask="yes" info="Drain junction current (STI-edge component)" unit="A");
real ijs `P(ask="yes" desc="Total source junction current" unit="A");
real ijsbot `P(ask="yes" desc="Source junction current (bottom component)" unit="A");
real ijsgat `P(ask="yes" desc="Source junction current (gate-edge component)" unit="A");
real ijssti `P(ask="yes" desc="Source junction current (STI-edge component)" unit="A");
real ijd `P(ask="yes" desc="Total drain junction current" unit="A");
real ijdbot `P(ask="yes" desc="Drain junction current (bottom component)" unit="A");
real ijdgat `P(ask="yes" desc="Drain junction current (gate-edge component)" unit="A");
real ijdsti `P(ask="yes" desc="Drain junction current (STI-edge component)" unit="A");
real vds `P(ask="yes" info="Drain-source voltage" unit="V");
real vgs `P(ask="yes" info="Gate-source voltage" unit="V");
real vsb `P(ask="yes" info="Source-bulk voltage" unit="V");
real vto `P(ask="yes" info="Zero-bias threshold voltage" unit="V");
real vts `P(ask="yes" info="Threshold voltage including back bias effects" unit="V");
real vth `P(ask="yes" info="Threshold voltage including back bias and drain bias effects" unit="V");
real vgt `P(ask="yes" info="Effective gate drive voltage including back bias and drain bias effects" unit="V");
real vdss `P(ask="yes" info="Drain saturation voltage at actual bias" unit="V");
real vsat `P(ask="yes" info="Saturation limit" unit="V");
real vds `P(ask="yes" desc="Drain-source voltage" unit="V");
real vgs `P(ask="yes" desc="Gate-source voltage" unit="V");
real vsb `P(ask="yes" desc="Source-bulk voltage" unit="V");
real vto `P(ask="yes" desc="Zero-bias threshold voltage" unit="V");
real vts `P(ask="yes" desc="Threshold voltage including back bias effects" unit="V");
real vth `P(ask="yes" desc="Threshold voltage including back bias and drain bias effects" unit="V");
real vgt `P(ask="yes" desc="Effective gate drive voltage including back bias and drain bias effects" unit="V");
real vdss `P(ask="yes" desc="Drain saturation voltage at actual bias" unit="V");
real vsat `P(ask="yes" desc="Saturation limit" unit="V");
real gm `P(ask="yes" info="Transconductance" unit="1/Ohm");
real gmb `P(ask="yes" info="Substrate transconductance" unit="1/Ohm");
real gds `P(ask="yes" info="Output conductance" unit="1/Ohm");
real gjs `P(ask="yes" info="Source junction conductance" unit="1/Ohm");
real gjd `P(ask="yes" info="Drain junction conductance" unit="1/Ohm");
real gm `P(ask="yes" desc="Transconductance" unit="1/Ohm");
real gmb `P(ask="yes" desc="Substrate transconductance" unit="1/Ohm");
real gds `P(ask="yes" desc="Output conductance" unit="1/Ohm");
real gjs `P(ask="yes" desc="Source junction conductance" unit="1/Ohm");
real gjd `P(ask="yes" desc="Drain junction conductance" unit="1/Ohm");
real cdd `P(ask="yes" info="Drain capacitance" unit="F");
real cdg `P(ask="yes" info="Drain-gate capacitance" unit="F");
real cds `P(ask="yes" info="Drain-source capacitance" unit="F");
real cdb `P(ask="yes" info="Drain-bulk capacitance" unit="F");
real cgd `P(ask="yes" info="Gate-drain capacitance" unit="F");
real cgg `P(ask="yes" info="Gate capacitance" unit="F");
real cgs `P(ask="yes" info="Gate-source capacitance" unit="F");
real cgb `P(ask="yes" info="Gate-bulk capacitance" unit="F");
real csd `P(ask="yes" info="Source-drain capacitance" unit="F");
real csg `P(ask="yes" info="Source-gate capacitance" unit="F");
real css `P(ask="yes" info="Source capacitance" unit="F");
real csb `P(ask="yes" info="Source-bulk capacitance" unit="F");
real cbd `P(ask="yes" info="Bulk-drain capacitance" unit="F");
real cbg `P(ask="yes" info="Bulk-gate capacitance" unit="F");
real cbs `P(ask="yes" info="Bulk-source capacitance" unit="F");
real cbb `P(ask="yes" info="Bulk capacitance" unit="F");
real cgsol `P(ask="yes" info="Total gate-source overlap capacitance" unit="F");
real cgdol `P(ask="yes" info="Total gate-drain overlap capacitance" unit="F");
real cdd `P(ask="yes" desc="Drain capacitance" unit="F");
real cdg `P(ask="yes" desc="Drain-gate capacitance" unit="F");
real cds `P(ask="yes" desc="Drain-source capacitance" unit="F");
real cdb `P(ask="yes" desc="Drain-bulk capacitance" unit="F");
real cgd `P(ask="yes" desc="Gate-drain capacitance" unit="F");
real cgg `P(ask="yes" desc="Gate capacitance" unit="F");
real cgs `P(ask="yes" desc="Gate-source capacitance" unit="F");
real cgb `P(ask="yes" desc="Gate-bulk capacitance" unit="F");
real csd `P(ask="yes" desc="Source-drain capacitance" unit="F");
real csg `P(ask="yes" desc="Source-gate capacitance" unit="F");
real css `P(ask="yes" desc="Source capacitance" unit="F");
real csb `P(ask="yes" desc="Source-bulk capacitance" unit="F");
real cbd `P(ask="yes" desc="Bulk-drain capacitance" unit="F");
real cbg `P(ask="yes" desc="Bulk-gate capacitance" unit="F");
real cbs `P(ask="yes" desc="Bulk-source capacitance" unit="F");
real cbb `P(ask="yes" desc="Bulk capacitance" unit="F");
real cgsol `P(ask="yes" desc="Total gate-source overlap capacitance" unit="F");
real cgdol `P(ask="yes" desc="Total gate-drain overlap capacitance" unit="F");
real cjs `P(ask="yes" info="Total source junction capacitance" unit="F");
real cjsbot `P(ask="yes" info="Source junction capacitance (bottom component)" unit="F");
real cjsgat `P(ask="yes" info="Source junction capacitance (gate-edge component)" unit="F");
real cjssti `P(ask="yes" info="Source junction capacitance (STI-edge component)" unit="F");
real cjd `P(ask="yes" info="Total drain junction capacitance" unit="F");
real cjdbot `P(ask="yes" info="Drain junction capacitance (bottom component)" unit="F");
real cjdgat `P(ask="yes" info="Drain junction capacitance (gate-edge component)" unit="F");
real cjdsti `P(ask="yes" info="Drain junction capacitance (STI-edge component)" unit="F");
real cjs `P(ask="yes" desc="Total source junction capacitance" unit="F");
real cjsbot `P(ask="yes" desc="Source junction capacitance (bottom component)" unit="F");
real cjsgat `P(ask="yes" desc="Source junction capacitance (gate-edge component)" unit="F");
real cjssti `P(ask="yes" desc="Source junction capacitance (STI-edge component)" unit="F");
real cjd `P(ask="yes" desc="Total drain junction capacitance" unit="F");
real cjdbot `P(ask="yes" desc="Drain junction capacitance (bottom component)" unit="F");
real cjdgat `P(ask="yes" desc="Drain junction capacitance (gate-edge component)" unit="F");
real cjdsti `P(ask="yes" desc="Drain junction capacitance (STI-edge component)" unit="F");
real weff `P(ask="yes" info="Effective channel width for geometrical models" unit="m");
real leff `P(ask="yes" info="Effective channel length for geometrical models" unit="m");
real u `P(ask="yes" info="Transistor gain" unit="");
real rout `P(ask="yes" info="Small-signal output resistance" unit="Ohm");
real vearly `P(ask="yes" info="Equivalent Early voltage" unit="V");
real beff `P(ask="yes" info="Gain factor" unit="A/V^2");
real fug `P(ask="yes" info="Unity gain frequency at actual bias" unit="Hz");
real weff `P(ask="yes" desc="Effective channel width for geometrical models" unit="m");
real leff `P(ask="yes" desc="Effective channel length for geometrical models" unit="m");
real u `P(ask="yes" desc="Transistor gain" unit="");
real rout `P(ask="yes" desc="Small-signal output resistance" unit="Ohm");
real vearly `P(ask="yes" desc="Equivalent Early voltage" unit="V");
real beff `P(ask="yes" desc="Gain factor" unit="A/V^2");
real fug `P(ask="yes" desc="Unity gain frequency at actual bias" unit="Hz");
real sfl `P(ask="yes" info="Flicker noise current density at 1 Hz" unit="A/Hz");
real sqrtsff `P(ask="yes" info="Input-referred RMS white noise voltage density at 1 kHz" unit="V/sqrt(Hz)");
real sqrtsfw `P(ask="yes" info="Input-referred RMS white noise voltage density" unit="V/sqrt(Hz)");
real sid `P(ask="yes" info="White noise current density" unit="A^2/Hz");
real sig `P(ask="yes" info="Induced gate noise current density at 1 Hz" unit="A^2/Hz");
real cigid `P(ask="yes" info="Imaginary part of correlation coefficient between Sig and Sid" unit="");
real fknee `P(ask="yes" info="Cross-over frequency above which white noise is dominant" unit="Hz");
real sigs `P(ask="yes" info="Gate-source current noise spectral density" unit="A^2/Hz");
real sigd `P(ask="yes" info="Gate-drain current noise spectral density" unit="A^2/Hz");
real siavl `P(ask="yes" info="Impact ionization current noise spectral density" unit="A^2/Hz");
real ssi `P(ask="yes" info="Total source junction current noise spectral density" unit="A^2/Hz");
real sdi `P(ask="yes" info="Total drain junction current noise specral density" unit="A^2/Hz");
real sfl `P(ask="yes" desc="Flicker noise current density at 1 Hz" unit="A/Hz");
real sqrtsff `P(ask="yes" desc="Input-referred RMS white noise voltage density at 1 kHz" unit="V/sqrt(Hz)");
real sqrtsfw `P(ask="yes" desc="Input-referred RMS white noise voltage density" unit="V/sqrt(Hz)");
real sid `P(ask="yes" desc="White noise current density" unit="A^2/Hz");
real sig `P(ask="yes" desc="Induced gate noise current density at 1 Hz" unit="A^2/Hz");
real cigid `P(ask="yes" desc="Imaginary part of correlation coefficient between Sig and Sid" unit="");
real fknee `P(ask="yes" desc="Cross-over frequency above which white noise is dominant" unit="Hz");
real sigs `P(ask="yes" desc="Gate-source current noise spectral density" unit="A^2/Hz");
real sigd `P(ask="yes" desc="Gate-drain current noise spectral density" unit="A^2/Hz");
real siavl `P(ask="yes" desc="Impact ionization current noise spectral density" unit="A^2/Hz");
real ssi `P(ask="yes" desc="Total source junction current noise spectral density" unit="A^2/Hz");
real sdi `P(ask="yes" desc="Total drain junction current noise specral density" unit="A^2/Hz");
`endif // OPinfo
/////////////////////////////////////////////////////////////////////////////

View File

@ -36,7 +36,8 @@
// Note 2: In this va-code, the "from" keyword in the parameter
// list is not used. Silent clipping is used instead. One could enable
// the Verilog-A range checking by redefining the `from-macro below.
`define P(txt)
// `define P(txt)
`define P(txt) (*txt*)
`define AT_MODEL
`define AT_INSTANCE
`define AT_NOISE

View File

@ -36,7 +36,7 @@
module PSP102VA(D, G, S, B)
`P(
info = "PSP MOSFET Model"
desc = "PSP MOSFET Model"
version = `VERS
revision = `VREV
simkit:name = "psp1020"