Skip navigation
All Places > Keysight Blogs > EEsof EDA > Blog > 2019 > April
2019

The Tower of Babel (Genesis 11:1-9) is a story to explain why the world's peoples speak different languages:

 

 

https://en.wikipedia.org/wiki/Tower_of_Babel

 

The explanation of why the world's circuit simulators speak different languages is more mundane...

 

There were many attempts at circuit simulation programs before, but one called Simulation Program with Integrated Circuit Emphasis (SPICE) really pushed all the others out soon after it "... was announced to the world … 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." (As one of the co-authors Larry Nagel recalls in his retrospective, "Life of SPICE.")

 

Happy Birthday, SPICE, 46 years old today!

 

The original SPICE, now called Berkeley SPICE, went through many versions but in all of them the input "deck" (yes, early computer programs were on a deck of punched cards) remained fairly consistent. The circuit you wanted to solve was in the form of a netlist:

*** NETLIST Description ***
M1 vdd ng 0 0 nm W=3u L=3u
R1 in ng 50
Vdd vdd 0 5
Vin in 0 2.5

Some simple models were "atomic" (R for resistor, V for voltage source), other more complex ones (M) refered to a separate .model line:

*** MODEL Descriptions ***
.model nm NMOS level=2 VT0=0.7 KP=80e-6 LAMBDA=0.01

Then you just had to specify what analysis you wanted and where the last card was:

*** SIMULATION Commands ***

.op
.end

 

But then the Tower of SPICE got too close to the heavens and suffered a set back as punishment for its hubris! Here is what happened: UCB had an open source policy that enabled anyone to freely modify, compile, and sell the resulting binary. Twins siblings Ashawna and Kim Hailey founded Meta Software to sell HSPICE. (It's now owned by Synopsys). A version by Microsim for PC was called PSPICE. (It's now owned by Cadence). Linear Tech (now part of ADI) had LTspice. There was ISPICE, ISSPICE, XSPICE and of course Keysight's (then HP's) very own high frequency HFSPICE (since renamed ADS Transient Convolution).

 

The benefit was free market competition to improve it, but a frustrating side effect was the input dialect diverged to the point that a netlist written for one version would no longer run on any other.

 

So, just like human languages post-Babel, translators came in. ADS has a part called (you guessed it) "netlist translator" or nettrans. If you have a PSPICE/LTspice netlist model that consists of open, basic components such as RLC, VCCS, industry-standard models and so on, then we can import it. If it contains encrypted parts or proprietary compiled C-code models we cannot. Sometimes there is a workaround: we can find a similar model, or tweak the syntax to make it work. Ask us!

 

What about HSPICE and Spectre? For those, translation was found to be inadequate so we added "compatibility modes" to our simulator that actually change its internal behavior so it can consume the foreign netlist directly and without translation. Again, there are a few proprietary features that we can't support, but we'll do our best to help you. Some things really are Lost in Translation!