LTspice Genealogy - The Heritage of Simulation Ubiquity    

Loading
From LTwiki-Wiki for LTspice
Jump to: navigation, search

LTspice excels, not only in its technical prowess, but also in its unique accessibility to and popularity with the full spectrum of electronics practitioners and aficionados.  This page highlights the heritage of LTspice, emphasizing both the technical developments leading up to the current version of LTspice and the key events and prior trailblazers on the pathway to making SPICE the dominant simulation platform in the engineering community.

If as its primary original author, Larry Nagel is deservedly considered "The Father of SPICE" then as its essential enabler, advocate and general all-round visionary for open source electronic simulation software, Don Pederson most certainly is SPICE’s godfather.  And its two most noteworthy disciples and popularizers would have to be Paul Tuinenga and Mike Engelhardt.  These are men who clearly could see the power and potential of SPICE, had the ability to hone it into practical tools and, most importantly had the genius to make SPICE a comfortable fixture on the majority of engineering desktops.


1969: Beginnings of CANCER (Computer Analysis of Nonlinear Circuits, Excluding Radiation)[1]

  • The CANCER simulator begins as the class project in the first of a series of courses taught by Ron Rohrer
    • Ever the guiding visionary, Professor Donald O. Pederson[2], lends much approval and encouragement to the fledgling simulation project
  • Larry Nagel[3] wrote the netlist parser and the analysis core and was student group leader
  • Lynn Weber developed a noise analysis feature that utilized adjoint network techniques
  • Bob Berry wrote the sparse matrix LU decomposition package
  • CANCER project's key features:
    • Was the first circuit simulator to utilize sparse matrix techniques
    • Used Newton-Raphson iteration method heuristically modified for bipolar circuits (Ebers-Moll model)
    • Utilized implicit integration to accommodate widely spread time-constants of an IC
    • Integrated DC operating point analysis, small-signal AC analysis and transient analysis
  • Once the class ended, CANCER becomes Larry Nagel's master's project with Ron Rohrer as research adviser
  • Project is presented by Ron Rohrer at the 1971 ISSCC[4], but the code was considered partially proprietary and was never publicly released

