The Origins of SPICE

Laurence W. Nagel

SPICE (Simulation Program with Integrated Circuit Emphasis) is a general purpose circuit simulation program that is used by electrical engineers in the design of integrated circuits. Although SPICE was released to “friendly users” in the fall of 1971, the rest of the world didn't learn about it until Professor Donald O. Pederson of the University of California, Berkeley presented our SPICE paper at the Sixteenth Midwest Symposium on Circuit Theory on April 12, 1973.

I don't think anyone had a clue of the impact of that paper or the computer program it described. While we all had modest expectations for SPICE, what happened was truly phenomenal. Within a few years, SPICE had achieved acceptance at almost all electrical engineering schools and had started a cottage industry to supply SPICE derivatives to the rapidly expanding integrated circuit industry.

SPICE was the latest of circuit simulation programs to be developed at UC Berkeley and followed in the steps of BIAS, SLIC, TIME, and CANCER, as well as numerous other lesser known programs. The first version, SPICE 1, was a follow on to CANCER (Computer Analysis of Nonlinear Circuits, Excluding Radiation) which was announced in a paper presented by Professor Ronald A. Rohrer at the 1971 International Solid State Circuits Conference. CANCER was developed in an era when many circuit simulation programs were developed by large corporations with government contracts and were required to have a simulation capability that could evaluate the radiation hardness of a circuit. The name CANCER was a bold statement that this program never would simulate radiation and was not funded by the defense industry. It was, after all, developed at Berkeley in the sixties!

CANCER began as a class project of a series of courses taught by Ron Rohrer. The course was about circuit simulation, and Ron, always an innovative teacher, figured we would learn a lot more by doing than by listening to him lecture. The rule was that as long as Don Pederson approved of the program, we all passed. My classmates in this unique learning experience were Bob Berry, Shi-Ping Fan, Frank Jenkins, Jesse Pipkin, Steve Ratner, and Lynn Weber. I was put in charge of showing the program to Don Pederson and gaining his approval, probably because I had worked closely with Don in the past and everybody wanted to pass this course.

Ron Rohrer's class project idea was a smashing success. We developed a sparse matrix solver that allowed us to simulate circuits orders of magnitude larger than previous programs could handle. The use of implicit integration algorithms provided a much more robust transient analysis capability. Like BIAS and SLIC, CANCER had built-in models for semiconductor devices, so the user need only provide a set of model parameters as opposed to providing FORTRAN routines to model the devices. We also introduced adjoint solution methods to allow rapid sensitivity analysis and noise analysis.

When the course was over, Don Pederson gave his hearty approval, we all passed, and CANCER became my Master's project. The program was used heavily in undergraduate and graduate courses at Berkeley, largely because of Don Pederson's wholehearted support, and that gave me plenty of opportunity to improve the robustness of the algorithms for circuit simulation. Ron Rohrer and I spent many hours brainstorming and improving the program. Ron left Berkeley to work in industry about the time I finished my Master's project. There was still much to do, and I began my doctoral studies with Don Pederson as my thesis advisor.

The name CANCER was not the most popular in the industry, mainly because of the medical implications, so my first job was to find a new name, and that's how SPICE 1 was born. My doctoral research enabled me to pursue vigorously the algorithms of circuit simulation and to completely rewrite the original CANCER code to create the second version, SPICE 2. During this work, I had the privilege of having Ellis Cohen as an office mate. Ellis is the unspoken hero of SPICE. He was much more computer oriented, and taught me a lot about data structures, memory management, and program architecture. I finished my doctoral research at the end of 1974, and Ellis took the lead in improving the version of SPICE that I developed (SPICE 2B) to the industry standard SPICE 2G6, which was released in 1983.

The CANCER Paper

Laurence W. Nagel and Ronald A. Rohrer, “Computer Analysis of Nonliinear Circuits, Excluding

Radiation,” IEEE Journal of Solid State Circuits, vol SC-6, pp. 166-192.

The Very First SPICE Paper

L. W. Nagel and D. O. Pederson, “SPICE (Simulation Program with Integrated Circuit Emphasis), “

Memorandum No. ERL-M382, University of California, Berkeley, Apr. 1973.

My Dissertation

Laurence W. Nagel., “SPICE2: A Computer Program to Simulate Semiconductor Circuits,”

Memorandum No. ERL-M520, University of California, Berkeley, May 1975.

Articles on the Early History of SPICE

Laurence W. Nagel, “The Life of SPICE,” presented at Bipolar Circuits and Technology Meeting (BCTM),

Minneapolis, MN, September 30, 1996.

Laurence W. Nagel, “Y2K - A SPICE Odyssey,” presented at 2000 FSA Modeling Workshop,

San Jose, CA, October 12, 2000. - A SPICE Odyssey.pdf

Nagel, Laurence W., “The Life of SPICE,” presented at a meeting of the Princeton ACM and IEEE

Computer Society, Princeton, NJ, January 15, 2004. ACM and IEEE Computer Society 20040115.pdf

Laurence W. Nagel, “Is It Time For SPICE4?” presented at the 2004 Numerical Aspects of Device

and Circuit Modeling Workshop (NACDM), Santa Fe, NM, June 23-25, 2004. It Time For SPICE4.pdf

Laurence W. Nagel, “Donald O. Pederson: Professor, Visionary, Friend,” presented at the CANDE

Workshop, Santa Cruz, CA, September 9, 2005.

Laurence W. Nagel, “The Life of SPICE,” presented at a meeting of the Consultants Network of

Silicon Valley, Santa Clara, CA, June 9, 2009. Network of Silicon Valley 20090609.pdf

Laurence W. Nagel, “The Life of SPICE,” presented at ENGR10 class, Chabot College,

Hayward, CA, October 25, 2011. College 20111025.pdf

Some other useful SPICE Links

SPICE (Wikipedia)

The SPICE Page (UC Berkeley)

A Brief History of SPICE

SPICE versions with source code available

SPICE2 and SPICE3 at UC Berkeley

ngspice: SPICE3 with updates and XSPICE extensions

tclspice: ngspice and Tcl scripting

XSPICE at Georgia Tech

Laurence W. Nagel

ca Early 1970s

Ronald A. Rohrer

Donald O. Pederson