Ngspice history

Ngspice was born around 1999, when I (Paolo Nenzi) started to playing with spice and bsimsoi models to help a friend with his thesis on SOI devices. He got his Laurea in Ingegneria using a commercial software and not ngspice (well, at that time it was still called spice) but I did not stop to play with it.

As soon as I asked for help on the Internet, a small community gathered around the project and the ngspice project was officially born. The first pre-releases were mostly bug fixes of Spice3f4 and porting to the GNU/Linux platform. They were named (last three names were choosen by Emmanuel Rouat, not me):

  • chili
  • spaghetti
  • pizza
  • chianti

These pre-releases are still available for download but are almost useless. The first official ngspice release was numbered 0.1. There were five ngspice releases and, at the end (release 0.5) the following improvements were added to the original Spice3f4 code:

  • GNU/Autoconf interface
  • Jfet Level 2: The PS jfet (level 2) Model
  • BSIM3 3v3.2.2 model
  • Temperature and Resistance dc sweep
  • Working altermod command
  • Macquaire University patches

The development process continued with the ngspice-rework release series. The Spice source code was rearranged in a directory structure different from the original one by Arno Peters. The new structure respected GNU guidelines and standards for project structure. Beside this structural enhancement, this series has undergo a cleaning process to remove all the code for compilers to conforming to standard C. This is the active development tree.