DEVICES ======= Table of contents 1. Introduction 2. Linear Devices 2.1 CAP - Linear capacitor 2.2 IND - Linear inductor 2.3 RES - Linear resistor 2.4 R, L, C behavioral (non-linear) devices 3. Distributed Elements 3.1 CPL - Simple Coupled Multiconductor Lines (Kspice) 3.2 LTRA - Lossy Transmission line 3.3 TRA - Transmission line 3.4 TXL - Simple Lossy Transmission Line (Kspice) 3.5 URC - Uniform distributed RC line 4. Voltage and current sources 4.1 ASRC - Arbitrary Source 4.2 CCCS - Current Controlled Current Source 4.3 CCVS - Current Controlled Voltage Source 4.4 ISRC - Independent Current Source 4.5 VCCS - Voltage Controlled Current Source 4.6 VCVS - Voltage Controlled Voltage Source 4.7 VSRC - Independent Voltage Source 5. Switches 5.1 CSW - Current controlled switch 5.2 SW - Voltage controlled switch 6. Diodes 6.1 DIO - Junction Diode 7. Bipolar devices 7.1 BJT - Bipolar Junction Transistor 7.2 VBIC - Bipolar Junction Transistor 7.3 HICUM2 - Bipolar High Speed Junction Transistor 8. FET devices 8.1 JFET - Junction Field Effect transistor 9. HFET Devices 9.1 HFET1 - Heterostructure Field Effect Transistor Level 1 9.2 HFET2 - Heterostructure Field Effect Transistor Level 2 10. MES devices 10.1 MES - MESFET model 10.2 MESA - MESFET model (MacSpice3f4) 11. MOS devices 11.1 MOS1 - Level 1 MOS model 11.2 MOS2 - Level 2 MOS model 11.3 MOS3 - Level 3 MOS model 11.4 MOS6 - Level 6 MOS model 11.5 MOS9 - Level 9 MOS model 11.6 BSIM1 - BSIM model level 1 11.7 BSIM2 - BSIM model level 2 11.8 BSIM3 - BSIM model level 3 vers. 0 11.9 BSIM3 - BSIM model level 3 vers. 1 11.10 BSIM3 - BSIM model level 3 vers. 2 11.11 BSIM3 - BSIM model level 3 vers. 3 11.12 BSIM4 - BSIM model level 4 11.13 HiSIM2 - Hiroshima-University STARC IGFET Model 11.14 HiSIM_HV - Hiroshima-University STARC IGFET High Voltage Model 11.15 VDMOS - A simple PowerMOS transistor model derived from MOS1 12. SOI devices 12.1 BSIM3SOI_FD - SOI model (fully depleted devices) 12.2 BSIM3SOI_DD - SOI Model (dynamic depletion model) 12.3 BSIM3SOI_PD - SOI model (partially depleted devices) 12.4 BSIMSOI - SOI model (partially/full depleted devices) 12.5 SOI3 - STAG SOI3 Model 13. Verilog-A models 14. XSPICE code models 15. Digital Building Blocks (U instances) 16. Digital Verilog Blocks compiled with Verilator or Icarus Verilog ------------------ 1. Introduction This file contains the status of devices available in ngspice. This file will be updated every time the device specific code is altered or changed to reflect the current status of this important part of the simulator 2. Linear Devices 2.1 CAP - Linear capacitor Ver: N/A Class: C Level: 1 (and only) Dir: devices/cap Status: active Enhancements over the original model: - Parallel Multiplier - Temperature difference from circuit temperature - Preliminary technology scaling support - Model capacitance - Cj calculation based on relative dielectric constant and insulator thickness 2.2 IND - Linear Inductor Ver: N/A Class: L Level: 1 (and only) Dir: devices/ind Status: active Enhancements over the original model: - Parallel Multiplier - Temperature difference from circuit temperature - Preliminary technology scaling support - Model inductance - Inductance calculation for toroids or solenoids on the model line. 2.3 RES - Linear resistor Ver: N/A Class: R Level: 1 (and only) Dir: devices/res Status: active Enhancements over the original model: - Parallel Multiplier - Different value for ac analysis - Temperature difference from circuit temperature - Noiseless resistor - Flicker noise - Preliminary technology scaling support 2.4 R, L, and C behavioral (non-linear) devices Their values are determined by an expression (equation) which may contain a combination of voltage and current sources embedded in a mathematical function. 3. Distributed elements 3.1 CPL - Simple Coupled Multiconductor Lines (Kspice) Ver: N/A Class: P Level: 1 (and only) Dir: devices/cpl Status: active This model comes from swec and kspice. It is not documented, if you have kspice docs, can you write a short description of its use ? - Does not implement parallel code switches - Probably a lot of memory leaks Enhancements over the original model: - Better integrated into ngspice adding CPLask, CPLmAsk and CPLunsetup functions 3.2 LTRA - Lossy Transmission line Ver: N/A Class: O Level: 1 (and only) Dir: devices/ltra Status: active - Original spice model. - Does not implement parallel code switches. 3.3 TRA - Transmission line Ver: N/A Class: T Level: 1 (and only) Dir: devices/tra Status: active - Original spice model. - Does not implement parallel code switches. 3.4 TXL - Simple Lossy Transmission Line (Kspice) Ver: N/A Class: Y Level: 1 (and only) Dir: devices/txl Status: active This model comes from kspice. It is not documented, if you have kspice docs, can you write a short description of its use ? There is some code left out from compilation: TXLaccept and TXLfindBr. Any ideas ? - Does not implement parallel code switches 3.5 URC - Uniform distributed RC line Ver: N/A Class: U Level: 1 (and only) Dir: devices/urc Status: active - Original spice model. - Does not implement parallel code switches. 4. Voltage and current sources 4.1 ASRC - Arbitrary Source Ver: N/A Class: B Level: 1 (and only) Dir: devices/asrc Status: active 4.2 CCCS - Current Controlled Current Source Ver: N/A Class: F Level: 1 (and only) Dir: devices/cccs Status: - Original spice model. 4.3 CCVS - Current Controlled Voltage Source Ver: N/A Class: H Level: 1 (and only) Dir: devices/ccvs Status: active - Original spice model. 4.4 ISRC - Independent Current Source Ver: N/A Class: I Level: 1 (and only) Dir: devices/isrc Status: active This is the original spice device improved by Alan Gillespie with the following features: - Source ramping - Check for non-monotonic series in PWL 4.5 VCCS - Voltage Controlled Current Source Ver: N/A Class: G Level: 1 (and only) Dir: devices/vccs Status: active - Original spice model. 4.6 VCVS - Voltage Controlled Voltage Source Ver: N/A Class: E Level: 1 (and only) Dir: devices/vcvs Status: active - Original spice model. 4.7 VSRC - Independent Voltage Source Ver: N/A Class: V Level: 1 (and only) Dir: devices/vsrc Status: active The original spice device improved with the following features: - Source ramping - Check for non-monotonic series in PWL - Random values - White, 1/f, and random telegraph transient noise sources - Port model for S parameter simulation 5. Switches 5.1 CSW - Current controlled switch Ver: N/A Class: W Level: 1 (and only) Dir: devices/csw Status: active - This model comes from Jon Engelbert. 5.2 SW - Voltage controlled switch Ver: N/A Class: S Level: 1 (and only) Dir: devices/sw Status: active - This model comes from Jon Engelbert. 6. Diodes 6.1 DIO - Junction Diode Ver: N/A Class: D Level: 1 (and only) Dir: devices/dio Status: active Enhancements over the original model: - Parallel Multiplier - Temperature difference from circuit temperature - Forward and reverse knee currents - Periphery (sidewall) effects - Temperature correction of some parameters - Self heating 7. Bipolar devices 7.1 BJT - Bipolar Junction Transistor Ver: N/A Class: Q Level: 1 Dir: devices/bjt Status: active Enhancements over the original model: - Parallel Multiplier - Temperature dependency on rc,rb,re - Temperature difference from circuit temperature - Different area parameters for collector, base and emitter - Support lateral PNP 7.2 VBIC - Bipolar Junction Transistor Ver: N/A Class: Q Level: 4 & 9 Dir: devices/vbic Status: active, used by IHP Open Source PDK This is the Vertical Bipolar InterCompany model in version 1.2. The author of VBIC is Colin McAndrew mcandrew@ieee.org. Spice3 Implementation: Dietmar Warning DAnalyse GmbH Web Site: http://www.designers-guide.com/VBIC/index.html Notes: This is the 4 terminals model, without excess phase and thermal network. 7.3 HICUM 2 - Bipolar Junction Transistor for high frequency Ver: 2.4 Class: Q Level: 8 Dir: devices/hicum2 Status: active HICUM: HIgh CUrrent Model is a physics-based geometry-scalable compact model for homo- and heterojunction bipolar transistors, developed by the HICUM Group at CEDIC, University of Technology Dresden, Germany. Web Site: https://www.iee.et.tu-dresden.de/iee/eb/hic_new/hic_intro.html 8. FET devices 8.1 JFET - Junction Field Effect transistor Ver: N/A Class: J Level: 1 Dir: devices/jfet Status: active This is the original spice JFET model. Enhancements over the original model: - Alan Gillespie's modified diode model - Parallel multiplier - Instance temperature as difference for circuit temperature 8.2 JFET2 - Junction Field Effect Transistor (PS model) Ver: N/A Class: J Level: 2 Dir: devices/jfet2 Status: active This is the Parker Skellern model for MESFETs. Web Site: http://www.elec.mq.edu.au/cnerf/psmodel.htm Enhancements over the original model: - Parallel multiplier - Instance temperature as difference for circuit temperature 9. HFET Devices Added code from macspice3f4 HFET1&2 and MESA model Original note: Added device calls for Mesfet models and HFET models provided by Trond Ytterdal as of Nov 98 9.1 HFET1 - Heterostructure Field Effect Transistor Level 1 Ver: N/A Class: Z Level: 5 Dir: devices/hfet1 Status: active This is the Heterostructure Field Effect Transistor model from: K. Lee, M. Shur, T. A. Fjeldly and T. Ytterdal "Semiconductor Device Modeling in VLSI", 1993, Prentice Hall, New Jersey Enhancements over the original model: - Parallel multiplier - Instance temperature as difference for circuit temperature - Added pole-zero analysis 9.2 HFET2 - Heterostructure Field Effect Transistor Level 2 Ver: N/A Class: Z Level: 6 Dir: devices/hfet2 Status: active Simplified version of hfet1 Enhancements over the original model: - Parallel multiplier - Instance temperature as difference for circuit temperature - Added pole-zero analysis 10. MES devices 10.1 MES - MESFET model Ver: N/A Class: Z Level: 1 Dir: devices/mes Status: active This is the original spice3 MESFET model (Statz). Enhancements over the original model: - Parallel multiplier - Alan Gillespie junction diodes implementation Added code from macspice3f4 HFET1&2 and MESA model Original note: Added device calls for Mesfet models and HFET models provided by Trond Ytterdal as of Nov 98 10.2 MESA - MESFET model (MacSpice3f4) Ver: N/A Class: Z Level: 2,3,4 Dir: devices/mesa Status: active This is a multilevel model. It contains code for mesa levels 2,3 and 4 Enhancements over the original model: - Parallel multiplier - Instance temperature as difference from circuit temperature - Added pole-zero analysis 11. MOS devices 11.1 MOS1 - Level 1 MOS model Ver: N/A Class: M Level: 1 Dir: devices/mos1 Status: Used in subcircuit models, obsolete for CMOS This is the so-called Schichman-Hodges model. Enhancements over the original model: - Parallel multiplier - Temperature difference from circuit temperature 11.2 MOS2 - Level 2 MOS model Ver: N/A Class: M Level: 2 Dir: devices/mos2 Status: OBSOLETE This is the so-called Grove-Frohman model. Enhancements over the original model: - Parallel multiplier - Temperature difference from circuit temperature 11.3 MOS3 - Level 3 MOS model Ver: N/A Class: M Level: 3 Dir: devices/mos3 Status: Used in subcircuit models, obsolete for CMOS Enhancements over the original model: - Parallel multiplier - Temperature difference from circuit temperature 11.4 MOS6 - Level 6 MOS model Ver: N/A Class: M Level: 6 Dir: devices/mos6 Status: obsolete Enhancements over the original model: - Parallel multiplier - Temperature difference from circuit temperature 11.5 MOS9 - Level 9 MOS model Ver: N/A Class: M Level: 9 Dir: devices/mos9 Status: obsolete This is a slightly modified Level 3 MOSFET model. (Whatever the implementer have had in mind.) Not to confuse with Philips level 9. Enhancements over the original model: - Temperature difference from circuit temperature 11.6 BSIM1 - BSIM model level 1 Ver: N/A Class: M Level: 4 Dir: devices/bsim1 Status: OBSOLETE Enhancements over the original model: - Parallel multiplier - Noise analysis BUGS: Distortion analysis probably does not work with "parallel" devices. Equations are too intricate to deal with. Any one has ideas on the subject ? 11.7 BSIM2 - BSIM model level 2 Ver: N/A Class: M Level: 5 Dir: devices/bsim2 Status: OBSOLETE Enhancements over the original model: - Parallel multiplier - Noise analysis 11.8 BSIM3v0 - BSIM model level 3 Ver: 3.0 Class: M Level: 8 & 49, version = 3.0 Dir: devices/bsim3v0 Status: OBSOLETE 11.9 BSIM3v1 - BSIM model level 3 Ver: 3.1 Class: M Level: 8 & 49, version = 3.1 Dir: devices/bsim3v1 Status: OBSOLETE This is the BSIM3v3.1 model modified by Serban Popescu. This is level 49 model. It is an implementation that supports "HDIF" and "M" parameters. 11.10 BSIM3 - BSIM model level 3 Ver: 3.2.4 Class: M Level: 8 & 49, version = 3.2.2, 3.2.3, 3.2.4 Dir: devices/bsim3v32 (level 3.2.4) Status: active This is another BSIM3 model from Berkeley Device Group. You can find some test netlists with results for this model on its web site. Web site: http://www-device.eecs.berkeley.edu/~bsim3 Enhancements over the original model: - Parallel Multiplier - delvto, mulu0 instance parameter - ACM Area Calculation Method - Multirevision code (supports all 3v3.2 minor revisions) - NodesetFix 11.11 BSIM3 - BSIM model level 3 Ver: 3.3.0 Class: M Level: 8 & 49, version = 3.3.0 Dir: devices/bsim3 (level 3.3.0) Status: active This is the actual BSIM3 model from Berkeley Device Group. You can find some test netlists with results for this model on its web site. Web site: http://www-device.eecs.berkeley.edu/~bsim3 Enhancements over the original model: - Parallel Multiplier - ACM Area Calculation Method - Multirevision code (supports all 3v3.2 minor revisions) - NodesetFix - Support for Multi-core processors using OpenMP BSIM3 models are very stable, they may replace many older models for channel length 0.25u and up. 11.12 BSIM4 - BSIM model level 4 Ver: 4.2.0 - 4.6.5 Class: M Level: 14 & 54, version = 4.5, 4.6, 4.7, 4.8 Dir: devices/bsim4 (level 4.8.0) Status: active This is the actual BSIM4 model from Berkeley Device Group. Test are available on its web site. Web site: http://www-device.eecs.berkeley.edu/~bsim3/bsim4.html Enhancements over the original model: - Parallel Multiplier - NodesetFix - Support for Multi-core processors using OpenMP 11.13 HiSIM2 - Hiroshima-university STARC IGFET Model Ver: 2.8.0 Class: M Level: 68 Dir: devices/hisim2 Status: TO BE TESTED. This is the HiSIM2 model available from Hiroshima University (Ultra-Small Device Engineering Laboratory) Web site: http://home.hiroshima-u.ac.jp/usdl/HiSIM.html Enhancements over the original model: - Support for Multi-core processors using OpenMP 11.14 HiSIM_HV - Hiroshima-University STARC IGFET High Voltage Model Ver: 1.2.4 and 2.2 Class: M Level: 73 Dir: devices/hisimhv Status: TO BE TESTED. This is the HiSIM_HV model version 1 and 2 available from Hiroshima University (Ultra-Small Device Engineering Laboratory) Web site: http://home.hiroshima-u.ac.jp/usdl/HiSIM.html 11.15 VDMOS - Simple PowerMOS model Ver: 1 Class: M Level: - Dir: devices/vdmos Status: active This is a simplified Power MOS model, derived from MOS1 and diode, similar to LTSPICE and SuperSpice VDMOS Enhancements over the original model: - Self heating with temp nodes junction and case - Weak inversion - Quasi-saturation 12. SOI devices 12.1 BSIM3SOI_FD - SOI model (fully depleted devices) Ver: 2.1 Class: M Level: 55 Dir: devices/bsim3soi_fd Status: TO BE TESTED. FD model has been integrated. There is a bsim3soifd directory under the test hierarchy. Test circuits come from the bsim3soi Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi 12.2 BSIM3SOI_DD - SOI Model (dynamic depletion model) Ver: 2.1 Class: M Level: 56 Dir: devices/bsim3soi_dd Status: obsolete There is a bsim3soidd directory under the test hierarchy. Test circuits come from bsim3soi Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi 12.3 BSIM3SOI_PD - SOI model (partially depleted devices) Ver: 2.2.1 Class: M Level: 57 Dir: devices/bsim3soi_pd Status: obsolete PD model has been integrated. There is a bsim3soipd directory under the test hierarchy. Test circuits come from the bsim3soi Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi 12.4 BSIMSOI - Berkeley SOI model (partially/full depleted devices) Ver: 4.3.1 Class: M Level: 10 & 58 Dir: devices/bsim3soi Status: active This is the actual version from Berkeley. This version is backward compatible with its previous versions BSIMSOI3.x. Usable for partially/full depleted devices. Web site at: https://bsim.berkeley.edu/models/bsimsoi/ Enhancements over the original model: - Parallel Multiplier - Support for Multi-core processors using OpenMP 12.5 SOI3 - STAG SOI3 Model Ver: 2.6 Class: M Level: 60 Dir: devices/soi3 Status: OBSOLETE 13. Verilog-A models ngspice inherits the OSDI interface for compiled Verilog-A models OpenVAF from https://openvaf.semimod.de/ is required to compile LRM2.x-conforming Verilog-A models into shared libraries which may be loaded into ngspice dynamically at run-time. The following models have been tested, example netlists are available: 13.1 BSIMBULK 107 13.2 BSIM-CMG 13.3 HICUM L0 13.4 ASM-HEMT 13.5 VBIC 13.6 MEXTRAM 504/505 13.7 PSP 103.8 13.8 r2_cmc More models are available at https://github.com/dwarning/VA-Models, user compiled models are possible as well (See ngspice manual, chapter 9). 14. XSpice code models more than 100 models are available, digital, analog, and hybrid. Please see ngspice manual chapt. 8 15. Digital Building Blocks (U instances) U instances are digital primitives which may be used (in proper combination) to model digital devices, e.g. from the 74xx or 40xx families. ngspice maps them onto XSPICE models, which allows a fast event based simulation. Please see the ngspice manual, chapter 10.1 and 10.2. 16. Digital Verilog Blocks compiled with Verilator or Icarus Verilog Verilog digital code may be compiled into a shared library (*.dll, *.so) with Verilator or Icarus Verilog and then directly linked into ngspice via the code model d_cosim. Please see the ngspice manual, chapter 10.3.