Documentation updated
This commit is contained in:
parent
5347790036
commit
dfd1cf014b
2
AUTHORS
2
AUTHORS
|
|
@ -37,4 +37,4 @@ Michael Widlok <widlok@@uci.agh.edu.pl>,
|
||||||
and many others...
|
and many others...
|
||||||
|
|
||||||
If you feel you should be on this list, write to
|
If you feel you should be on this list, write to
|
||||||
<ng-spice@@ieee.ing.uniroma1.it>.
|
<ngspice-user@lists.sourceforge.net>.
|
||||||
|
|
|
||||||
272
DEVICES
272
DEVICES
|
|
@ -1,14 +1,14 @@
|
||||||
DEVICES
|
DEVICES
|
||||||
-------------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
This file contains the status of devices available in ng-spice. This
|
This file contains the status of devices available in ngspice. This file
|
||||||
file will be updated every time the device cospecific code is
|
will be updated every time the device pecific code is altered or changed.
|
||||||
altered/changed.
|
This file it is useful in writing ngspice documentation.
|
||||||
|
|
||||||
|
|
||||||
**************************************
|
***************************************************************************
|
||||||
********** Linear devices **********
|
************************* Linear devices ********************************
|
||||||
**************************************
|
***************************************************************************
|
||||||
|
|
||||||
CAP - Capacitor
|
CAP - Capacitor
|
||||||
Initial Release
|
Initial Release
|
||||||
|
|
@ -17,18 +17,18 @@ IND - Inductor
|
||||||
Initial Release
|
Initial Release
|
||||||
|
|
||||||
RES - Resistor
|
RES - Resistor
|
||||||
This is a modified version of the spice3 resistance model. This
|
This is a modified version of the spice3 resistance model. This model
|
||||||
model supports different ac and dc values (ac=...). This changes
|
supports different ac and dc values (ac=...). These changes have been
|
||||||
are introduced by Serban Popescu. The "multiplicity factor" (m)
|
introduced by Serban Popescu. The "multiplicity factor" (m) has been
|
||||||
has been introduced. The "scale factor" has been introduced.
|
introduced. The "scale factor" has been introduced.
|
||||||
|
|
||||||
*)Rework 11: The code has been modified to reflect spice parsing
|
*)Rework 11: The code has been modified to reflect spice parsing
|
||||||
standard.
|
standard.
|
||||||
|
|
||||||
|
|
||||||
**************************************
|
***************************************************************************
|
||||||
******** Distributed elements ********
|
********************* Distributed elements ********************************
|
||||||
**************************************
|
***************************************************************************
|
||||||
|
|
||||||
TRA - Transmission line
|
TRA - Transmission line
|
||||||
Initial release
|
Initial release
|
||||||
|
|
@ -40,9 +40,9 @@ URC - Uniform distributed RC line
|
||||||
Initial release
|
Initial release
|
||||||
|
|
||||||
|
|
||||||
**************************************
|
***************************************************************************
|
||||||
********** V/I Sources **********
|
**************************** V/I Sources *****************************
|
||||||
**************************************
|
***************************************************************************
|
||||||
|
|
||||||
ASRC - Arbitrary Source
|
ASRC - Arbitrary Source
|
||||||
Initial Release
|
Initial Release
|
||||||
|
|
@ -66,9 +66,9 @@ VSRC - Independent Voltage Source
|
||||||
Initial Release
|
Initial Release
|
||||||
|
|
||||||
|
|
||||||
**************************************
|
***************************************************************************
|
||||||
********* Switches **********
|
**************************** Switches ****************************
|
||||||
**************************************
|
***************************************************************************
|
||||||
|
|
||||||
CSW - Current controlled switch
|
CSW - Current controlled switch
|
||||||
Initial release
|
Initial release
|
||||||
|
|
@ -77,25 +77,27 @@ SW - Voltage controlled switch
|
||||||
Initial release
|
Initial release
|
||||||
|
|
||||||
|
|
||||||
**************************************
|
***************************************************************************
|
||||||
********** Diodes **********
|
**************************** Diodes ****************************
|
||||||
**************************************
|
***************************************************************************
|
||||||
|
|
||||||
DIO - Junction Diode
|
DIO - Junction Diode
|
||||||
Initial Release
|
Initial Release
|
||||||
|
|
||||||
|
|
||||||
**************************************
|
***************************************************************************
|
||||||
*********** Bipolar Devices **********
|
************************* Bipolar Devices *************************
|
||||||
**************************************
|
***************************************************************************
|
||||||
|
|
||||||
BJT - Bipolar Junction Transistor
|
BJT - Bipolar Junction Transistor
|
||||||
Initial Relelase
|
Initial Relelase
|
||||||
|
|
||||||
|
BJT2 - Bipolar Junction Trasistor (Alan Gillespie)
|
||||||
|
On hold (not included)
|
||||||
|
|
||||||
**************************************
|
***************************************************************************
|
||||||
********** FET Devices **********
|
***************************** FET Devices ***************************
|
||||||
**************************************
|
***************************************************************************
|
||||||
|
|
||||||
JFET - Junction Field Effect transistor
|
JFET - Junction Field Effect transistor
|
||||||
Initial Release
|
Initial Release
|
||||||
|
|
@ -103,71 +105,158 @@ JFET - Junction Field Effect transistor
|
||||||
JFET2 - Jfet PS model
|
JFET2 - Jfet PS model
|
||||||
Initial release. TO BE TESTED
|
Initial release. TO BE TESTED
|
||||||
|
|
||||||
|
***************************************************************************
|
||||||
**************************************
|
*************************** HFET devices ***************************
|
||||||
********* MES devices *********
|
***************************************************************************
|
||||||
**************************************
|
|
||||||
|
HFET - HFET Level 1
|
||||||
|
Initial release.
|
||||||
|
|
||||||
|
HFET2 - HFET Level 2
|
||||||
|
Initial release.
|
||||||
|
|
||||||
|
|
||||||
|
***************************************************************************
|
||||||
|
*************************** MES devices ***************************
|
||||||
|
***************************************************************************
|
||||||
|
|
||||||
MES - MESfet model
|
MES - MESfet model
|
||||||
Initial release
|
Initial release
|
||||||
|
|
||||||
|
MESA - MESA model
|
||||||
|
Initial release. TO BE TESTED
|
||||||
|
|
||||||
**************************************
|
***************************************************************************
|
||||||
********* MOS devices *********
|
**************************** MOS devices ****************************
|
||||||
**************************************
|
***************************************************************************
|
||||||
|
|
||||||
MOS1 - Level 1 MOS model
|
MOS1 - Level 1 MOS model
|
||||||
Initial Release
|
Initial Release.
|
||||||
|
Ver: N/A
|
||||||
|
Class: M
|
||||||
|
Level: 1
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
MOS2 - Level 2 MOS model
|
MOS2 - Level 2 MOS model
|
||||||
Initial Release
|
Initial Release.
|
||||||
|
Ver: N/A
|
||||||
|
Class: M
|
||||||
|
Level: 2
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
MOS3 - Level 3 MOS model
|
MOS3 - Level 3 MOS model
|
||||||
Initial Release
|
Initial Release.
|
||||||
|
Ver: N/A
|
||||||
|
Class: M
|
||||||
|
Level: 3
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
MOS6 - Level 6 MOS model
|
MOS6 - Level 6 MOS model
|
||||||
Initial Release
|
Initial Release.
|
||||||
|
Ver: N/A
|
||||||
|
Class: M
|
||||||
|
Level: 6
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
|
|
||||||
|
MOS9 - Level 9 MOS model
|
||||||
|
Initial Release.
|
||||||
|
Ver: N/A
|
||||||
|
Class: M
|
||||||
|
Level: 9
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
|
|
||||||
BSIM1 - BSIM model level 1
|
BSIM1 - BSIM model level 1
|
||||||
Initial Release
|
Initial Release.
|
||||||
|
Ver: N/A
|
||||||
|
Class: M
|
||||||
|
Level: 4
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
|
|
||||||
BSIM2 - BSIM model level 2
|
BSIM2 - BSIM model level 2
|
||||||
Initial Release
|
Initial Release.
|
||||||
|
Ver: N/A
|
||||||
|
Class: M
|
||||||
|
Level: 5
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
|
|
||||||
BSIM3 - BSIM model level 3
|
BSIM3 - BSIM model level 3
|
||||||
This is the BSIM3v3.2.2 model from Berkeley device group. You
|
Initial Release.
|
||||||
can find some test netlists with results for this model at
|
Ver: 3.2.2
|
||||||
http://www-device.eecs.berkeley.edu/~bsim3.
|
Class: M
|
||||||
|
Level: 8
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
|
This is the BSIM3v3.2.2 model from Berkeley device group.
|
||||||
|
You can find some test netlists with results for this model
|
||||||
|
on its web site.
|
||||||
|
|
||||||
|
Web site:
|
||||||
|
http://www-device.eecs.berkeley.edu/~bsim3
|
||||||
|
|
||||||
|
|
||||||
BSIM3v1 - BSIM model level 3
|
BSIM3v1 - BSIM model level 3
|
||||||
This is the BSIM3v3.1 model modified by Serban Popescu. This is
|
Initial Release.
|
||||||
level 49 model. It is an implementation that supports HDIF and M
|
Ver: N/A
|
||||||
parameters. Test netlists are available at the URL above. TO BE
|
Class: M
|
||||||
TESTED AND IMPROVED.
|
Level: 49
|
||||||
|
Status: TO BE TESTED AND IMPROVED
|
||||||
|
|
||||||
|
This is the BSIM3v3.1 model modified by Serban Popescu.
|
||||||
|
This is level 49 model. It is an implementation that supports
|
||||||
|
"HDIF" and "M" parameters.
|
||||||
|
|
||||||
|
|
||||||
BSIM3v2 - BSIM model level 3
|
BSIM3v2 - BSIM model level 3
|
||||||
This is the BSIM3v3.2 model. It is proved only for compatibility
|
Initial Relese.
|
||||||
with existing netlists and parameters files. As always, tests
|
Ver: 3.2
|
||||||
are availabe on the Berkeley's device group site (at the above
|
Class: M
|
||||||
URL).
|
Level: 50
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
|
This is the BSIM3v3.2 model. It is included only for compatibility
|
||||||
|
with existing netlists and parameters files. As always, tests
|
||||||
|
are availabe on the Berkeley's device group site.
|
||||||
|
|
||||||
|
Web site:
|
||||||
|
http://www-device.eecs.berkeley.edu/~bsim3
|
||||||
|
|
||||||
BSIM4 - BSIM model level 4 (0.18 um)
|
BSIM4 - BSIM model level 4 (0.18 um)
|
||||||
Initial Release. TO BE TESTED.
|
Initial Release.
|
||||||
Updated to 4.21 YET UNTESTED.
|
Ver: 4.2.1 (Updated in rewor 14)
|
||||||
|
Class: M
|
||||||
|
Level: 14
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
|
This is the BSIM4 device model from Berkeley Device Group.
|
||||||
|
Test are available on its web site.
|
||||||
|
|
||||||
|
Web site:
|
||||||
|
http://www-device.eecs.berkeley.edu/~bsim3/bsim4.html
|
||||||
|
|
||||||
|
*) Rework 14: Updated to 4.21 YET UNTESTED.
|
||||||
|
|
||||||
|
|
||||||
**************************************
|
***************************************************************************
|
||||||
********** SOI Devices *********
|
***************************** SOI Devices ****************************
|
||||||
**************************************
|
***************************************************************************
|
||||||
|
|
||||||
|
|
||||||
BSIM3SOI_FD - SOI model (fully depleted devices)
|
BSIM3SOI_FD - SOI model (fully depleted devices)
|
||||||
Initial Release Ver: 2.1. TO BE TESTED.
|
Initial Release.
|
||||||
FD model has been integrated as Level = 10
|
Ver: 2.1.
|
||||||
|
Class: M
|
||||||
|
Level: 11
|
||||||
|
Status: TO BE TESTED.
|
||||||
|
|
||||||
|
FD model has been integrated.
|
||||||
There is a bsim3soifd directory under the test
|
There is a bsim3soifd directory under the test
|
||||||
hierarchy. Test circuits come from the bsim3soi
|
hierarchy. Test circuits come from the bsim3soi
|
||||||
web site at:
|
|
||||||
|
Web site at:
|
||||||
http://www-device.eecs.berkeley.edu/~bsimsoi
|
http://www-device.eecs.berkeley.edu/~bsimsoi
|
||||||
|
|
||||||
*) rework-14: removed #ifndef NEWCONV code.
|
*) rework-14: removed #ifndef NEWCONV code.
|
||||||
|
|
@ -175,21 +264,60 @@ BSIM3SOI_FD - SOI model (fully depleted devices)
|
||||||
|
|
||||||
|
|
||||||
BSIM3SOI_PD - SOI model (partially depleted devices)
|
BSIM3SOI_PD - SOI model (partially depleted devices)
|
||||||
Initial Release Ver: 2.2.1. TO BE TESTED.
|
Initial Release.
|
||||||
PD model has been integrated as Level = 9
|
Ver: 2.2.1
|
||||||
|
Class: M
|
||||||
|
Level: 10
|
||||||
|
Status: TO BE TESTED.
|
||||||
|
|
||||||
|
PD model has been integrated.
|
||||||
There is a bsim3soipd directory under the test
|
There is a bsim3soipd directory under the test
|
||||||
hierarchy. Test circuits come from the bsim3soi
|
hierarchy. Test circuits come from the bsim3soi
|
||||||
web site at:
|
|
||||||
|
Web site at:
|
||||||
http://www-device.eecs.berkeley.edu/~bsimsoi
|
http://www-device.eecs.berkeley.edu/~bsimsoi
|
||||||
|
|
||||||
*) rework-14: removed #ifndef NEWCONV code.
|
*) rework-14: removed #ifndef NEWCONV code.
|
||||||
|
|
||||||
BSIM3SOI_DD - SOI Model (dynamic depletion model)
|
BSIM3SOI_DD - SOI Model (dynamic depletion model)
|
||||||
Initial Release Ver: 2.1. TO BE TESTED.
|
Initial Release.
|
||||||
DD model has been integrated as level= 11
|
Ver: 2.1
|
||||||
|
Class: M
|
||||||
|
Level: 12
|
||||||
|
Status: TO BE TESTED.
|
||||||
|
|
||||||
There is a bsim3soidd directory under the
|
There is a bsim3soidd directory under the
|
||||||
test hierarchy. Test circuits come from bsim3soi
|
test hierarchy. Test circuits come from bsim3soi
|
||||||
web site at:
|
|
||||||
|
Web site at:
|
||||||
http://www-device.eecs.berkeley.edu/~bsimsoi
|
http://www-device.eecs.berkeley.edu/~bsimsoi
|
||||||
|
|
||||||
*) rework-14: removed #ifndef NEWCONV code.
|
*) rework-14: removed #ifndef NEWCONV code.
|
||||||
|
|
||||||
|
SOI3 - STAG SOI3 Model
|
||||||
|
Initial Release.
|
||||||
|
Ver: 2.6
|
||||||
|
Class: M
|
||||||
|
Level: 62
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
|
Web site at:
|
||||||
|
http://www.micro.ecs.soton.ac.uk/stag/
|
||||||
|
|
||||||
|
***************************************************************************
|
||||||
|
**************** Other devices not released as source code ****************
|
||||||
|
***************************************************************************
|
||||||
|
|
||||||
|
EKV - EKV model
|
||||||
|
Initial Release.
|
||||||
|
Ver: 2.6
|
||||||
|
Class: M
|
||||||
|
Level: 44
|
||||||
|
Status: TO BE TESTED
|
||||||
|
|
||||||
|
Note: This model is not released in source code.
|
||||||
|
You have to obtain the source code from the address below.
|
||||||
|
|
||||||
|
Web site at:
|
||||||
|
http://legwww.epfl.ch/ekv/
|
||||||
|
|
||||||
530
FAQ
530
FAQ
|
|
@ -1,299 +1,377 @@
|
||||||
|
Ngspice F.A.Q.Version 1.0
|
||||||
|
Maintened by Paolo Nenzi <p.nenzi@ieee.org>
|
||||||
|
Last update: 05/12/2001
|
||||||
|
|
||||||
|
This document contains the Frequently Asked Questions (and Answers)
|
||||||
|
for ngspice project.
|
||||||
|
______________________________________________________________________
|
||||||
|
|
||||||
|
Table of Contents
|
||||||
|
|
||||||
|
|
||||||
NG-Spice F.A.Q.
|
1. INTRODUCTION AND GENERAL INFORMATION
|
||||||
Frequently Asked Questions
|
1.1 What is ngspice?
|
||||||
(and Answers)
|
1.2 Why resurrecting Berkeley's Spice?
|
||||||
|
1.3 What is the project's goal?
|
||||||
|
1.4 What you are going to do?
|
||||||
|
1.5 Legal issues
|
||||||
|
1.6 What mailing lists exist for ngspice?
|
||||||
|
1.7 Are the mailing lists archived anywhere?
|
||||||
|
1.8 What newsgroups exist for ngspice?
|
||||||
|
1.9 Where can I get a copy of ngspice?
|
||||||
|
1.10 Where should I look on the World Wide Web for ngspice stuff?
|
||||||
|
1.11 Where should I look on the World Wide Web for Spice documentation?
|
||||||
|
|
||||||
Maintened by Daniele Foci <d.foci@ieee.ing.uniroma1.it>
|
2. DEVELOPMENT
|
||||||
Last update: 29/08/1999
|
|
||||||
|
|
||||||
|
|
||||||
CONTENTS
|
|
||||||
|
|
||||||
1. INTRODUCTION AND GENERAL INFORMATION
|
|
||||||
1.1 What is NG-Spice?
|
|
||||||
1.2 Why resurrecting Berkeley's Spice?
|
|
||||||
1.3 What is the project's goal?
|
|
||||||
1.4 What you are going to do ?
|
|
||||||
1.5 Legal issues
|
|
||||||
1.6 What mailing lists exist for NG-Spice?
|
|
||||||
1.7 Are the mailing lists archived anywhere?
|
|
||||||
1.8 What newsgroups exist for NG-Spice?
|
|
||||||
1.9 Where can I get a copy of NG-Spice?
|
|
||||||
1.10 Where should I look on the World Wide Web for NG-Spice stuff?
|
|
||||||
2. DEVELOPMENT
|
|
||||||
2.1 What is the current version?
|
2.1 What is the current version?
|
||||||
2.2 What are the latest features in the current release?
|
2.2 What are the latest features in the current release?
|
||||||
2.3 What does it look like ?
|
2.3 What does it look like?
|
||||||
2.4 Who are the authors of ng-spice ?
|
2.4 Who are the authors of ngspice?
|
||||||
2.5 How can I report a bug/request for a feature?
|
2.5 How can I report a bug/request for a feature?
|
||||||
2.6 How can I join the development?
|
2.6 How can I join the development?
|
||||||
3. SOLUTIONS TO COMMON MISCELLANEOUS PROBLEMS
|
|
||||||
|
3. SOLUTIONS TO COMMON MISCELLANEOUS PROBLEMS
|
||||||
3.1 What systems are supported?
|
3.1 What systems are supported?
|
||||||
3.2 I get errors when I try to compile the source code, why?
|
3.2 I get errors when I try to compile the source code, why?
|
||||||
3.3 This document didn't answer my question. Where else can I look for
|
3.3 This document didn't answer my question. Where else can I look for an answer?
|
||||||
an answer?
|
|
||||||
4. ADMINISTRATIVE INFORMATION AND ACKNOWLEDGEMENTS
|
4. ADMINISTRATIVE INFORMATION AND ACKNOWLEDGEMENTS
|
||||||
4.1 Feedback
|
4.1 Feedback
|
||||||
4.2 Formats in which this FAQ is available
|
4.2 Formats in which this FAQ is available
|
||||||
4.3 Authorship and acknowledgements
|
4.3 Authorship and acknowledgements
|
||||||
4.4 Disclaimer and Copyright
|
4.4 Disclaimer and Copyright
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
1. INTRODUCTION AND GENERAL INFORMATION
|
______________________________________________________________________
|
||||||
|
|
||||||
1.1 What is NG-Spice?
|
11.. IINNTTRROODDUUCCTTIIOONN AANNDD GGEENNEERRAALL IINNFFOORRMMAATTIIOONN
|
||||||
|
|
||||||
NG-spice is the name of a project and of a program in the project. Spice is
|
|
||||||
the famous circuit simulator developed by the CAD Group of the University
|
|
||||||
of California at Berkeley (UCB). The NG prefix has a lot of meanings: Next
|
|
||||||
Generation, New Good, etc. Choose or invent the one you prefer. The NG-spice
|
|
||||||
project aims to improve the capabilities of the Spice3 circuit simulator.
|
|
||||||
The heart of the project is the ng-spice program, a circuit simulator
|
|
||||||
derived from spice3f5.
|
|
||||||
|
|
||||||
1.2 Why resurrecting Berkeley's Spice?
|
|
||||||
|
|
||||||
Berkeley's Spice can be considered the father of most circuit simulators
|
|
||||||
available today. It is an old but still good piece of software, it may not
|
|
||||||
be the fastest or the most reliable but it's free, it's available in
|
|
||||||
source code and most of the electrical simulators inherited it's syntax.
|
|
||||||
On the more technical side, spice3 uses good numerical algorithms
|
|
||||||
( most commercial implementations have only strengthened them), implements
|
|
||||||
most of the models for MOSFET submicron designs and has a powerful set of
|
|
||||||
analyses. On the more "social" side, spice3 it's well introduced in the
|
|
||||||
academic environment.
|
|
||||||
|
|
||||||
1.3 What is the project's goal?
|
|
||||||
|
|
||||||
The final goal of NG-spice project is to develop a reliable, fast and
|
|
||||||
friendly circuit simulator for mixed signal/mixed level simulation.
|
|
||||||
Easy isn't it ;-).
|
|
||||||
|
|
||||||
1.4 What you are going to do?
|
|
||||||
|
|
||||||
The NG-spice project is divided in two main overlapping phases. The first
|
|
||||||
phase is strictly pertinent to the spice3f5 code: during this phase the
|
|
||||||
original spice3f5 code will be "cleaned" and corrected and small improvements
|
|
||||||
made to it. In phase one the Autoconf interface will replace the Berkeley's
|
|
||||||
one and this will lead to a different structure of the sources.
|
|
||||||
The second phase is the development of improvements in the ngspice code
|
|
||||||
(the old spice3f5 code cleaned and corrected) and of some programs that will
|
|
||||||
interface with it, like a schematic editor and a waveform viewer. A list of
|
|
||||||
proposed improvements follows:
|
|
||||||
|
|
||||||
1) The framework (or Graphic User Interface):
|
|
||||||
Spice is (and should continue to be) a command line or a text tool, but
|
|
||||||
this makes very difficult to design large circuits. To overcome this
|
|
||||||
difficulty, a schematic entry tool and a waveform viewer tools are needed.
|
|
||||||
Nevertheless, there are other tools that can be useful: a parts database,
|
|
||||||
an editor which higlights the syntax, a symbol editor, etc.
|
|
||||||
Most of these program already exists in the open source world, so they
|
|
||||||
need only to be integrated in a common EDA environment.
|
|
||||||
|
|
||||||
2) Documentation:
|
|
||||||
Commercial simulators have very good manuals with tutorials, models
|
|
||||||
equations explained, example of use, suggestions, etc. This line of
|
|
||||||
development has the task of providing the final spice user with an ordered
|
|
||||||
and comprehensive set of information on the program and its features.
|
|
||||||
The documentation should be useful for the student as well as for the
|
|
||||||
circuit professional.
|
|
||||||
|
|
||||||
3) Improvements to the Spice code:
|
|
||||||
This is the hard part. The target of this direction is to make ngspice a
|
|
||||||
commercial grade simulator. This means improving it's speed, its
|
|
||||||
numerical strenght, include the latest models available and some other
|
|
||||||
important features:
|
|
||||||
|
|
||||||
* Numerical Algorithms:
|
|
||||||
- More stable algorithms for integration (as Runge-Kutta Methods).
|
|
||||||
- Better convergence in Operating Point Calculation replacing the
|
|
||||||
Newton-Raphson algorithm, a modified version of Fixed-Point
|
|
||||||
Homotopy.
|
|
||||||
|
|
||||||
* Devices:
|
|
||||||
- Behavioral device: enhance the B device of spice3 to accepts IF THEN
|
|
||||||
ELSE conditions, and digital keywords like DELAY,
|
|
||||||
HIGHV, LOWV, etc. to simulate simple digital
|
|
||||||
device.
|
|
||||||
- Dynamically Loadable Devices: reduce the memory occupied by the
|
|
||||||
simulator by using shared object code
|
|
||||||
for devices. Each device is a .so
|
|
||||||
library that is inserted only if the
|
|
||||||
circuit contains an element modeled by
|
|
||||||
the device. If we are simulating CMOS,
|
|
||||||
we do not need BJT or SOI (in most of
|
|
||||||
the situations).
|
|
||||||
- Code Level Modeling: let users write their devices in C and use
|
|
||||||
them in the simulator.
|
|
||||||
- Improving device: include additional parameters to some devices as
|
|
||||||
HDIF, LDIF, etc.
|
|
||||||
|
|
||||||
* New types of analysis, oriented to circuits syntesis and optimization:
|
|
||||||
- Network analysis: given four nodes, extract z,y,s and the other
|
|
||||||
double bipole paramters.
|
|
||||||
- Monte Carlo analysis: statistical simulation based on device
|
|
||||||
tolerances.
|
|
||||||
- Worst Case analysis: find the worst case of operation of a given
|
|
||||||
circuit based on device tolerances.
|
|
||||||
- Parametric analysis: repeat an analysis when one or more parameters
|
|
||||||
assumes different values.
|
|
||||||
|
|
||||||
* Faster handling of sparse matrices.
|
|
||||||
|
|
||||||
* Possibility to mesure circuit pameters, like the delay between two
|
|
||||||
nodes, etc.
|
|
||||||
|
|
||||||
* ... whatever else can be judged useful.
|
|
||||||
|
|
||||||
|
|
||||||
1.5 Legal issues
|
|
||||||
|
|
||||||
[not written yet: GPL vs. Berkeley]
|
11..11.. WWhhaatt iiss nnggssppiiccee??
|
||||||
|
|
||||||
1.6 What mailing lists exist for NG-Spice?
|
Ngspice is the name of a project and of a program in the project.
|
||||||
|
Spice is the famous circuit simulator developed by the CAD Group of
|
||||||
|
the University of California at Berkeley (UCB). The NG prefix has a
|
||||||
|
lot of meanings: Next Generation, New Good, etc. Choose or invent the
|
||||||
|
one you prefer. The ngspice project aims to improve the capabilities
|
||||||
|
of the Spice3 circuit simulator. The heart of the project is the
|
||||||
|
ngspice program, a circuit simulator derived from spice3f5.
|
||||||
|
|
||||||
Only one. Send an empty message to <ng-spice-help@ieee.ing.uniroma1.it> to
|
|
||||||
have information on subscription.
|
|
||||||
|
|
||||||
1.7 Is the mailing lists archived anywhere?
|
11..22.. WWhhyy rreessuurrrreeccttiinngg BBeerrkkeelleeyy''ss SSppiiccee??
|
||||||
|
|
||||||
Yes, the list is archived. Send an empty message to
|
Berkeley's Spice can be considered the father of most circuit
|
||||||
<ng-spice-help@ieee.ing.uniroma1.it> to have information on how to retrieve
|
simulators available today. It is an old but still good piece of
|
||||||
old messages.
|
software, it may not be the fastest or the most reliable but it's
|
||||||
|
free, it's available in source code and most of the electrical
|
||||||
|
simulators inherited it's syntax. On the more technical side, spice3
|
||||||
|
uses good numerical algorithms (most commercial implementations have
|
||||||
|
only strengthened them), implements most of the models for MOSFET
|
||||||
|
submicron designs and has a powerful set of analyses. On the more
|
||||||
|
"social" side, spice3 it's well introduced in the academic
|
||||||
|
environment.
|
||||||
|
|
||||||
1.8 What newsgroups exist for NG-Spice?
|
|
||||||
|
11..33.. WWhhaatt iiss tthhee pprroojjeecctt''ss ggooaall??
|
||||||
|
|
||||||
|
|
||||||
|
The final goal of ngspice project is to develop a reliable, fast and
|
||||||
|
friendly circuit simulator for mixed signal/mixed level simulation.
|
||||||
|
Easy isn't it? ;-).
|
||||||
|
|
||||||
|
|
||||||
|
11..44.. WWhhaatt yyoouu aarree ggooiinngg ttoo ddoo??
|
||||||
|
|
||||||
|
|
||||||
|
We are going to develop a circuit simulation program. The line of
|
||||||
|
development follows two parallel paths:
|
||||||
|
|
||||||
|
1. EEnnhhaanncceemmeennttss aanndd bbuugg--ffiixxiinngg ooff tthhee oorriiggiinnaall ssppiiccee33ff55 ccooddee..
|
||||||
|
|
||||||
|
2. DDeevveellppppmmeenntt ooff aa nneeww GGPPLL''eedd ssiimmuullaattoorr..
|
||||||
|
|
||||||
|
The first phat will lead to a better spice3f5 and nothing more than
|
||||||
|
this, while the second one will bring us a new simulator,
|
||||||
|
compatible with its father but more expandable and presumably
|
||||||
|
faster and numerically stronger.
|
||||||
|
|
||||||
|
There is another project in ngspice: the development of one or more
|
||||||
|
frontend to the new simulator. One of the key issues of our project is
|
||||||
|
to let users design the front end they want, using the widget set and
|
||||||
|
the language they prefer. For this reason ngspice differs a lot from
|
||||||
|
spice3f5: in ngspice there is a clear distinction between the front
|
||||||
|
end and the back end. In ngspice the front end takes care of the
|
||||||
|
interaction with the user. It is back-end's task to maintain the
|
||||||
|
object database, to exchange data with the simulator, etc.
|
||||||
|
|
||||||
|
There are various improvements we are planning, some follows:
|
||||||
|
|
||||||
|
1. TThhee ffrraammeewwoorrkk ((oorr GGrraapphhiicc UUsseerr IInntteerrffaaccee)):: Spice is (and should
|
||||||
|
continue to be) a command line or a text tool, but this makes very
|
||||||
|
difficult to design large circuits. To overcome this difficulty, a
|
||||||
|
schematic entry tool and a waveform viewer tools are needed.
|
||||||
|
Nevertheless, there are other tools that can be useful: a parts
|
||||||
|
database, an editor which higlights the syntax, a symbol editor,
|
||||||
|
etc. Most of these program already exists in the open source world,
|
||||||
|
so they need only to be integrated in a common EDA environment.
|
||||||
|
|
||||||
|
2. DDooccuummeennttaattiioonn:: Commercial simulators have very good manuals with
|
||||||
|
tutorials, models equations explained, example of use, suggestions,
|
||||||
|
etc. This line of development has the task of providing the final
|
||||||
|
spice user with an ordered and comprehensive set of information on
|
||||||
|
the program and its features. The documentation should be useful
|
||||||
|
for the student as well as for the circuit professional.
|
||||||
|
|
||||||
|
3. IImmpprroovveemmeennttss ttoo tthhee SSppiiccee ccooddee:: This is the hard part. The target
|
||||||
|
of this direction is to make ngspice a commercial grade simulator.
|
||||||
|
This means improving it's speed, its numerical strenght, include
|
||||||
|
the latest models available and some other important features:
|
||||||
|
|
||||||
|
+o Numerical Algorithms:
|
||||||
|
|
||||||
|
+o More stable algorithms for integration (as Runge-Kutta
|
||||||
|
Methods (?) ).
|
||||||
|
|
||||||
|
+o Better convergence in Operating Point Calculation adding a
|
||||||
|
modified version of Fixed-Point Homotopy to the Newton-
|
||||||
|
Raphson algorithm,
|
||||||
|
|
||||||
|
+o Devices:
|
||||||
|
|
||||||
|
+o Behavioral device: enhance the B device of spice3 to accepts
|
||||||
|
IF THEN ELSE conditions, and digital keywords like DELAY,
|
||||||
|
HIGHV, LOWV, etc. to simulate simple digital macromodels.
|
||||||
|
|
||||||
|
+o Dynamically Loadable Devices: reduce the memory occupied by
|
||||||
|
the simulator by using shared object code for devices. Each
|
||||||
|
device is a .so library that is inserted only if the circuit
|
||||||
|
contains an element modeled by the device. If we are
|
||||||
|
simulating CMOS, we do not need BJT or SOI (in most of the
|
||||||
|
situations).
|
||||||
|
|
||||||
|
+o Code Level Modeling: let users write their devices in C and
|
||||||
|
use them in the simulator.
|
||||||
|
|
||||||
|
+o Improving device: include additional parameters to some
|
||||||
|
devices as HDIF, LDIF, etc.
|
||||||
|
|
||||||
|
+o New types of analysis, oriented to circuits syntesis and
|
||||||
|
optimization:
|
||||||
|
|
||||||
|
+o Network analysis: given four nodes, extract z,y,s and the
|
||||||
|
other double bipole paramters.
|
||||||
|
|
||||||
|
+o Monte Carlo analysis: statistical simulation based on device
|
||||||
|
tolerances.
|
||||||
|
|
||||||
|
+o Worst Case analysis: find the worst case of operation of a
|
||||||
|
given circuit based on device parameters tolerances.
|
||||||
|
|
||||||
|
+o Parametric analysis: repeat an analysis when one or more
|
||||||
|
parameters assumes different values.
|
||||||
|
|
||||||
|
+o Faster handling of sparse matrices.
|
||||||
|
|
||||||
|
+o Possibility to mesure circuit pameters, like the delay between
|
||||||
|
two nodes, etc.
|
||||||
|
|
||||||
|
+o Whatever else can be judged useful.
|
||||||
|
|
||||||
|
|
||||||
|
11..55.. LLeeggaall iissssuueess
|
||||||
|
|
||||||
|
The improved spice3f5 will be relased under the original Berkeley's
|
||||||
|
lincese. The new simulator will be released as GPL. Make ngspice a GPL
|
||||||
|
program, allow us to link a lot of good code laying on the net and
|
||||||
|
obviously contribute to the GPL community.
|
||||||
|
|
||||||
|
|
||||||
|
11..66.. WWhhaatt mmaaiilliinngg lliissttss eexxiisstt ffoorr nnggssppiiccee??
|
||||||
|
|
||||||
|
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>
|
||||||
|
|
||||||
|
<ngspice-devel-help@lists.sourceforge.net>
|
||||||
|
|
||||||
|
|
||||||
|
<ngspice-frontends-help@lists.sourceforge.net>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
11..77.. AArree tthhee mmaaiilliinngg lliissttss aarrcchhiivveedd aannyywwhheerree??
|
||||||
|
|
||||||
|
Yes, the list are archived. Look at the project's web site to access
|
||||||
|
archives.
|
||||||
|
|
||||||
|
|
||||||
|
11..88.. WWhhaatt nneewwssggrroouuppss eexxiisstt ffoorr nnggssppiiccee??
|
||||||
|
|
||||||
None. Sorry.
|
None. Sorry.
|
||||||
|
|
||||||
1.9 Where can I get a copy of NG-Spice?
|
|
||||||
|
|
||||||
You can download NG-Spice from:
|
11..99.. WWhheerree ccaann II ggeett aa ccooppyy ooff nnggssppiiccee??
|
||||||
ftp://ieee.ing.uniroma1.it/pub/ng-spice/distribution/
|
|
||||||
|
|
||||||
1.10 Where should I look on the World Wide Web for NG-Spice stuff?
|
You can download ngspice from:
|
||||||
|
|
||||||
There is a WWW page for NG-Spice. The URL is:
|
<http://sourceforge.net/projects/ngspice>
|
||||||
http://geda.seul.org under the tools section.
|
|
||||||
|
|
||||||
|
|
||||||
2. DEVELOPMENT
|
11..1100.. WWhheerree sshhoouulldd II llooookk oonn tthhee WWoorrlldd WWiiddee WWeebb ffoorr nnggssppiiccee ssttuuffff??
|
||||||
|
|
||||||
2.1 What is the current version?
|
Look at the official NG-Spice Web Page
|
||||||
|
<http://ngspice.sourceforge.net>
|
||||||
|
|
||||||
0.3 (released on 30/08/1999)
|
|
||||||
|
|
||||||
2.2 What are the latest features in the current release?
|
11..1111.. WWhheerree sshhoouulldd II llooookk oonn tthhee WWoorrlldd WWiiddee WWeebb ffoorr SSppiiccee ddooccuummeennttaa--
|
||||||
|
ttiioonn??
|
||||||
|
|
||||||
* New features:
|
50 Circuits analyzed with SPICE
|
||||||
- Autoconf interface.
|
<http://www.dacafe.com/DACafe/EDATools/EDAbooks/SpiceHandBook/01_TOC.html>
|
||||||
- BSIM 3.2.2 Model.
|
|
||||||
- PS jfet Model (jfet level 2).
|
|
||||||
- Temperature and resistance sweeps.
|
|
||||||
- "spec" command for spectrum analysis.
|
|
||||||
|
|
||||||
* Bug fixes:
|
<http://www.dacafe.com/DACafe/EDATools/EDAbooks/SMPS/SMPS.htm>
|
||||||
- Altermod command connected to the parser.
|
|
||||||
- Some memory leaks closed.
|
|
||||||
- Spice3f5 fixes available on the net.
|
|
||||||
|
|
||||||
2.3 What does it look like ?
|
|
||||||
|
22.. DDEEVVEELLOOPPMMEENNTT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
22..11.. WWhhaatt iiss tthhee ccuurrrreenntt vveerrssiioonn??
|
||||||
|
|
||||||
|
rework-14 (released on 10/12/2001)
|
||||||
|
|
||||||
|
|
||||||
|
22..22.. WWhhaatt aarree tthhee llaatteesstt ffeeaattuurreess iinn tthhee ccuurrrreenntt rreelleeaassee??
|
||||||
|
|
||||||
|
New features:
|
||||||
|
|
||||||
|
+o New functions for vectors: vecmax (find max element in a vector),
|
||||||
|
vecmin (find minimum element in a vector), vecd (differentiate a
|
||||||
|
vector).
|
||||||
|
|
||||||
|
+o BSIM 4 and support EKV models.
|
||||||
|
|
||||||
|
Bug fixes:
|
||||||
|
|
||||||
|
+o Some memory leaks closed.
|
||||||
|
|
||||||
|
+o Error reporting more verbose
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
22..33.. WWhhaatt ddooeess iitt llooookk lliikkee??
|
||||||
|
|
||||||
This is a command line utility, no screenshots!
|
This is a command line utility, no screenshots!
|
||||||
|
|
||||||
2.4 Who are the authors of ng-spice ?
|
|
||||||
|
22..44.. WWhhoo aarree tthhee aauutthhoorrss ooff nnggssppiiccee??
|
||||||
|
|
||||||
The development is open to anyone who wish to contribute.
|
The development is open to anyone who wish to contribute.
|
||||||
People who contributed are:
|
|
||||||
|
|
||||||
* Daniele Foci <d.foci@ieee.ing.uniroma1.it>
|
People who contributed are (in alphabetical order):
|
||||||
* Paolo Nenzi <pnenzi@ieee.ing.uniroma1.it>
|
|
||||||
* Arno Peters <A.W.Peters@ieee.org>
|
+o Daniele Foci <dfoci@ieee.ing.uniroma1.it>
|
||||||
* Serban-Mihai Popescu <serbanp@ix.netcom.com>
|
|
||||||
* Emmanuel Rouat <emmanuel.rouat@wanadoo.fr>
|
+o Paolo Nenzi <pnenzi@ieee.ing.uniroma1.it>
|
||||||
* Michael Widlok <widlok@uci.agh.edu.pl>
|
|
||||||
|
+o Arno Peters <A.W.Peters@ieee.org>
|
||||||
This list is surely incomplete (due to open development group), there are
|
|
||||||
many people who contributed with improvements, pieces of code, bux fixes,
|
+o Serban-Mihai Popescu <serbanp@ix.netcom.com>
|
||||||
etc. If you have contributed and do not appear, write to:
|
|
||||||
ng-spice@ieee.ing.uniroma1.it
|
+o Emmanuel Rouat <emmanuel.rouat@wanadoo.fr>
|
||||||
|
|
||||||
|
+o Michael Widlok <twidlok@uci.agh.edu.pl>
|
||||||
|
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
<ng-spice@ieee.ing.uniroma1.it>
|
||||||
|
|
||||||
and ask to be included.
|
and ask to be included.
|
||||||
|
|
||||||
2.5 How can I report a bug/request for a feature?
|
|
||||||
|
|
||||||
Write in the mailing list.
|
22..55.. HHooww ccaann II rreeppoorrtt aa bbuugg//rreeqquueesstt ffoorr aa ffeeaattuurree??
|
||||||
|
|
||||||
2.6 How can I join the development?
|
Look at the projects summary page: ngspice summary page
|
||||||
|
|
||||||
To join the development just code the feature you want to add and send your
|
22..66.. HHooww ccaann II jjooiinn tthhee ddeevveellooppmmeenntt??
|
||||||
patch in the mailing list. Before you start coding check the latest
|
|
||||||
development release of NG-Spice from our CVS. It might be that your feature
|
|
||||||
has already been implemented.
|
|
||||||
To access the anonymous CVS do the following:
|
|
||||||
|
|
||||||
1) Install cvs on your machine (version 1.9.x - 1.10.x are just fine).
|
To join the development just code the feature you want to add and send
|
||||||
2) Set one of the following environment variables:
|
your patch in the mailing list. Before you start coding check the
|
||||||
For bash:
|
latest development release of ngspice from our CVS. It might be that
|
||||||
export CVSROOT=:pserver:anonymous@ieee.ing.uniroma1.it:/var/services/cvsroot
|
your feature has already been implemented.
|
||||||
For csh/tcsh:
|
|
||||||
setenv CVSROOT :pserver:anonymous@ieee.ing.uniroma1.it:/var/services/cvsroot
|
|
||||||
3) Login to the cvs server by running:
|
|
||||||
$> cvs login
|
|
||||||
The password is 'guest' (without the quotes of course). You will only
|
|
||||||
have to do this once.
|
|
||||||
4) Checkout the appropriate files executing the following commands:
|
|
||||||
$> mkdir somedirectory
|
|
||||||
$> cd somedirectory
|
|
||||||
$> cvs co ng-spice
|
|
||||||
5) Wait for the cvs logout.
|
|
||||||
|
|
||||||
|
|
||||||
3. SOLUTIONS TO COMMON MISCELLANEOUS PROBLEMS
|
33.. SSOOLLUUTTIIOONNSS TTOO CCOOMMMMOONN MMIISSCCEELLLLAANNEEOOUUSS PPRROOBBLLEEMMSS
|
||||||
|
|
||||||
3.1 What systems are supported?
|
|
||||||
|
|
||||||
|
33..11.. WWhhaatt ssyysstteemmss aarree ssuuppppoorrtteedd??
|
||||||
|
|
||||||
This is the updated list:
|
This is the updated list:
|
||||||
|
|
||||||
Hardware O.S. Compiler Functional?
|
Hardware O.S. Version Compiler Functional?
|
||||||
---------------- ------------------ -------------- -----------
|
---------------- ----------------------- -------------- -----------
|
||||||
i386 Linux (RedHat) gcc yes
|
???? HP-UX 10.10 gcc 2.95.2 yes
|
||||||
i386 Linux (Debian) gcc yes
|
IBM Risc 6000 ??? lcc no
|
||||||
i386 Linux (SuSE) gcc yes
|
i386 Debian GNU/Linux 2.1 gcc 2.7.2 yes
|
||||||
IBM Risc 6000 AiX lcc no
|
i386 Red Hat Linux 5.2 gcc 2.7.2 yes
|
||||||
SUN Solaris 7 gcc yes
|
i386 SuSE Linux 6.0 gcc 2.7.2 yes
|
||||||
SUN Solaris 7 SUN Workshop ?
|
i386 Linux (SuSE) gcc yes
|
||||||
|
UltraSPARC Solaris 7 gcc yes
|
||||||
|
UltraSPARC Solaris 7 SUN Workshop ?
|
||||||
|
|
||||||
3.2 I get errors when I try to compile the source code, why?
|
|
||||||
|
|
||||||
|
MS-Dos, VMS and MacOS are no longer supported.
|
||||||
|
|
||||||
|
|
||||||
|
33..22.. II ggeett eerrrroorrss wwhheenn II ttrryy ttoo ccoommppiillee tthhee ssoouurrccee ccooddee,, wwhhyy??
|
||||||
|
|
||||||
[not written yet]
|
[not written yet]
|
||||||
|
|
||||||
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
|
33..33.. TThhiiss ddooccuummeenntt ddiiddnn''tt aannsswweerr mmyy qquueessttiioonn.. WWhheerree eellssee ccaann II llooookk
|
||||||
the docs. Upgrade to the latest version of NG-Spice, many problems are fixed
|
ffoorr aann aannsswweerr??
|
||||||
in the new versions. If you still can't find an answer, post your question
|
|
||||||
to the mailing list.
|
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.
|
||||||
|
|
||||||
|
|
||||||
4. ADMINISTRATIVE INFORMATION AND ACKNOWLEDGEMENTS
|
44.. AADDMMIINNIISSTTRRAATTIIVVEE IINNFFOORRMMAATTIIOONN AANNDD AACCKKNNOOWWLLEEDDGGEEMMEENNTTSS
|
||||||
|
|
||||||
4.1 Feedback
|
|
||||||
|
|
||||||
Send your comments about this F.A.Q. to <d.foci@ieee.ing.uniroma1.it>.
|
44..11.. FFeeeeddbbaacckk
|
||||||
Send your comments about NG-Spice to <ng-spice@ieee.ing.uniroma1.it>.
|
|
||||||
|
|
||||||
4.2 Formats in which this FAQ is available
|
Send your comments about this F.A.Q. to:
|
||||||
|
|
||||||
This document is available only in ASCII format in the NG-Spice source
|
Paolo Nenzi <p.nenzi@ieee.org>.
|
||||||
|
|
||||||
|
Send your comments about ngspice to:
|
||||||
|
|
||||||
|
Paolo Nenzi <p.nenzi@ieee.org>.
|
||||||
|
|
||||||
|
|
||||||
|
44..22.. FFoorrmmaattss iinn wwhhiicchh tthhiiss FFAAQQ iiss aavvaaiillaabbllee
|
||||||
|
|
||||||
|
This document is available only in ASCII format in the ngspice source
|
||||||
package.
|
package.
|
||||||
|
|
||||||
4.3 Authorship and acknowledgements
|
|
||||||
|
44..33.. AAuutthhoorrsshhiipp aanndd aacckknnoowwlleeddggeemmeennttss
|
||||||
|
|
||||||
Parts of the questions and answers are originate from Paolo Nenzi.
|
Parts of the questions and answers are originate from Paolo Nenzi.
|
||||||
|
|
||||||
4.4 Disclaimer and Copyright
|
|
||||||
|
|
||||||
This document is provided as is. The information in it is not warranted to
|
44..44.. DDiissccllaaiimmeerr aanndd CCooppyyrriigghhtt
|
||||||
be correct: you use it at your own risk.
|
|
||||||
|
This document is provided as is. The information in it is not
|
||||||
|
warranted to be correct: you use it at your own risk.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
69
README
69
README
|
|
@ -1,32 +1,32 @@
|
||||||
README for NGSPICE
|
README for NGSPICE
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
This long message describes what NG-SPICE may become in the (near ?)
|
This long message describes what NGSPICE may become in the (near ?)
|
||||||
future. I used a question mark because, as you will read, most of the
|
future. I used a question mark because, as you will read, most of the
|
||||||
features of ng-spice are found on Hi-quality commercial products and
|
features of ngspice are found on Hi-quality commercial products and
|
||||||
(which is the true reason) I have no idea on how can be implemented.
|
(which is the true reason) I have no idea on how can be implemented.
|
||||||
|
|
||||||
** Why resurrecting Berkeley's Spice ?
|
** Why resurrecting Berkeley's Spice ?
|
||||||
|
|
||||||
Berkeley's spice can be considered the father of most circuit simulator
|
Berkeley's spice can be considered the father of most circuit simulators
|
||||||
available today. It is an old but still good piece of software. It may not
|
available today. It is an old but still good piece of software. It may not
|
||||||
be the fastest or the most reliable, but it's free, it is available in
|
be the fastest or the most reliable, but it's free, it is available in
|
||||||
source code, and most of the electrical simulators inherited it's syntax.
|
source code, and most of the electrical simulators inherited it's syntax.
|
||||||
On the more technical side, spice3f4(5) uses good numerical algorithms
|
On the more technical side, spice3f4(5) uses good numerical algorithms
|
||||||
(commercial implementations have only strengthened them), implements most
|
(commercial implementations have only strengthened them), implements most
|
||||||
of the models for MOSFET submicron designs and has a powerful set of
|
of the models for MOSFET submicron designs and has a powerful set of
|
||||||
analyses. On the more "social" side: it's weel introduced in the
|
analyses. On the more "social" side: it's well introduced in the
|
||||||
academic environment.
|
academic environment.
|
||||||
|
|
||||||
|
|
||||||
** What does NG-SPICE mean ?
|
** What does NGSPICE mean ?
|
||||||
|
|
||||||
It stands for Next Generation Spice but that's not the official name of
|
It stands for Next Generation Spice but that's not the official name of
|
||||||
the projest. This projects still lacks a name. NG-SPICE is a temporary
|
the projest. This projects still lacks a name. NGSPICE is a temporary
|
||||||
name.
|
name.
|
||||||
|
|
||||||
|
|
||||||
** What will NG-SPICE be ?
|
** What will NGSPICE be ?
|
||||||
|
|
||||||
Berkeley's Spice lacks in three directions:
|
Berkeley's Spice lacks in three directions:
|
||||||
|
|
||||||
|
|
@ -51,53 +51,56 @@ Berkeley's Spice lacks in three directions:
|
||||||
program and it's features. The documentation should be useful for the
|
program and it's features. The documentation should be useful for the
|
||||||
student as well as for the circuit professional.
|
student as well as for the circuit professional.
|
||||||
|
|
||||||
* Improvements to the spice code: This is the hard part. Th target of
|
* Improvements to the spice code: This is the hard part. The target of
|
||||||
this direction is to make ng-spice a commercial grade simulator. This
|
this direction is to make ngspice a commercial grade simulator. This
|
||||||
means improving it's speed, it's numerical robustness, include the
|
means improving it's speed, it's numerical robustness, include the
|
||||||
latest models available and some other important features. I will
|
latest models available and some other important features. I will
|
||||||
describe some of them briefly:
|
describe some of them briefly:
|
||||||
|
|
||||||
- Analyses -
|
- Analyses -
|
||||||
Network analisys: given four nodes, extract z,y,s and the other
|
Network analysis: given four nodes, extract z,y,s and the other
|
||||||
double bipole paramters.
|
double bipole parameters.
|
||||||
|
|
||||||
Monte Carlo analisys: statistical simulation based on device
|
Monte Carlo analysis: statistical simulation based on device
|
||||||
tolerances.
|
parameters tolerances.
|
||||||
|
|
||||||
Worst Case analisys: find the worst case of operation of a given
|
Worst Case analysis: find the worst case of operation of a given
|
||||||
circuit based on device tolerances.
|
circuit based on device parameters tolerances.
|
||||||
|
|
||||||
Parametric analisys: repeat an analysis when one or more parameters
|
Parametric analysis: repeat an analysis when one or more parameters
|
||||||
assumes different values.
|
assumes different values.
|
||||||
|
|
||||||
- Devices -
|
- Devices -
|
||||||
Behavioral device: enhance the B device of spice3 to accepts IF THEN
|
Behavioral device: enhance the B device of spice3 to accepts IF THEN
|
||||||
ELSE conditions, and digital keywords like DELAY, HIGHV. LOWV, etc to
|
ELSE conditions, and digital keywords like DELAY, HIGHV. LOWV, etc to
|
||||||
simulate simple digital device.
|
simulate simple digital circuits.
|
||||||
|
|
||||||
Dynamically loading of device: reduce the memory occupied by the
|
Dynamically loading of device: reduce the memory occupied by the
|
||||||
simulator by using shared object code for devices. Each device
|
simulator using shared object code for devices. Each device
|
||||||
is a .so library that is inserted only if the circuit contains
|
is a .so library that is inserted only if the circuit contains
|
||||||
an element modeled by the device. If we are simulating CMOS,
|
an element modeled by the device. If we are simulating CMOS,
|
||||||
we do not need BJT or SOI (in most of the situations).
|
we do not need BJT or SOI (in most of the situations).
|
||||||
|
|
||||||
Code Level Modeling: Let users write their devices in C and use
|
Code Level Modeling: Let users write their devices in C and use
|
||||||
them in the simulator. I have discovered a couple of standars
|
them in the simulator. I have discovered a couple of standars
|
||||||
for doing this at the Sematech ftp site.
|
for doing this at the Sematech ftp site.
|
||||||
|
|
||||||
Improving device: Include additional parameters to some devices:
|
Improving device: Include additional parameters to some devices:
|
||||||
HDIF, LDIF, etc. (Serban, can you explain better).
|
HDIF, LDIF, etc.
|
||||||
|
|
||||||
- Numerical Algs -
|
- Numerical Algs -
|
||||||
Integration: include (if necessary) more stable algorithms for
|
Integration: include (if necessary) more stable algorithms for
|
||||||
integration. Runge-Kutta Methods ?
|
integration. What about Runge-Kutta Methods ?
|
||||||
|
|
||||||
|
How if we check LKC at every node as convergence test ?
|
||||||
|
|
||||||
Linearization:
|
Linearization:
|
||||||
Are there better algorithms for nonlinear equations the the Newton
|
Are there better algorithms for nonlinear equations the the Newton
|
||||||
raphson ?
|
raphson ?
|
||||||
|
|
||||||
- Sparse Matrix -
|
- Sparse Matrix -
|
||||||
Faster handling of sparse matrices.
|
Faster handling of sparse matrices: new processors offers generous
|
||||||
|
caches and vectors operations.
|
||||||
|
|
||||||
|
|
||||||
- Options -
|
- Options -
|
||||||
|
|
@ -136,25 +139,27 @@ MAILING LISTS:
|
||||||
|
|
||||||
There are three mailing lists dedicated to the development of ngspice.
|
There are three mailing lists dedicated to the development of ngspice.
|
||||||
|
|
||||||
ng-spice@ieee.ing.uniroma1.it: This list is the list for the users of the
|
ngspice-users@lists.sourceforge.net: This list is the list for the users of the
|
||||||
ng-spice simulator.
|
ngspice simulator.
|
||||||
|
|
||||||
ng-spice-devel@ieee.ing.uniroma1.it: ng-spice development issues.
|
ngspice-devel@lists.sourceforge.net: ngspice development issues. Developers and
|
||||||
|
"want to be" developers should
|
||||||
|
subscribe here.
|
||||||
|
|
||||||
ng-spice-frontends@ieee.ing.uniroma1.it: issues related to development of
|
ngspice-frontend@list.sourceforge.net: issues related to development of
|
||||||
frontends for ng-spice.
|
frontends for ngspice.
|
||||||
|
|
||||||
To subscribe the list(s), send a message to:
|
To subscribe the list(s), send a message to:
|
||||||
<ng-spice-subscribe@ieee.ing.uniroma1.it>
|
<ngspice-users-subscribe@lists.sourceforge.net>
|
||||||
<ng-spice-devel-subscribe@ieee.ing.uniroma1.it>
|
<ngspice-devel-subscribe@lists.sourceforge.net>
|
||||||
<ng-spice-frontends-subscribe@ieee.ing.uniroma1.it>
|
<ngspice-frontend-subscribe@lists.sourceforge.net>
|
||||||
|
|
||||||
|
|
||||||
WEB SITE:
|
WEB SITE:
|
||||||
--------
|
--------
|
||||||
|
|
||||||
This project is hosted on the IEEE Central & South Italy Section Server.
|
This project is hosted on Sourceforge.
|
||||||
The home page is http://ieee.ing.uniroma1.it/ngspice
|
The home page is http://ngspice.sourceforge.net
|
||||||
|
|
||||||
Manu (emmanuel.rouat@wanadoo.fr)
|
Manu (emmanuel.rouat@wanadoo.fr)
|
||||||
Paolo (p.nenzi@ieee.org)
|
Paolo (p.nenzi@ieee.org)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue