circuit simulation software

rapidcoder

Joined Jan 16, 2011
37
LTSpice is definitely not for a beginner.

* unintuitive GUI and very poor usability (looks like it was designed in 80s); it is easier to draw schematics on paper than in LTSPice
* schematic drawings that look like crap - I would not put them on my blog or homepage
* no interactive simulation, no virtual instruments - you have to wait for the simulator to finish until you see the results
* unfriendly error messages that assume you know the internals of the simulator,
* many settings that if set incorrectly cause bogus simulation results,
* wrong default settings in the simulation engine (like performing DC to get initial transient solution which makes initial transient response incorrect),
* impossibility to simulate physically correct circuits (like two inductors in parallel or two capacitors in series) because of simplifications which make models non-physical.
* ability to simulate correctly impossible circuits, like getting 1MW from a 9V battery.
* sometimes it may get ridicuously slow because of trapezoidal ringing or other numerical problems (I guess every SPICElike simulators suffer from this)
It may take some long time until you learn what to avoid and how to get correct results from this simulator.
Things like Yenka or TINA are probably much better for beginners, albeit not free (I guess only trials or crippled versions are free, full versions cost several hundreds $)

Yenka is kind of cool you can even watch the parts burn up when you do something wrong
Yenka's limits are sometimes too strict, like setting TTL gates to over 5V causes them to burn, which is not true in reality. But nevertheless, the idea is cool and has desired educational effect.
 
Last edited:
TINA is free of charge, but this software is focused in Texas Instruments electronics. To simulate any circuit you will have to place at least one IC (like OP amp) on board (contacts can be not connected but it should be there). It looks like that TINA's library (at least in free version) is not extendable. TINA have DC, AC, Transient analysis and other tools. Also you can watch signal on virtual osciloscope. TINA has nice GUI and circuits are easly drawn there. http://focus.ti.com/docs/toolsw/folders/print/tina-ti.html
 
Last edited:

rapidcoder

Joined Jan 16, 2011
37
I checked that TINA link. You are right - it is free, however, after 10 minutes of playing with it:
1. The GUI looks like in the Win 3.1. era (but better than LTSpice!)
2. Drawing wires could be better. The editor tries to sometimes be "too smart" so the user often looses control over where the wire is placed (and must press ESC and try once again). Also when moving the elements, wires disappear.
3. I can't make the virtual oscilloscope work. It shows nothing. Don't want to know what I had done wrong (I thought it should be like drawing the circuit and connecting oscilloscope to it - but there must be something more).
4. I was able to run standard transient analysis of a simple RLC circuit. With the default parameters, the results are totally wrong.
5. After setting initial conditions to zero, the results are better but still totally wrong.
6. After switching to trapezoidal rule, the signal is much closer to correct solution, but still far from the target tolerance in the settings (0.1%).
7. After changing "TR truncation factor" from default 7 to 1 it is finally ok. Curious what is this factor. The truncation error should be calculated automatically according to the tolerance settings. Looks like it is not. Pretty lame.
8. The requirement to put at least one IC is really stupid. Looks like trying to deliberately make me angry.

Ok, now show me a beginner that can adapt the settings to just simulate an RLC circuit and get meaningful results.

The positive side of this software is that at least it doesn't require me to ground the circuit like most SPICEs.
 
Last edited:

rapidcoder

Joined Jan 16, 2011
37
Would be fine, except it doesn't work. At least not on Vista and Windows 7.
It installed fine, but the icons were missing - also the simulation tools were not installed properly, so except creating schematics, nothing could be really done. Drawing wires could be a little easier and the GUI looks quite dated. Anyway, I think it looks promising, but they have a long way to go, especially taking into account the slow pace they are moving at (the project is over 2 years old)

After a short look into the sourcecode:
1. They use dense matrices = it will be order of magnitude slower than SPICE
2. They have no true digital or mixed-mode simulator (the digital components are modelled as anologue - this is the major WTF in this software - it simply can't scale well and what about timing analysis?).
3. They have lots of code for so little functionality*.
4. The simulator and editor are separate programs communicating through pipes. Therefore I doubt they are able to have interactive (real-time) simulation with such architecture. It is just yet another "start it and get yourself a coffee" kind of stuff.
5. They don't accept SPICE models. With the architecture they chose, it will require lots of work to add that.
6. Standard Trapezoid/Gear/AdamsMoulton integration. All have several drawbacks.
7. I fail to see any innovation here. Really, this is yet another simulator, with a slightly better GUI than e.g. LTSpice or TopSpice, but far worse engine. Why haven't they taken original Berkeley Spice 3f5 as the backend if they are just replicating its functionality?

* The company I work for created in 5 months a simulator engine with full event-driven mixed mode support, variable step integration, sparse matrices, behavioral modelling with direct differential equations and code supplied by the user (which is slightly more than qucs-core can do), and that all required only about 160 kB of source code. The core of qucs (of course excluding gui, tools and model library) is 2,5 MB of source code. So, we wish them good luck, but they are doing something wrong. ;) Actually we are doing also something wrong, because the engine is 80% complete, but the GUI lags behind, but this is probably a managament problem, not technical. Anyway, hope you can see it before the end of this year.
 
