Editor Note: The third part of this series is here.
This recent talk about Spice reminded me of a debate I had with a student engineer. At my lecture at the excellent technical university in Buenos Aires, he asked me, "Mr. Pease, you tell us we should not use Spice, but for our courses, we cannot breadboard everything. There's not enough time. What should we do?"
There's a stumper! I told him I didn't have an answer, but I bet I could think of one. I vamped for time. I asked him a few questions. I stalled for more time. Then I got a good idea. I told him, "Here's what you ought to do. When you have to design a circuit for a class, it is okay if you design it and evaluate it in Spice. It may not work well right away, but you can optimize it until it is pretty good. Evaluate all the important characteristics. Document it well. Save the Spice-run results.
"Now is a good time to make a breadboard. Make it up and analyze its characteristics. Compare them to the Spice results. Is there good agreement on some characteristics? Is the disagreement poor, or disastrous? Write down good notes on all the disagreements.
"Now go into Spice and try to find why there is disagreement. Go into the breadboard, too, to see if that can explain what's funny. Hey, breadboards don't always tell the truth either. When you understand the discrepancy between reality and theory, re-optimize things. If you want, you can do that in Spice. Get it so it is likely to work well.
"Now go back and update your breadboard so that it will agree with the circuit that you optimized in Spice. Take data. Is the agreement acceptable? When you finally have agreement, write down the full set of notes on the disagreements and put them in a book. This will be a big book, documenting all the differences and discrepancies between Spice and the real world. Is that a pretty good idea?" The young engineer said it sounded like a good idea.
Then I thought of another angle: "Do you have an Intranet site here at your school?" He said yes. I said, "Good. Put all the information into your Web site so that every student will have good access to this 'disagreement' information. Is that a pretty good idea?" He said he liked that, too.
Now, a breadboard of a high-frequency circuit may not give any good agreement with the Spice results. A monolithic IC has very few strays, but a breadboard may have a lot of package strays. The breadboard may be stable, but the Spice version might oscillate. What to do? Well, you can't very well make a breadboard with package strays removed, but you can build two Spice circuits, one with package strays, and one without.
When you transform the Spice circuit, by going from "WITH package strays" to "WITHOUT," it may go faster. But it may be unstable. Still, the Spice circuit with strays might match the breadboard to a reasonable degree. Don't forget to include inductances. The inductances of a breadboard are often much larger than those of a smaller circuit.
Note: It is not always literally correct to criticize Spice for poor simulation of the real world. Sometimes the discrepancy results from poor models. Heck, most Spice models are oversimplified and don't account for self-heating. And Spice usually can't incorporate a self-heated model into a simulation. I say that it's not unfair to lump all the problems as problems of Spice, even though many are caused by models. Sometimes these can't be easily separated. See associated figure, here:
Comments invited!
[email protected] —or:
Mail Stop D2597A, National Semiconductor
P.O. Box 58090, Santa Clara, CA 95052-8090