Re: SPICE to gnucap transition
Dan McMahill <[email protected]>
| Newsgroups | gmane.comp.gnu.gnucap.devel |
|---|---|
| Message-ID | <[email protected]> |
al davis wrote: > Where you can help is to help with the vision of the future > gnucap. Given that the primary language will be > Verilog-AMS ... now what should the commands be? How should it > interact with VHDL, Spice, gschem, PCB, etc.. ? > > Look at other simulators, particularly the ones I don't have > access to. Among them ... Spectre, Saber, Touchstone, .... > What kind of command sequencing and scripting do they use? > What do you like and dislike about them? How consistent are > they? I'll give some comments about spectre. It will be old news to some here but maybe not to all. You can setup, run, and analyze spectre simulations from a tool called ocean which is really nothing other than a shell where you can execute skill commands. Skill is the language used by cadence for all of its customization. It is a sort of combination of scheme plus some c-like syntax. I find it fairly disturbing that you can write (setq x 3.2) y = 2.4 (setq z x*y) z2 = (times x y) and have it be valid. Some of the complaints I have about ocean are: - no readline-like shell. How in 2007 a company can ship an interactive shell with no command line editing is beyond me, but they do. - spectre has capabilities beyond what ocean supports. For example the spectre alter command. - numerical performance for post processing of data is horrible. You can do a lot but it is slow. - it is hard to modify plot styles for the waveform viewer - you don't have hooks really into controlling the simulator based on what the simlator is doing. For example "run a transient simulation until <some event> happens and then stop". some things which are great about ocean: - you can setup highly complex simulations where you set many design variables, specify many libraries, do multiple iterations over various conditions, simulate many aspects of the circuit - you can do a lot of post processing. You have a full programming language available so you can do about anything. As far as spectre, my take is that for the most part the control capabilities are not sufficient which leads to wanting to use a full programming language. Some complaints I have are things like if you ask for currents to be saved it can cause your circuit to not converge (why???), support for pausing a simulation, modifying parameters like a convergence tolerance and continuing are limited. One thing which would make spectre more powerful is if you had the ability to modify something about the simulation (stopping time, reltol, etc) based on some measureable thing in the simulation. -Dan