new simulator: specs
OK, supposing that we want to start to code a spice-compatible
simulator from scratch up, here are a few guidelines that
I propose:
- license: GPL, but allow linking to non-GPL models (a la linux modules)
--> this would allow us to reuse some spice code for complicated models
perhaps.
but technically it could be difficult (is there a C coding expert among us?)
- use the GSL (GNU Scientific Library) for maths (despite the fact it is in an
unfinished state it seems very usable)
- code in ANSI-C
- spice compatible netlist format (but NOT necessarily for simulation options)
- use the GNU readline library for the interactive front-end (gives us
emacs-like keyboard shortcuts etc)
- docs written using LyX (or texinfo? LyX is WYSYWIG which makes it
easier for contributions I think)
- on-line documentation should be just 'reminder' like ,eg: 'help VCCS'
gives: 'VCCS: Voltage Controled Current Source - syntax: ....' and
no more - more extensive docs available in HTML or postscript form
- autoconf/automake support
- make addition of models really easy (the interface must be well thought out,
I don't think that a compatibility with spice is mandatory, unless it turns
out that the spice interface is well thought out ;-)
- coding standards: don't enforce them (but I do like the coding style of
Ales Hvezda of the gEDA project - I think it is BSD style ?)
- use the good old 'modified nodal approach' for the matrix
- let's not be afraid of 'reinventing the wheel' - it doesn't matter if we use
techniques that are 20 years old to start with
- the tool to view the output waves should be separate (dump nutmeg - Stephen
Tells
gwave program could be a good candidate)
- several ouput waves formats (so that users can use the ones they already
have!)
- devel tree: really like the one in the rework tar.gz:
`----docs
`----man
| `----man1
`----src
| `----analysis
| `----circuit
| `----devices
| | `----asrc
| | `----bjt
| | `----bsim1
| | `----bsim2
| `----frontend
| `----help
| `----include
| `----maths
| `----misc
| `----parser
`----tests
or similar....
- name of the simulator? all simulators that have 'spice' in them are really
descendants of berkeley spice, if we build from scratch up it is not the case
for us ---> find an entirely different name?
What do you think ?
manu
Partial thread listing: