help-gnucap
[Top][All Lists]
Advanced

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

Re: [Help-gnucap] spice models


From: al davis
Subject: Re: [Help-gnucap] spice models
Date: Wed, 7 Jul 2010 00:25:29 -0400
User-agent: KMail/1.13.3 (Linux/2.6.32-trunk-amd64; KDE/4.4.4; x86_64; ; )

Sorry about the delay .. At first I was travelling, then had a 
pile of stuff waiting  .. and the answer to this one isn't 
simple.  I will try to address the issues one at a time, 
hopefully in a manner that is useful.

1.  Geda / gschem / gnetlist.

This combo really doesn't work as well as it should.  gschem is 
a nice program, but you need to enter your schematic in a 
certain way for it to generate a reasonable netlist.

The problem is gnetlist .. In my experience, the netlists 
generated usually require some kind of editing to work for 
simulation.  Since all "spice" are a little different, it hits 
some kind of middle ground that isn't really a perfect match for 
any of them.

I have asked for help in solving this problem, but never got 
any.

In this case, I see a few things ..
 
>      U1 3 2 1 LM317
>                     ^ ? need more nodes
>      U1 3 2 1 LM317
>                     ^ ? need and,nand,or,nor,xor,xnor,inv

"U" indicates a logic device.  The error messages make it look 
like you improperly specified a logic device.  You can get all 
kinds of strange messages in situations like this.

LM317 is a SUBCKT, so the instances should start with X , not U.

>      J1 1 3 4 JN
>      ^ ? illegal type
>      .MODEL JN NJF(BETA=1E-4 VTO=-7)
>                   ^ ? not implemented

JFET is not implemented in 0.35.

In the snapshot, things like this are plugins.  You would need 
to load the plugin.

> I found this very helpful page:
> http://www.brorson.com/gEDA/SPICE/t1.html

Actually, I find that page to be rather confusing.  I understand 
why you are confused.

2. gspiceui ...

I don't use it.  It works, sort of, but doesn't do what I need.  
I use the schematic to generate a netlist, then load it and run 
commands interactively, like some of the examples here:
http://gnucap.org/dokuwiki/doku.php?id=gnucap:manual:examples


> Now my questions:
>      1) Do I have to rewrite the spice model to work with
> gnucap? 

To answer in general ....   Most "spice" models are written for 
a particular version of spice.  It is common for them to need 
changes to run on even other versions of spice.  Sometimes, even 
different releases of the same brand have compatibility issues.

You might run into ..

a. syntax differences ...  In this case, a simple edit may fix 
it.  But as a beginner, how do you know?  For Gnucap, recent 
snapshots have improved this a lot, but it still isn't perfect.  
I don't think that is the problem here.

One example of this is the use of parameters ..  Hspice requires 
quotes around parameters, Pspice requires curly braces.  Gnucap 
accepts either, but I think NGspice only accepts the Pspice way.

b. missing features  ...  There are some features that are 
simulator specific, for example parameter passing to 
subcircuits.  

c. missing models ..  Often models are built on top of other 
models, and the model being built on isn't included.  If this is 
the problem, you need to find the missing piece.  NGspice has 
more models compiled in. Gnucap has more available as plugins 
but fewer compiled in.

> 2) gEDA includes the LM317 as symbol, but apparently
> no spice model? Is this correct?

As far as I know, no gEDA symbols include simulation models.

If you look at the low-end commercial simulators (Pspice, multi-
sim) and the cover-crop simulators (LTspice), they come with 
huge libraries.  The free/open-source ones typically don't.  You 
need to "google for it" or make one yourself.  It would be nice 
if we could provide that too, but it's a lot of work, and we 
lack the manpower to do it.

The high-end commercial simulators (Spectre, Eldo) usually don't 
come with these libraries.  Their users don't trust them anyway.  
Parts vendors often supply models.




reply via email to

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