1971: SPICE 1 (Simulation Program with IC Emphasis) - direct outgrowth of CANCER

  • Ron Rohrer leaves UC Berkeley and with the Fall term, further development of CANCER (renamed SPICE) becomes Larry Nagel's Ph.D. project
    • Don Pederson takes over as doctoral program faculty research adviser
  • KEY EVENT: Don Pederson insists that all further work be releasable to the public domain
  • SPICE 1 release's key features:
    • Models for bipolar transistors added Gummel-Poon equations
    • JFET and Shichman-Hodges MOSFET devices added (for Dave Hodges' MOSFET design class)
    • Fixed time step and strict Nodal Analysis (but voltage sources and inductors were supported via an ad hoc row-swap algorithm)
    • DC, AC, Transient, Noise, and Sensitivity Analyses in the same program
    • Built-in models for diodes, bipolar transistors, MOSFETs, and JFETs
  • Was about 6k lines of FORTRAN at first public informal limited beta release in late 1971
  • Official public release was May 1972 with first formal paper presented by Don Pederson at the 16th Midwest Symposium on Circuit Theory, April 12, 1973[5]
  • SPICE 1 becomes industry standard simulation tool running on large mainframe computers

1972: SPICE 2 begins

  • First version of SPICE 2 was Larry Nagel's ongoing Ph.D. project under Don Pederson
  • Modified Nodal Analysis (MNA) added, simplifying the handling of voltage sources and inductors
  • With much input from Ellis Cohen, Larry Nagel adds dynamic memory allocation
  • Adjustable time-step control added, greatly speeding most simulations
  • MOSFET and bipolar models overhauled and extended and subcircuits are first added (with the 2B release)
  • Was about 8k lines of FORTRAN when first released to the public domain in late 1974
  • Larry Nagel graduates, departs for Bell Labs and his Ph.D. thesis[6] becomes the de facto SPICE 2 Users Guide

1975: Journey to SPICE 2G6 (the pinnacle FORTRAN version)

  • Initially Ellis Cohen[7] becomes primary contributor reworking subcircuts and adding poly sources and transmission lines
  • Shorly thereafter, the primary code development baton passes to Andrei Vladimirescu
  • First of a series of public revision releases after Nagel's version 2B begins in 1978
  • Version 2G6 ends up implementing three MOSFET models[8] (with Sally Liu providing all the newer models):
    • MOS 1 is a simplistic model described purely by ideal square-law I-V characteristics
    • MOS 2 is an analytical model, MOS 3 is a semi-empirical model and both include second-order effects such as channel length modulation, sub threshold conduction, scattering limited velocity saturation, small-size effects, and charge-controlled capacitances
  • 2G6[9] released to public domain in April 1983 (and is still available today from UC Berkeley)
  • Many current commercial simulators are based on SPICE 2G6

1983: SPICE 3 begins

  • With Richard Newton as adviser, Tom Quarles[10] begins work on SPICE 3, writing the first version in RATFOR, a C-like preprocessor for FORTRAN
  • Was fully converted to C in 1985 with first early versions released in March of that year
  • Added models: MESFET, lossy transmission line and non-ideal switch
  • Arbitrary behavioral voltage and current sources added
  • Includes polynomial capacitors, inductors and voltage controlled sources
  • Allows the use of alphabetical node labels rather than only numbers
  • Features a graphical interface for viewing results
  • New version eliminates many convergence problems
  • Added noise, distortion and pole-zero analysis, temperature sweeping, Monte Carlo and Fourier analysis
  • Not fully compatible with SPICE 2G6
  • Was about 135,000 lines of C code at first public release in 1989[11]
  • Final version at Berkeley, SPICE 3F5, released to public in 1993[12]
  • XSPICE was developed at Georgia Tech as an extension to the SPICE language to allow behavioral modeling of components
    • Drastically improves the speed of mixed-mode and digital simulations
  • In 1999, the open source SPICE 3 development baton is passed to NGSPICE as part of the gEDA project
    • Its code is based on three open source software packages: SPICE3F5, Cider1B1 and XSPICE

1984: PSpice (Personal-Computer SPICE)[13]

  • Caltech graduates, Wolfram Blume (BS75) and Paul Tuinenga (MS78), co-found MicroSim as CEO and V.P. of Technology in June 1984
  • Developed to run on the first IBM PC, PSpice is initially released in January 1984 (while Blume and Tuinenga were working at Silicon Systems, Inc.)
    • With eight employees in April 1985[14], MicroSim's original focus is on custom Intel 8086/87 hardware array SPICE accelerators (PSpice is secondary)
  • PSpice was the first commercial offspring of Berkeley SPICE to run directly on the PC platform
  • Last FORTRAN version was 2.06 – version 3.00 (Dec 86) was rewritten totally in C, yielding a 20% speed increase
  • Feedback from a very large customer base leads to rapid convergence, speed and feature enhancements
  • Becomes the first SPICE program to gain wide acceptance in both industry and academia
    • Paul Tuinega's tutorial, SPICE: A Guide to Circuit Simulation and Analysis Using PSpice, (now in its 3rd edition) becomes the "New Testament" of SPICE
  • KEY EVENT: A zero cost (but node-limited) student version is first introduced in 1988
    • Now, for the first time, SPICE becomes truly ubiquitous in the electrical engineering academic and industrial communities
  • Evolved from Berkeley SPICE 2G, but added many proprietary enhancements
    • Dec 86: nonlinear Jiles/Atherton core model, Apr 87: ideal switches, Date?: proprietary IGBT model (and many other enhancements)
    • Probe, a waveform viewer module, was added when PC VGA graphics became available
    • Schematics, a graphical front end, was added much later with version 5.00 in July 1991
  • In January 1998 MicroSim was acquired by OrCAD, which itself was subsequently purchased by Cadence Design Systems in July 1999

The Road To LTspice IV[15]

  • 1991 DOS SwitcherCAD becomes available from LTC (equation based)
  • 1992 First ever port to Linux of SPICE (3E2) publicaly released by Mike Engelhardt
  • 1994? Development at LTC of in-house advanced simulator begins based on Berkeley SPICE 3F4/5
    • Code extensively revised to improve performance on machines with faster processors than memory
    • Vastly improved convergence and time step control over that of Berkeley SPICE
    • Added support for important industry standard device, model and behavioral extensions
  • 1996 μPower SwitcherCAD becomes available from LTC (simulation based)
  • Proprietary mixed-mode HDL capability added to LTC's in-house simulator
    • Efficiently handles extremely tight feedback between analog and digital sections
    • Greatly reduces node count in switched-mode IC macro models
  • 1998? SwitcherCAD is released for internal review at LTC
    • Decision was made to extend PSpice syntax recognition to simplify user support and ease of use with existing models

1999: LTspice/SwitcherCAD III first released to public

  • LTC's Field Application Engineers received the very first copies of LTspice in October
    • FAEs were then free to give LTspice to customers they met on a visit-by-visit basis
    • June 2001, now a web-based download, LTspice becomes widely publicized in trade journals and engineering forums
  • LTspice/SitcherCAD III key features:
    • Includes P-SPICE compatible semiconductor, device and syntax model extensions
      • Diode recombination current, bipolar quasi-saturation and JFET deep impact ionization
      • Behavioral modeling (legacy 2G6 POLY statements, arbitrary expressions, Laplace, and look-up tables)
    • Includes an original mixed mode simulator with native digital library (not X-SPICE based)
    • Inductors and capacitors come with extensive built-in parasitics available, yet don't cost any extra nodes
    • New arbitrary capacitance device (user inputs charge expression)
      • Is internally symbolically differentiated and then capacitance is integrated
    • Initial release extends MOSFET model support to BSIM 3.2.2 and BSIM 4.1 (BSIMPD 2.2 and EKV 2.6 followed shortly thereafter)
    • Also includes a native power VDMOS device model with integral nonlinear interelectrode capacitances
    • Waveform viewer with marching waveforms and dynamic waveform data compression
    • Built-in device library/database (includes many power MOSFETs, diodes, bipolars, JFETS and switch-mode controllers)
    • Built-in program update checker (bug fixes and feature additions available in near real time)

Important Follow-on Enhancements

  • KEY EVENT: In September 2002 the LTspice Yahoo users group is started by Ralph Reinhold
    • Within the first year Helmut Sennewald takes over as moderator organizing one of Yahoo's most successful technical forums
    • Includes over 45k members and rapidly approaching 70k messages (as of September 2013)
  • More noteworthy bullet points to be added here shortly (raw change log items are listed below)
Feb02: Added preliminary support for ddt(), idt(), and idtmod() analog behavioral functions.
May02: Implemented binning for all MOS and BSIM models.
May02: Wave file I/O capability added.
Jan03: Hierarchical schematics added.
Jan03: A graphical symbol editor was introduced.
Mar03: Keyboard short cuts are now user definable.
Jun03: Added an alternate solver (uses a 1/2x slower but >1000x more accurate sparse matrix package).
Jul03: Ability to export a netlist for PCB layout added.
Aug03: Implemented differential cross probing (drag the mouse between two wires).
Nov03: Probing of component instantaneous power dissipation added (alt-left click its symbol).
Jan04: Added the ability to annotate waveform plots with graphics and text.
Mar04: Windows meta file output support added. 
Apr04: Chan inductor, undocumented behavioral inductor revealed.
Dec04: Implemented .measure commands.
Feb05: .raw files can now be converted to a Fast Access format that allows new plot traces to be added.
Jun06: Added continuous derivative level 2 devices to the ideal diode and voltage controlled switch.
Nov07: There is now a diode instance parameter, N, that sets the number of devices in series.
Other: ako, param stepping, unlimited undo and redo, parametric (x-y) plotting, amp and power meters,
       Fourier analysis (both .four statements and FFT's of simulated data)

2008: LTspice IV released

  • "SwitcherCAD" is dropped from the name, simplifying the description and thereby emphasizing the general purpose nature of LTspice
  • Key features added to LTspice IV:
    • Multi-threaded solvers to better utilize current multi-core processors
    • New SPARSE matrix solvers that deploy self-authoring code
      • Code is assembled and linked on the fly
      • Approaches the theoretical flop limit of current FPU's
      • Large circuits run up to 3x faster on quad core processors
  • KEY EVENT: With 3+ million copies downloaded, LTspice becomes, by far, the de facto standard SPICE program
  • More noteworthy bullet points to be added here shortly (raw change log items are listed below)
Feb09: A symbol can now be automatically generated for a schematic.
Apr09: The data from a .step'ed .meas statements can now be reformatted to a .raw file and plotted 
       (View=>SPICE Error Log then right button menu).
Jul09: Reimplemented MOS levels 1, 2, and 3 to use the Yang-Chatterjee charge model instead of the 
       Meyer capacitance model and added warnings when using archaic MOS levels 1, 2, or 3 below 
       reasonable dimensions.
Sep10: The .op values can now be displayed on the schematic while plotting .ac or .noise data 
       (schematic right button menu->View->Place .op Data Label).
Dec11: The LTspice-Gummel-Poon now supports a parasitic PNP to accurately model the substrate 
       behavior of a vertical NPN.  
Mar13: Added a level 73 MOSFET: HiSIM-HV from Hiroshima University and STARC.

Gazing Forward

  • The SPICE engine runs on fine tuned Modified Nodal Analysis technology, but many competing technologies are emerging
  • Many simplify all nonlinear elements (diodes and other switches) into piecewise linear equivalents (2 or more line segments)
    • This reduces the simulation to solving a repeating succession of related linear topologies
    • These are joined at their border points in time, but are perfectly linear in between
    • Each topology can be quickly solved without the many trial and error points of a nonlinear Newton–Raphson solution
  • Most notable of this breed are SIMPLIS (SiMetrix), PSIM (Powersim), PLECS (Plexim) and NL5 (Sidelinesoft)
  • These engines feature very quick steady state solvers for switched circuits and switched mode power supplies
    • Typically named POP or PSS (Periodic Operating Point or Periodic Steady State), a long, drawn out initial transient is avoided
    • Near instant POP/PSS and transient run speeds allows a time domain DFT ac analysis to be performed on switched circuits
      • Loopgain of switching power supplies and class-d amplifiers may be quickly analyzed in the time domain
      • Only a single nonlinear switched model is required - no need to resort to equivalent circuits with added "sampling effect" networks
      • Simulated results precisely match lab measurements (Venable, HP4194A, etc.) to and beyond the switching frequency
  • Will these or similar features appear in LTspice's future?

References

  1. Recollections of the "The Father of SPICE" Larry Nagel
  2. Donald O. Pederson (September 30, 1925 – December 25, 2004). UC Berkeley News obituary; Hodges and Newton Biographical Memoir
  3. Dr. Nagel's website: http://www.omega-enterprises.net/
  4. Laurence W. Nagel and Ronald A. Rohrer, "Computer Analysis of Nonlinear Circuits, Excluding Radiation," IEEE Journal of Solid State Circuits, vol SC-6, No 4, August 1971, pp. 166-192. (IEEE Explore)
  5. L.W. Nagel and D.O. Pederson, "Simulation Program with Integrated Circuit Emphasis (SPICE)," presented at 16th Midwest Symposium on Circuit Theory, Ontario, Canada, April 12, 1973. http://www.eecs.berkeley.edu/Pubs/TechRpts/1973/ERL-382.pdf
  6. L.W. Nagel, “SPICE2: A Computer Program to Simulate Semiconductor Circuits,” Ph.D. dissertation, University of California, Berkeley, May 9 1975. http://www.eecs.berkeley.edu/Pubs/TechRpts/1975/ERL-520.pdf
  7. E. Cohen, "Program Reference for SPICE2," University of California, Berkeley, ERL Memo UCB/ERL M75/520, May 1975. http://www.eecs.berkeley.edu/Pubs/TechRpts/1976/ERL-592.pdf
  8. A. Vladimirescu and S. Liu, "The Simulation of MOS Integrated Circuits Using SPICE2," University of California, Berkeley, UCB/ERL M80/7, October 1980. http://www.eecs.berkeley.edu/Pubs/TechRpts/1980/ERL-80-7.pdf
  9. A. Vladimirescu, K. Zhang, A.R. Newton, D.O. Pederson and A. L. Sangiovanni-Vincentelli, "SPICE Version 2G User’s Guide," Dept. of EE/CS, University of California, Berkeley, August 1981. http://www.ece.umn.edu/~harjani/courses/common/spice2G6.pdf
  10. T.L. Quarles, "Analysis of Performance Issues and Convergence in Circuit Simulation," University of California, Berkeley, ERL Memo UCB/ERL M89/42. April 1989. http://www.eecs.berkeley.edu/Pubs/TechRpts/1980/ERL-80-7.pdf
  11. T.L. Quarles, "SPICE3 Version 3C1 User's Guide," University of California, Berkeley, ERL Memo UCB/ERL M89/46, April 1989. http://www.eecs.berkeley.edu/Pubs/TechRpts/1989/ERL-89-46.pdf
  12. T.L. Quarles, A.R. Newton, D.O. Pederson, A. Sangiovanni-Vincentelli, "SPICE3 Version 3F3 User’s Manual," Dept. of EE/CS, University of California, Berkeley, May, 1993. http://www-inst.eecs.berkeley.edu/~ee140/sp11/handouts/man_spice3.pdf
  13. Email interview with PSpice founder Paul Tuinenga
  14. MicroSim Advertisement, The California Tech, Vol. LXXXVI, No. 24, Friday 19 April 1985, page 4. http://caltechcampuspubs.library.caltech.edu/1264/1/1985_04_19_86_24.pdf
  15. Select comments from LTspice author Mike Engelhardt