[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
gEDA-user: Updates to gnetlist and spice-sdb
Ales & gEDA community,
I understand that you are about to make another relase of gEDA/gaf. I
hope it is not too late to incorporate some changes into gnetlist and
gnet-spice-sdb. I have received a couple of patches from people, and
I have also put some new functionality into gnetlist. Here's what's
new:
* I have created a mechanism to pass boolian command line flags to
the Scheme backend. This is useful for setting switches in the
Scheme code's behavior. I use this for a particular purpose
described below.
I have written a Scheme function called gnetlist:get-calling-flags,
which returns a list of (option value) pairs. Valid
options are:
verbose_mode
interactive_mode
quiet_mode
sort_mode
which you can set by using the appropriate command line flags when
invoking gnetlist. The values are either #t or #f, depending upon
which flags are set at the command line. In the Scheme code, the
return list will look something like this:
((sort_mode #f) (interactive_mode #t) (quiet_mode #t) . . . .)
Use of this functionality is exemplified in the functions spice-sdb
and spice-sdb:sort_refdes? which live in gnet-spice-sdb.scm.
* I have created a command line switch "-s" which causes the output
of spice-sdb to be sorted depending upon the ascii order of the
SPICE card's refdes, with one important exception: all cards with
"A" refdeses are pushed to the end of the netlist. This is
apparently important in order to use Gnucap with spice-sdb --
Gnucap wants to see all the SPICE directive cards at the end of the
SPICE deck.
If you don't set the "-s" switch at the command line, the SPICE
cards are output in the order they are found by gnetlist --
i.e. some arbitrary order.
* The idea to incorporate the sort, as well as the Scheme code to
implement it was sent to me by Ken Healy of UCC in Ireland. Thank
you Ken!
* I incorporated a fix contributed by Theo Deckers which
cleared up a strange problem he had with '.SUBCKT quoting. Thank
you Theo!
* Finally, I changed the rev date output by spice-sdb to 8.29.2003 so
that when people send me faulty netlists I can see which version of
spice-sdb was used to produce them.
I have placed all the new code on my website at:
http://www.brorson.com/gEDA/SPICE/
Note that you need to install several .c patches to get the command
line arg stuff working, as well as the gnet-spice-sdb.scm file. If
you have any problems, please let me know!
Stuart