Last edited:

jut

Joined Aug 25, 2007
224
* unintuitive GUI and very poor usability (looks like it was designed in 80s); it is easier to draw schematics on paper than in LTSPice
I find the GUI to be just fine. There are shortcuts, which are customizable, for everything, so I can whip up a schematic very fast. Using the duplicate command {F6} and highlighting multiple objects is very useful. Another interesting speed up tip goes as follows: place three resistors in series (colinear), draw a wire passing threw all three resistors, then LTspice will automatically make each invidual series connection (instead of shorting every resistor like you might expect).


* schematic drawings that look like crap - I would not put them on my blog or homepage
Yeah they're not the best. Resistor are too big, but other than that, I see no problems.

* no interactive simulation, no virtual instruments - you have to wait for the simulator to finish until you see the results
What do you need to interact with? You need more than the trace command? What's the point of twiddling nobs on the virtual scope besides learning purposes?

* many settings that if set incorrectly cause bogus simulation results,
Can you provide an example?

* impossibility to simulate physically correct circuits (like two inductors in parallel or two capacitors in series) because of simplifications which make models non-physical.
Can you elaborate on this please?

* ability to simulate correctly impossible circuits, like getting 1MW from a 9V battery.
What simulator do you use that allows a maxium power setting for a voltage source?


Yeah, ok, LTspice isn't perfect. But considering it's big user community (yahoo group), it's price (free), light-weightness compared to the bloated PSPICE, support for multicore processors to speed up sim, I don't see why you can have so much disdain for it.
 

rapidcoder

Joined Jan 16, 2011
37
What do you need to interact with? You need more than the trace command? What's the point of twiddling nobs on the virtual scope besides learning purposes?
I just don't want to rerun the whole simulation after I change something on the schematic. I wish I could modify the circuit topology or parameters and see the effects immediately just as in reality. Especially for circuits that require long time to stabilize, this would be useful. Why not have switches that can be closed/open by a mouse click and see how the circuit reacts immediately as in reality? We are talking here of a simulator for beginners - they want to learn, learning by experimentation is a good thing. I want to connect a battery to a LED and see it light. LTSpice can't do it. Also, show me a beginner that would understand what is "transient analysis" without looking into Wikipedia/manual first, and who will understand what are the differences between Gear and trapezoidal integration.

Can you provide an example?
Wrong tolerance and timestep settings can result in wrong results. Also the simulator can add something "by itself" to the output signal - e.g. spurious oscillations of TR scheme, that don't exist in reality. The default tolerance and timestep settings favor performance over accuracy, and this is just the opposite beginner wants to have. Beginners don't simulate large systems, so performance is not an issue.

* impossibility to simulate physically correct circuits (like two inductors in parallel or two capacitors in series) because of simplifications which make models non-physical.
Connect two capacitors in series and bang, you get an error. It can't simulate it, because it thinks the node inbetween of the capacitors is floating. In reality it is not floating. It is in simulation, because the capacitor model is ideal, while ideal capacitors don't exist in reality.
Again - we are not talking here about tools for professionals, who know these limitations. We are talking about software for beginners. Another example: Circuits work in reality, whether grounded or not, but not in LTSpice.

What simulator do you use that allows a maxium power setting for a voltage source?
Yenka simulator has capability of controlling limits.

Yeah, ok, LTspice isn't perfect. But considering it's big user community (yahoo group), it's price (free), light-weightness compared to the bloated PSPICE, support for multicore processors to speed up sim, I don't see why you can have so much disdain for it.
I don't have anything against it as a simulator for professionals. It could be better, but it is ok for this price (open source projects don't come even close in functionality). However, for beginners it is far, far from perfect.

BTW:
There are shortcuts, which are customizable, for everything, so I can whip up a schematic very fast. Using the duplicate command {F6} and highlighting multiple objects is very useful.
VI editor has also shortcuts for everything. And some are very happy with it and can write code in it just as fast as someone using a modern graphical word processor. But this is not what I call intuitive and usable. Customizable != usable. Do you see the distinction? Using default F9 for Undo when the rest of the world uses Ctrl-Z is **not intuitive and usable** even if it is customizable.
 
Last edited:

jut

Joined Aug 25, 2007
224
I just don't want to rerun the whole simulation after I change something on the schematic. I wish I could modify the circuit topology or parameters and see the effects immediately just as in reality. Especially for circuits that require long time to stabilize, this would be useful. Why not have switches that can be closed/open by a mouse click and see how the circuit reacts immediately as in reality? We are talking here of a simulator for beginners - they want to learn, learning by experimentation is a good thing. I want to connect a battery to a LED and see it light. LTSpice can't do it. Also, show me a beginner that would understand what is "transient analysis" without looking into Wikipedia/manual first, and who will understand what are the differences between Gear and trapezoidal integration.
Point taken.

