|
|
|
@ -49,16 +49,15 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.1 What is ngspice ? |
|
|
|
1.1 What is ngspice? |
|
|
|
|
|
|
|
Ngspice is the name of a project and of a program in the project. |
|
|
|
The idea behind the project is to improve the capabilities of the |
|
|
|
Ngspice is the name of a project and of a program in the project. The idea behind the project is to improve the capabilities of the |
|
|
|
Spice 3f5 circuit simulator. Spice is the most famous circuit |
|
|
|
simulator, developed at the University of California at Berkeley |
|
|
|
(UCB), by "a cast of thousand". The NG prefix has a lot of meanings: |
|
|
|
Next Generation, New Good, etc. Choose or invent the one you prefer. |
|
|
|
The heart of the project is the ngspice program, a circuit simulator |
|
|
|
derived from spice3f5. |
|
|
|
(UCB), by "a cast of thousand" (as they say). The NG prefix has lot |
|
|
|
of meanings: Next Generation, New Good, etc. Choose or invent the one |
|
|
|
you prefer. The heart of the project is the ngspice program, a circuit |
|
|
|
simulator derived from spice3f5. |
|
|
|
|
|
|
|
|
|
|
|
1.2 Why resurrecting Berkeley's Spice? |
|
|
|
@ -85,11 +84,11 @@ |
|
|
|
Spice and since a new simulator was already under development: |
|
|
|
ACS (Al's Circuit Simulator), now GNUCap (GNU Circuit Analyis |
|
|
|
package), the goal of nspice became less utopical: merge |
|
|
|
spice, xspice and cider into a mixed-signal/mixed-level simulator |
|
|
|
Spice3f5, Xspice and Cider into a mixed-signal/mixed-level simulator |
|
|
|
that can be used as a reliable engine. |
|
|
|
|
|
|
|
|
|
|
|
1.4 What you are going to do? |
|
|
|
1.4 What you are going to do? |
|
|
|
|
|
|
|
We are going to develop a mixed-signal/mixed-level circuit simulation |
|
|
|
program integrating three different spice based simulators: |
|
|
|
@ -111,7 +110,7 @@ |
|
|
|
|
|
|
|
The merging process is done in parallel with bug fixing and improvement |
|
|
|
of the three simulators. The improvements are concentrated into 6 |
|
|
|
directives: |
|
|
|
directions: |
|
|
|
|
|
|
|
|
|
|
|
+ Compact models: the improvements in compact models will address |
|
|
|
@ -121,7 +120,7 @@ |
|
|
|
tarball. |
|
|
|
Improvements that affects all devices already implemented are: |
|
|
|
"dtemp" option to set instance's temperature relative to the circuit |
|
|
|
one, "m" parallel multiplier to simulate an arbitrary number of |
|
|
|
one and "m" parallel multiplier to simulate an arbitrary number of |
|
|
|
instances of the same kind connected in parallel. |
|
|
|
|
|
|
|
Planned improvements are the development of a dynamic loading |
|
|
|
@ -168,18 +167,17 @@ |
|
|
|
here. |
|
|
|
|
|
|
|
|
|
|
|
+ Documentation: Commercial simulators have very good manuals with |
|
|
|
tutorials, models equations explained, example of use, suggestions, |
|
|
|
etc. Spice came with little documentation. The Spice3f manual, |
|
|
|
available on the Internet will be constantly improved during |
|
|
|
ngspice development and integrated with the documentation |
|
|
|
accompanying Xspice and Cider. This is a very time consuming task |
|
|
|
and probably the documentation will always be left slightly |
|
|
|
behind. |
|
|
|
+ Documentation: Commercial simulators comes woth very good manuals |
|
|
|
containing tutorials, description of models equations, example of |
|
|
|
use, suggestions, etc. Spice came with little documentation. The |
|
|
|
Spice3f manual, available on the Internet has been used as the base |
|
|
|
fot the new manual. It will be constantly improved during ngspice |
|
|
|
development and integrated with the documentation accompanying Xspice |
|
|
|
and Cider. This is a very time consuming task and probably the |
|
|
|
documentation will always be left slightly behind. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.5 Legal issues |
|
|
|
1.5 Legal issues |
|
|
|
|
|
|
|
Ngspice merges three different simulators: spice and cider are covered |
|
|
|
with the "old" BSD license, Xspice by its own license. The ngspice |
|
|
|
@ -191,174 +189,201 @@ |
|
|
|
|
|
|
|
http://www.gnu.org/philosophy/bsd.html |
|
|
|
|
|
|
|
The group developing ngspice has written to Berkeley's copyright holders |
|
|
|
asking to change the license to the new BSD, which has the |
|
|
|
incompatibility removed, but without success. Ngspice will probably |
|
|
|
never be relased under the GPL license. |
|
|
|
The group developing ngspice has written to Berkeley's copyright |
|
|
|
holders asking to change the license to the new BSD, which has the |
|
|
|
incompatibility removed, but without success. |
|
|
|
|
|
|
|
Ngspice will not be released under GPL license and, no GPL code can be |
|
|
|
linked into ngspice (as in the original Spice3f) without breaking GPL. |
|
|
|
|
|
|
|
|
|
|
|
1.6. What mailing lists exist for ngspice? |
|
|
|
|
|
|
|
11..66.. WWhhaatt mmaaiilliinngg lliissttss eexxiisstt ffoorr nnggssppiiccee?? |
|
|
|
There are three mailing lists dedicated to the ngspice project. |
|
|
|
|
|
|
|
There are three mailing lists dedicated to the ngspice project. Send |
|
|
|
an empty message to the following addresses to get information on |
|
|
|
subscription. <ngspice-users-help@lists.sourceforge.net> |
|
|
|
Users mailing list: <ngspice-users@lists.sourceforge.net> |
|
|
|
This list is for ngspice users, examples, problems, bug reports |
|
|
|
and general discussion on ngspice can be sent here |
|
|
|
|
|
|
|
<ngspice-devel-help@lists.sourceforge.net> |
|
|
|
Developers mailing list: <ngspice-devel@lists.sourceforge.net> |
|
|
|
The list dedicated to ngspice development. Developers shold |
|
|
|
subscribe here, to follow the program development. May be used |
|
|
|
to send patches, and technical discussion on ngspice. |
|
|
|
|
|
|
|
Frontend mailing list: <ngspice-frontends@lists.sourceforge.net> |
|
|
|
Almost orphaned, this list should be used to discuss issues about |
|
|
|
the realization of a graphical frontend to ngspice. |
|
|
|
|
|
|
|
<ngspice-frontends-help@lists.sourceforge.net> |
|
|
|
Send an empty message to the following addresses to get information |
|
|
|
on subscription. |
|
|
|
|
|
|
|
<ngspice-users-help@lists.sourceforge.net> |
|
|
|
|
|
|
|
<ngspice-devel-help@lists.sourceforge.net> |
|
|
|
|
|
|
|
11..77.. AArree tthhee mmaaiilliinngg lliissttss aarrcchhiivveedd aannyywwhheerree?? |
|
|
|
<ngspice-frontends-help@lists.sourceforge.net> |
|
|
|
|
|
|
|
Yes, the list are archived. Look at the project's web site to access |
|
|
|
archives. |
|
|
|
|
|
|
|
1.7. Are the mailing lists archived anywhere ? |
|
|
|
|
|
|
|
11..88.. WWhhaatt nneewwssggrroouuppss eexxiisstt ffoorr nnggssppiiccee?? |
|
|
|
Yes, the lists are archived. There are two places where to look for |
|
|
|
archives. The project stareted on the IEEE Central and South Italy |
|
|
|
web server and then moved to sourceforge. Sourceforge provides an |
|
|
|
archiving service that cam be accessed via the summary page: |
|
|
|
|
|
|
|
None. Sorry. |
|
|
|
http://sourceforge.net/projects/ngspice |
|
|
|
|
|
|
|
(look for the "Lists" link). Old messages from the pre-sourceforge |
|
|
|
age are available at: |
|
|
|
|
|
|
|
11..99.. WWhheerree ccaann II ggeett aa ccooppyy ooff nnggssppiiccee?? |
|
|
|
http://ngspice.sourceforge.net/lists.html |
|
|
|
|
|
|
|
You can download ngspice from: |
|
|
|
|
|
|
|
<http://sourceforge.net/projects/ngspice> |
|
|
|
1.8. What newsgroups exist for ngspice? |
|
|
|
|
|
|
|
There is no ngspice specific newsgroup. Anyway ngspice threads appear |
|
|
|
on newsgroups dedicated to circuit simulation and electronic design. |
|
|
|
An (incomplete) list is: |
|
|
|
|
|
|
|
11..1100.. WWhheerree sshhoouulldd II llooookk oonn tthhee WWoorrlldd WWiiddee WWeebb ffoorr nnggssppiiccee ssttuuffff?? |
|
|
|
sci.electronics.cad |
|
|
|
comp.lsi.cad |
|
|
|
|
|
|
|
Look at the official NG-Spice Web Page |
|
|
|
<http://ngspice.sourceforge.net> |
|
|
|
|
|
|
|
1.9. Where can I get a copy of ngspice? |
|
|
|
|
|
|
|
11..1111.. WWhheerree sshhoouulldd II llooookk oonn tthhee WWoorrlldd WWiiddee WWeebb ffoorr SSppiiccee ddooccuummeennttaa-- |
|
|
|
ttiioonn?? |
|
|
|
You can download ngspice from: |
|
|
|
|
|
|
|
50 Circuits analyzed with SPICE |
|
|
|
<http://www.dacafe.com/DACafe/EDATools/EDAbooks/SpiceHandBook/01_TOC.html> |
|
|
|
http://sourceforge.net/projects/ngspice |
|
|
|
|
|
|
|
<http://www.dacafe.com/DACafe/EDATools/EDAbooks/SMPS/SMPS.htm> |
|
|
|
|
|
|
|
1.10. Where should I look on the World Wide Web for ngspice stuff? |
|
|
|
|
|
|
|
22.. DDEEVVEELLOOPPMMEENNTT |
|
|
|
Look at the official Ngpice Web Page: |
|
|
|
|
|
|
|
http://ngspice.sourceforge.net |
|
|
|
|
|
|
|
|
|
|
|
22..11.. WWhhaatt iiss tthhee ccuurrrreenntt vveerrssiioonn?? |
|
|
|
1.11. Where should I look on the World Wide Web for Spice documenta- |
|
|
|
tion? |
|
|
|
|
|
|
|
rework-14 (released on 10/12/2001) |
|
|
|
There are a lot of Internet sites that have information on spice, the |
|
|
|
best way is to point to your prefererred search engine. Some interesting |
|
|
|
sites are: |
|
|
|
|
|
|
|
The Spice Home Page: |
|
|
|
http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/ |
|
|
|
|
|
|
|
22..22.. WWhhaatt aarree tthhee llaatteesstt ffeeaattuurreess iinn tthhee ccuurrrreenntt rreelleeaassee?? |
|
|
|
Xspice Page: |
|
|
|
http://users.ece.gatech.edu/~mrichard/Xspic |
|
|
|
|
|
|
|
New features: |
|
|
|
Cider Page: |
|
|
|
http://www-cad.eecs.barkeley.edu/Software/cider.html |
|
|
|
|
|
|
|
+o New functions for vectors: vecmax (find max element in a vector), |
|
|
|
vecmin (find minimum element in a vector), vecd (differentiate a |
|
|
|
vector). |
|
|
|
Spice benchmarks: |
|
|
|
http://www.cbl.ncsu.edu/pub/Benchmark_dirs |
|
|
|
|
|
|
|
+o BSIM 4 and support EKV models. |
|
|
|
|
|
|
|
Bug fixes: |
|
|
|
|
|
|
|
+o Some memory leaks closed. |
|
|
|
2. DEVELOPMENT |
|
|
|
|
|
|
|
+o Error reporting more verbose |
|
|
|
|
|
|
|
2.1. What is the current version? |
|
|
|
|
|
|
|
The latest version released is: |
|
|
|
|
|
|
|
22..33.. WWhhaatt ddooeess iitt llooookk lliikkee?? |
|
|
|
* ngspice-rework-14 (released on 10/12/2001) |
|
|
|
|
|
|
|
This is a command line utility, no screenshots! |
|
|
|
The development vesrion is: |
|
|
|
|
|
|
|
* ngspice-rework-15pre1 (in CVS) |
|
|
|
|
|
|
|
22..44.. WWhhoo aarree tthhee aauutthhoorrss ooff nnggssppiiccee?? |
|
|
|
|
|
|
|
The development is open to anyone who wish to contribute. |
|
|
|
2.2. What are the latest features in the current release? |
|
|
|
|
|
|
|
People who contributed are (in alphabetical order): |
|
|
|
New features: |
|
|
|
|
|
|
|
+ New functions for vectors: vecmax (find max element in a vector), |
|
|
|
vecmin (find minimum element in a vector), vecd (differentiate a |
|
|
|
vector). |
|
|
|
|
|
|
|
+ BSIM 4 and support EKV models. |
|
|
|
|
|
|
|
+o Daniele Foci <dfoci@ieee.ing.uniroma1.it> |
|
|
|
Bug fixes: |
|
|
|
|
|
|
|
+o Paolo Nenzi <pnenzi@ieee.ing.uniroma1.it> |
|
|
|
+ Some memory leaks closed. |
|
|
|
|
|
|
|
+o Arno Peters <A.W.Peters@ieee.org> |
|
|
|
+ Error reporting more verbose |
|
|
|
|
|
|
|
+o Serban-Mihai Popescu <serbanp@ix.netcom.com> |
|
|
|
|
|
|
|
+o Emmanuel Rouat <emmanuel.rouat@wanadoo.fr> |
|
|
|
2.3. What does it looks like? |
|
|
|
|
|
|
|
+o Michael Widlok <twidlok@uci.agh.edu.pl> |
|
|
|
Ngspice, as the original Spice3 (and Xspice and Cider) is a command |
|
|
|
line simulator. |
|
|
|
|
|
|
|
|
|
|
|
This list is surely incomplete (due to open development group), there |
|
|
|
are many people who contributed with improvements, pieces of code, bug |
|
|
|
fixes, etc. If you have contributed and do not appear, write to: |
|
|
|
2.4. Who are the authors of ngspice? |
|
|
|
|
|
|
|
<ng-spice@ieee.ing.uniroma1.it> |
|
|
|
The development is open to anyone who wish to contribute. If the |
|
|
|
original Spice3 was made with the contribution of "a cast of |
|
|
|
thousand", ngspice can only increase that number. An incomplete |
|
|
|
list of contributor makes the "acknowledgements" page of ngspice |
|
|
|
documentation. |
|
|
|
|
|
|
|
and ask to be included. |
|
|
|
|
|
|
|
2.5. How can I report a bug/request for a feature? |
|
|
|
|
|
|
|
22..55.. HHooww ccaann II rreeppoorrtt aa bbuugg//rreeqquueesstt ffoorr aa ffeeaattuurree?? |
|
|
|
The ngspice summary page (hosted on Sourceforge) has bug-reporting, |
|
|
|
feature-request and bugs trackers. You can use them or subscribe to |
|
|
|
mailing lists and post there. The latter is preferred since almost |
|
|
|
all developers/contributors read the lists but only a few of them |
|
|
|
use trackers. |
|
|
|
|
|
|
|
Look at the projects summary page: ngspice summary page |
|
|
|
|
|
|
|
22..66.. HHooww ccaann II jjooiinn tthhee ddeevveellooppmmeenntt?? |
|
|
|
2.6. How can I join the development? |
|
|
|
|
|
|
|
To join the development just code the feature you want to add and send |
|
|
|
your patch in the mailing list. Before you start coding check the |
|
|
|
latest development release of ngspice from our CVS. It might be that |
|
|
|
your feature has already been implemented. |
|
|
|
|
|
|
|
There is no bureaucracy here. |
|
|
|
|
|
|
|
33.. SSOOLLUUTTIIOONNSS TTOO CCOOMMMMOONN MMIISSCCEELLLLAANNEEOOUUSS PPRROOBBLLEEMMSS |
|
|
|
|
|
|
|
|
|
|
|
3. SOLUTIONS TO COMMON MISCELLANEOUS PROBLEMS |
|
|
|
|
|
|
|
33..11.. WWhhaatt ssyysstteemmss aarree ssuuppppoorrtteedd?? |
|
|
|
|
|
|
|
This is the updated list: |
|
|
|
3.1. What systems are supported? |
|
|
|
|
|
|
|
Hardware O.S. Version Compiler Functional? |
|
|
|
---------------- ----------------------- -------------- ----------- |
|
|
|
???? HP-UX 10.10 gcc 2.95.2 yes |
|
|
|
IBM Risc 6000 ??? lcc no |
|
|
|
i386 Debian GNU/Linux 2.1 gcc 2.7.2 yes |
|
|
|
i386 Red Hat Linux 5.2 gcc 2.7.2 yes |
|
|
|
i386 SuSE Linux 6.0 gcc 2.7.2 yes |
|
|
|
i386 Linux (SuSE) gcc yes |
|
|
|
UltraSPARC Solaris 7 gcc yes |
|
|
|
UltraSPARC Solaris 7 SUN Workshop ? |
|
|
|
Ngspice is written in C, and uses some GNU extensions, then you need |
|
|
|
a GNU C compiler and a UNIX environment to compile it. Ngspice can |
|
|
|
be compiled under Windows using the mingw or cigwin environment. |
|
|
|
|
|
|
|
In the future a compatiblity table will be written. |
|
|
|
|
|
|
|
|
|
|
|
MS-Dos, VMS and MacOS are no longer supported. |
|
|
|
3.2. I get errors when I try to compile the source code, why? |
|
|
|
|
|
|
|
This is a one-million-euros question :). |
|
|
|
|
|
|
|
33..22.. II ggeett eerrrroorrss wwhheenn II ttrryy ttoo ccoommppiillee tthhee ssoouurrccee ccooddee,, wwhhyy?? |
|
|
|
Write a mail to the user's list describing the problem and providing |
|
|
|
information on the type of hardware, the flavour of operating system. |
|
|
|
|
|
|
|
[not written yet] |
|
|
|
|
|
|
|
|
|
|
|
33..33.. TThhiiss ddooccuummeenntt ddiiddnn''tt aannsswweerr mmyy qquueessttiioonn.. WWhheerree eellssee ccaann II llooookk |
|
|
|
ffoorr aann aannsswweerr?? |
|
|
|
3.3. This document didn't answer my question. Where else can I look |
|
|
|
for an answer? |
|
|
|
|
|
|
|
Read old messages from the mailing list archive, search the web site |
|
|
|
or read the docs. Upgrade to the latest version of ngspice, many |
|
|
|
problems are fixed in the new versions. If you still can't find an |
|
|
|
answer, post your question to the mailing list. |
|
|
|
answer, post your question to the mailing lists. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44.. AADDMMIINNIISSTTRRAATTIIVVEE IINNFFOORRMMAATTIIOONN AANNDD AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS |
|
|
|
4. ADMINISTRATIVE INFORMATION AND ACKNOWLEDGEMENTS |
|
|
|
|
|
|
|
|
|
|
|
44..11.. FFeeeeddbbaacckk |
|
|
|
4.1. Feedback |
|
|
|
|
|
|
|
Send your comments about this F.A.Q. to: |
|
|
|
|
|
|
|
@ -369,21 +394,18 @@ |
|
|
|
Paolo Nenzi <p.nenzi@ieee.org>. |
|
|
|
|
|
|
|
|
|
|
|
44..22.. FFoorrmmaattss iinn wwhhiicchh tthhiiss FFAAQQ iiss aavvaaiillaabbllee |
|
|
|
4.2. Formats in which this FAQ is available |
|
|
|
|
|
|
|
This document is available only in ASCII format in the ngspice source |
|
|
|
package. |
|
|
|
|
|
|
|
|
|
|
|
44..33.. AAuutthhoorrsshhiipp aanndd aacckknnoowwlleeddggeemmeennttss |
|
|
|
4.3. Authorship and acknowledgements |
|
|
|
|
|
|
|
Parts of the questions and answers are originate from Paolo Nenzi. |
|
|
|
|
|
|
|
|
|
|
|
44..44.. DDiissccllaaiimmeerr aanndd CCooppyyrriigghhtt |
|
|
|
4.4. Disclaimer and Copyright |
|
|
|
|
|
|
|
This document is provided as is. The information in it is not |
|
|
|
warranted to be correct: you use it at your own risk. |
|
|
|
|
|
|
|
|
|
|
|
|