[Title Logo] [Title]
[Research] [Teaching] [Service] [Personal]
[Links] [What's New] [Home]


Kinsner's Home What's New Repository 1999 Articles Spice

ARTICLES OF INTEREST: 1999

The Life of SPICE

Laurence W. Nagel

Omega Enterprises
lwn@worldnet.att.net

Presented at the 1996 Bipolar Circuits and Technology Meeting
Minneapolis, MN
September 30, 1996

 

Let me begin this talk with an explanation for those in the audience that think that SPICE is a cable TV channel that offers shows of women in various states of undress. The SPICE I am talking about is about twenty years older and certainly nowhere near as exciting. The SPICE I am talking about came from the EECS Department at the University of California, Berkeley and is a computer program that predicts the electrical characteristics of an integrated circuit. In fact, the name SPICE is an acronym for "Simulation Program with Integrated Circuit Emphasis."

SPICE was announced to the world twenty three years ago not far from here in Waterloo, Canada at the Sixteenth Midwest Symposium on Circuit Theory on April 12, 1973. The paper was presented by none other than Professor Donald O. Pederson of the University of California, Berkeley. 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 a cottage industry sprouted to supply SPICE derivatives to the rapidly expanding integrated circuit industry. To this day, twenty five years later, students at most electrical engineering schools learn how to use SPICE or some derivative. Virtually every CAD tool that deals with circuit netlists understands exactly the same netlist description of the original SPICE 2G6. In short, SPICE became an industry standard without the usual help of standards bodies, committees, meetings, position papers, and bureaucracy.

When people ask me why SPICE became so widely used, or what did I do to make SPICE so widely used, the honest answer is "I don't know." But I can speculate. The biggest reason, directly attributable to Don Pederson, is that SPICE was developed at a public university and was public domain from the beginning. Because it was developed primarily as a teaching tool to provide students insight into integrated circuit performance, SPICE was rapidly embraced by many engineering colleges throughout the world. When students entered the integrated circuit industry they would write to Berkeley to obtain a copy of SPICE to use on their job. And so the copies of SPICE proliferated and the usage of SPICE grew.

SPICE was simply the latest of circuit simulation programs to be developed at UC Berkeley and it followed in the steps of BIAS, SLIC, TIME, and CANCER, as well as numerous other lesser known programs. In fact, SPICE was largely a derivative of the CANCER program announced two years earlier in a paper presented by Professor Ronald A. Rohrer at the 1971 ISSCC back when ISSCC was held in Philadelphia.

CANCER, an acronym for "Computer Analysis of Nonlinear Circuits, Excluding Radiation," was developed in an era when many circuit simulation programs were developed by large corporations with government contracts and were required to

[Small Logo]

have a simulation capability that could evaluate the radiation hardness of a circuit. The name CANCER was a brash statement that this program never would simulate radiation and was not funded by the defense industry. It was developed at Berkeley in the sixties, remember!

Actually, CANCER was a derivative of a program that was the 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 Ron lecture. The rule was that as long as Don Pederson approved of the program, we all passed. If Don didn't like the program, we were in deep trouble.

My classmates in this unique learning experience were Bob Berry, Shi-Ping Fan, Frank Jenkins, Joe Pipkin, Steve Ratner, and Lynn Weber. I was put in charge of showing the program to Don Pederson and gaining his approval, I guess because I had worked closely with Don in the past and everybody wanted to pass this course.

So, much of the secret of SPICE was in this class project led by Ron Rohrer. 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. And the program 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. And we 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, 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. Although CANCER was a success, 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, and my first job was to find a new name. I don't know how long I spent thinking up the name SPICE, and in retrospect it is amazing what graduate students spend time on. Anyway, I figured this whole project wouldn't go anywhere without a catchy name, and eventually SPICE was born. Some copies of SPICE were distributed in 1971, and that's why I consider this year to be the 25th anniversary of SPICE.

At this point, and of special interest to this meeting, SPICE only had models for bipolar transistors because that's all we designed at Berkeley. That changed when Professor David A. Hodges left Bell Labs to join the faculty. He brought with him a paper on MOSFET circuit simulation, and the Shichman-Hodges model was put into SPICE in a weekend so that Dave could teach a course on MOSFET circuit design. Software development has become so sophisticated now that putting a model into a simulator takes months, but back then it only took a weekend.

The introduction of MOSFET models into SPICE introduced two phenomena that are still present in SPICE simulators today: DC convergence problems and too small timesteps in transient analysis. MOSFETs are difficult devices with outrageous conductance swings and tiny tiny capacitors. True, bipolar circuits sometimes have convergence problems, but MOSFETs really show up the problems.

[Small Logo]

The user interface never was particularly sophisticated, on purpose. The most important consideration was that the program had to be bulletproof. We ran an entire class of jobs in one batch run at night, and it was very important that job 4 not kill the program, thus requiring resubmittal of all the other jobs. I remember my friend Dick Dowell trying to explain to one student that TEMP=0 meant absolute zero and absolute disaster. The next night, the same job came back with TEMP=1E-10! Needless to say, we converted to Celsius real quick!

Language is important too, especially in a place as diverse as a university. When transient analysis failed, the message used to be "TIMESTEP REDUCED TO ZILCH." That changed real quick one night when an entire class with a project due the next day descended on me, one at a time, demanding to know the meaning of zilch. Amazing how graduate students spend their time.

The rigor of doctoral research enabled me to really pursue the algorithms of circuit simulation. It also allowed me the privilege of having Ellis Cohen as a roommate. Ellis is the unspoken hero of SPICE. Ellis was much more computer oriented, and understood data structures, memory management, and program architecture much better than I did.

At the time our computer resources consisted of a CDC 6400 mainframe that probably had the compute capability of a Intel 286. Our memory was limited to 100,000 octal words during the day, but at night we could have 140,000 octal! For those of you uncomfortable with octal, that's 256 Kbytes during the day and 384 Kbytes at night. So simulating a circuit of reasonable size was a little like fitting my size 11 foot into a baby's slipper. The best we could do was about 50 nodes and 25 bipolar transistors. Today, SPICE simulators chew up circuits a thousand times larger!

My doctoral research came to a conclusion, I ground out my Thesis in a painfully slow fashion, and I was off to Bell Laboratories to start my professional career. But the work on SPICE was hardly over. Many copies of the program were proliferating and many many comments, bugs, suggestions, complaints, and huzzahs were arriving daily at Berkeley. That unsung hero, Ellis Cohen, took the SPICE I left and brought it to the level of professional software and the industry standard --- SPICE 2G6.

Of course, many many versions of SPICE would follow. I wish I knew how many dissertations and Master's projects were spawned by SPICE. And, of course, we are all familiar with the cottage industry that emerged to provide alphabet SPICE for the industry. It's a several hundred million dollar industry now, depending on how you count it.

My work on circuit simulators continued with the ADVICE simulator at Bell Laboratories. I also worked in modeling, characterization, and process and device simulation. I left the simulator business about twelve years ago for my first love, integrated circuit design. I keep getting pulled back towards the edges of circuit simulation, like when I was asked to give this talk. But I don't think I'll ever want to write another simulator. Been there, done that. I hope you enjoyed the talk.



[Small Logo] Thanks for the visit. Your suggestions and questions are always welcome (v.1.68)
[Copyright]