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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.