gnucap-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnucap-devel] SPICE to gnucap transition


From: Dan McMahill
Subject: Re: [Gnucap-devel] SPICE to gnucap transition
Date: Mon, 19 Mar 2007 19:45:50 -0500
User-agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7.6) Gecko/20050412

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]