Wrong tolerance and timestep settings can result in wrong results. Also the simulator can add something "by itself" to the output signal - e.g. spurious oscillations of TR scheme, that don't exist in reality. The default tolerance and timestep settings favor performance over accuracy, and this is just the opposite beginner wants to have. Beginners don't simulate large systems, so performance is not an issue.

Connect two capacitors in series and bang, you get an error. It can't simulate it, because it thinks the node inbetween of the capacitors is floating. In reality it is not floating. It is in simulation, because the capacitor model is ideal, while ideal capacitors don't exist in reality.
Again - we are not talking here about tools for professionals, who know these limitations. We are talking about software for beginners. Another example: Circuits work in reality, whether grounded or not, but not in LTSpice.
I tried two examples of caps in series in LTspice and both worked fine. See attached for a low pass RC filter and a capacitive divider.

BTW:
VI editor has also shortcuts for everything. And some are very happy with it and can write code in it just as fast as someone using a modern graphical word processor. But this is not what I call intuitive and usable. Customizable != usable. Do you see the distinction? Using default F9 for Undo when the rest of the world uses Ctrl-Z is **not intuitive and usable** even if it is customizable.
OK, yes, everything little thing in LTspice might not be intuitive the first time you try it. Isn't this the case for most programs. They all have little quirks that you need to overcome. For example, set undo hotkey from F9 to ctrl-z and it's now intuitive.
 

Attachments

CD-RW

Joined Feb 26, 2011
33
Hi rapidcoder.

I'm on Centos Linux 5.5, and it works OK for me. This is my first real take on EDA tools, so it will do for me for now. The analog simulation seems quite quick, but the didgital is slow - it compiles functions to do a digital simulation.

Have you seen the Fedora Electronics Lab spin, a Fedora distribution devoted specially to EDA tools and more, like LSI chip design?

http://spins.fedoraproject.org/fel/
 

rapidcoder

Joined Jan 16, 2011
37
I tried two examples of caps in series in LTspice and both worked fine. See attached for a low pass RC filter and a capacitive divider.
Ok, point taken. An earlier version of LTSpice had problems with it (some other simulators also have), but it seems it is fixed. However, the problem of lack of ground still exists. Remove the ground and it doesn't simulate. E.g. Falstad simulator got this right.

Isn't this the case for most programs.
Actually, other schematic programs are much easier to use: PSpice, CircuitLogix, even the abovementioned QUCS. My intuition tells me, that when I want to move an element I should be able to just drag it with a mouse, like in 99,9% vector graphics editors. Or if I want to delete something I select one or more elements and press "Del". But not in LTSpice. :( Sometimes I wonder, why they wanted to make it different than the rest of the world...
 

jut

Joined Aug 25, 2007
224
Actually, other schematic programs are much easier to use: PSpice, CircuitLogix, even the abovementioned QUCS. My intuition tells me, that when I want to move an element I should be able to just drag it with a mouse, like in 99,9% vector graphics editors. Or if I want to delete something I select one or more elements and press "Del". But not in LTSpice. :( Sometimes I wonder, why they wanted to make it different than the rest of the world...
Ok, yes, you have a good point here. It is goofy that you can't just click on something and hit delete, or just drag something with the mouse. They should really change that. Actually, I don't think its "they" -- I've heard there's one guy that works LTspice at Linear Technology.

I have to say one other positive thing about LTspice. It's very portable in the sense that you can copy all of it's file from "c:\program files\LTspice" to a flash drive and then use it on another computer (I wouldn't try that with Pspice). I like that it has a small footprint and no bindings to the registry.
 

rapidcoder

Joined Jan 16, 2011
37
I have to say one other positive thing about LTspice. It's very portable in the sense that you can copy all of it's file from "c:\program files\LTspice" to a flash drive and then use it on another computer (I wouldn't try that with Pspice). I like that it has a small footprint and no bindings to the registry.
This is nice. :)
However, you can still do much better than that. Imagine just logging from any computer connected to the web (regardless whether Linux, Windows or Mac) and continuing working on the circuit you started on a different computer. Without installing anything or copying into flash drive. Now, that is what I call really portable. I don't know of any such simulator, though.
 

CD-RW

Joined Feb 26, 2011
33
This is nice. :)
However, you can still do much better than that. Imagine just logging from any computer connected to the web (regardless whether Linux, Windows or Mac) and continuing working on the circuit you started on a different computer. Without installing anything or copying into flash drive. Now, that is what I call really portable. I don't know of any such simulator, though.
That's part of the design philosophy behind the Xwindows GUI X11. On my LAN I can do a ssh -X command from my laptop to my main machine. Then run any GUI application remotely on that machine, and get the output sent back to my laptop across the ssh connection. Hardly any noticable latency at all. So it is possible, but you would need an OS that runs X11 windowing system. Possibly might work on Mac, as I think they use a Linux derivative - not sure about Microsoft though.

I do this for example with my web browser, so any bookmarks I save while browsing using the laptop get saved back onto the main machine.

There's no reason why this shouldn't work across the internet, albeit at a slower pace.
 
Top