ngspice-26: update documentation

This commit is contained in:
h_vogt 2014-01-04 15:42:57 +01:00 committed by rlar
parent b19641dcc2
commit 8c99ec76f4
10 changed files with 168 additions and 121 deletions

View File

@ -8,9 +8,10 @@ This file lists the analyses currently implemented into ngspice.
Table of Contents Table of Contents
1 Noise analysis (NOISE) 1 Noise analysis (NOISE)
1.1 Small signal noise
1.2 Transient noise
2 Operating point analysis (OP) 2 Operating point analysis (OP)
3 Operating point sweep Analysis (DC) 3 Operating point sweep Analysis (DC)
3.1 Enhancements
4 Pole-zero analysis (PZ) 4 Pole-zero analysis (PZ)
5 Small-Signal distortion analysis (DISTO) 5 Small-Signal distortion analysis (DISTO)
6 Small Signal frequency response analysis (AC) 6 Small Signal frequency response analysis (AC)
@ -23,6 +24,8 @@ Table of Contents
1 Noise analysis (NOISE) 1 Noise analysis (NOISE)
1.1 Small signal noise
The noise analysis does analysis device-generated noise for the given The noise analysis does analysis device-generated noise for the given
circuit. When provided with an input source and an output port, the analysis circuit. When provided with an input source and an output port, the analysis
calculates the noise contributions of each device (and each noise generator calculates the noise contributions of each device (and each noise generator
@ -32,6 +35,12 @@ Table of Contents
range - the calculated value of the noise corresponds to the spectral density range - the calculated value of the noise corresponds to the spectral density
of the circuit variable viewed as a stationary gaussian stochastic process. of the circuit variable viewed as a stationary gaussian stochastic process.
1.2 Transient noise
Time domain noise analysis during transient simulation is enabled by
providing voltage (and current) source options with white, 1/f and
random telegraph signal noise signals.
2 Operating point analysis (OP) 2 Operating point analysis (OP)
@ -44,11 +53,8 @@ Table of Contents
The operating point sweep analysis determines the values of output The operating point sweep analysis determines the values of output
variables while one or two specified independent voltage or current source is variables while one or two specified independent voltage or current source is
stepped over a user-specified range and the dc output variables are stored stepped over a user-specified range and the dc output variables are stored
for each sequential source value. for each sequential source value. Resistance and temperature sweep are
included.
3.1 Enhancements
Added resistance and temperature sweep.
4 Pole-zero analysis (PZ) 4 Pole-zero analysis (PZ)
@ -57,7 +63,8 @@ Table of Contents
ac transfer function. The program first computes the dc operating point and ac transfer function. The program first computes the dc operating point and
then determines the linearized, small-signal models for all the nonlinear then determines the linearized, small-signal models for all the nonlinear
devices in the circuit. This circuit is then used to find the poles and zeros devices in the circuit. This circuit is then used to find the poles and zeros
of the transfer function. of the transfer function. Unfortunately this code is (since its inception in
spice3) not free of bugs.
5 Small-Signal distortion analysis (DISTO) 5 Small-Signal distortion analysis (DISTO)

View File

@ -7,12 +7,12 @@ releasing patches to the original code through the Internet.
The following people have contributed in some way: The following people have contributed in some way:
@verbatim
Vera Albrecht, Vera Albrecht,
Cecil Aswell, Cecil Aswell,
Giles C. Billingsley, Giles C. Billingsley,
Phil Barker, Phil Barker,
Steven Borley, Steven Borley,
Krzysztof Blaszkowski,
Stuart Brorson, Stuart Brorson,
Mansun Chan, Mansun Chan,
Wayne A. Christopher, Wayne A. Christopher,
@ -68,7 +68,6 @@ Michael Widlok,
Charles D.H. Williams, Charles D.H. Williams,
Antony Wilson, Antony Wilson,
and many others... and many others...
@end verbatim
If someone helped in the development and has not been inserted in this list If someone helped in the development and has not been inserted in this list
then this omission was unintentional. If you feel you should be on this list then this omission was unintentional. If you feel you should be on this list

36
COPYING
View File

@ -1,47 +1,51 @@
12345678901234567890123456789012345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890123456789012345678901234567890
Ngspice-25 Ngspice 26
Copyright (c) 2012, Copyright (c) 2014,
All rights reserved. All rights reserved.
Foreword: Foreword:
Spice's name was originally chosen at the University of California, Berkeley. The name 'Spice' (Simulation Program with Integrated Circuit Emphasis)
As it is the basis of almost all circuit simulators, the major part of the was originally chosen at the University of California, Berkeley. The
original Berkeley code is covered under the modified BSD license and
thus sets the basis for all other code added.
As Spice is the basis of almost all circuit simulators, the major part of the
analogue and mixed signals simulation's code is designed to fit with it. analogue and mixed signals simulation's code is designed to fit with it.
The *spices (generic name for its forks) are heterogeneous in many points due The *spices (generic name for its forks) are heterogeneous in many points due
to the work of researchers, electronic designers, software editors, etc. to the work of researchers, electronic designers, software editors, etc.
The Ngspice team tries to collect work from the different sources and The Ngspice team tries to collect work from the different sources and
contribute new functionalities. Thus, the material we manipulate is contribute new functionalities. Thus, the material we manipulate is
heterogeneous in licenses. Keeping the licenses as is, is the way to live with heterogeneous in licenses. Keeping the licenses as is, but also keep it
that diversity. For release 25 as well, we choose not to relicense. compatible with the new BSD license, is the way to live with that diversity.
Copyleft is a fundamental question in FOSS development. The choice of a Copyleft is a fundamental question in FOSS development. The choice of a
copylefted contribution, or a non copylefted contribution is an important copylefted contribution, or a non copylefted contribution is an important
choice that should be respected. Ngspice branch as a whole will not be covered choice that should be respected. Ngspice branch as a whole will not be covered
by a specific license. The Ngspice team wants to encourage contributions to by a specific license. The Ngspice team wants to encourage contributions to
ngspice. We let each new developper choose its position regarding copyleft, ngspice. We let each new developer choose its position regarding copyleft,
as we respect the position of the former developpers. In order to keep things as we respect the position of the former developers. In order to keep things
clear ngspice team proposes to follow the following guidelines: clear ngspice team proposes to follow the following guidelines:
Each piece of code should be kept under its original contributor's license. Each piece of code should be kept under its original contributor's license.
As for any project, modifications made in sources covered by a less As for any project, modifications made in sources covered by a less
restrictive license can be covered by a more restrictive license, such as restrictive license can be covered by a more restrictive license than new BSD.
GPL. We do not encourage it. We do not encourage it.
If you feel to add code in a file under a different license than the rest of If you feel to add code in a file under a different license than the rest of
the file, please use comments to mark the boundaries of the modification, and the file, please use comments to mark the boundaries of the modification, and
edit the comments at the begining of the file with correct license and edit the comments at the beginning of the file with correct license and
copyright information. copyright information.
We encourage restrictive licenses to be chosen only for new functionalities, We encourage restrictive licenses to be chosen only for new functionalities,
written in distinct files, leading to distinct libraries that links depending written in distinct files, leading to distinct libraries that link depending
on a specific configure flag. on a specific configure flag.
We encourage non proliferation of licenses (e.g. choosing either GPL, LGPL or We encourage non proliferation of licenses (e.g. choosing either LGPL or
new BSD). new BSD). GPL is not suitable for code to be directly linked into ngspice,
but may be used in shared object libraries only.
This heterogenous license status makes it difficult to know which license This heterogeneous license status requires some effort to keep track on licenses
applies. Please take care of knowing which license aplies to the code you are applied. Please take care of knowing which license applies to the code you are
editing, or conveying and not to commit license infringements, especially to editing, or conveying and not to commit license infringements, especially to
GPL and LGPL which are quite restrictive. GPL and LGPL which are quite restrictive.

View File

@ -66,6 +66,7 @@ Table of contents
13.3 HICUM0 Bipolar Model 13.3 HICUM0 Bipolar Model
13.4 HICUM2 Bipolar Model 13.4 HICUM2 Bipolar Model
13.5 Mextram Bipolar Model 13.5 Mextram Bipolar Model
14. XSPICE code models
------------------ ------------------
@ -849,3 +850,5 @@ will be updated every time the device specific code is altered or changed to ref
Status: TO BE TESTED Status: TO BE TESTED
Web site at: http://mextram.ewi.tudelft.nl/ and http://mextram.sourceforge.net/ Web site at: http://mextram.ewi.tudelft.nl/ and http://mextram.sourceforge.net/
14. XSpice code models, see ngspice manual chapt. 12

134
FAQ
View File

@ -1,6 +1,6 @@
Ngspice F.A.Q.Version 1.9 (rework-25 release) Ngspice F.A.Q.Version 2.0 (ngspice 26 release)
Maintained by Paolo Nenzi, Holger Vogt Maintained by Paolo Nenzi, Holger Vogt
Last update: 22-12-2012 Last update: 02-01-2014
This document contains the Frequently Asked Questions (and Answers) This document contains the Frequently Asked Questions (and Answers)
for ngspice project. for ngspice project.
@ -11,17 +11,18 @@
1. INTRODUCTION AND GENERAL INFORMATION 1. INTRODUCTION AND GENERAL INFORMATION
1.1 What is ngspice? 1.1 What is ngspice?
1.2 What is tclspice ? 1.2 What is sharedspice?
1.3 Why resurrecting Berkeley's Spice? 1.3 What is tclspice ?
1.4 What is the project's goal? 1.4 Why resurrecting Berkeley's Spice?
1.5 What you are going to do? 1.5 What is the project's goal?
1.6 Legal issues 1.6 What you are going to do?
1.7 What mailing lists exist for ngspice? 1.7 Legal issues
1.8 Are the mailing lists archived anywhere? 1.8 What mailing lists exist for ngspice?
1.9 What newsgroups exist for ngspice? 1.9 Are the mailing lists archived anywhere?
1.10 Where can I get a copy of ngspice? 1.10 What newsgroups exist for ngspice?
1.11 Where should I look on the World Wide Web for ngspice stuff? 1.11 Where can I get a copy of ngspice?
1.12 Where should I look on the World Wide Web for Spice documentation? 1.12 Where should I look on the World Wide Web for ngspice stuff?
1.13 Where should I look on the World Wide Web for Spice documentation?
2. DEVELOPMENT 2. DEVELOPMENT
2.1 What is the current version? 2.1 What is the current version?
@ -52,8 +53,9 @@
1.1 What is ngspice ? 1.1 What is ngspice ?
Ngspice is a mixed-level/mixed-signal circuit simulator based on three Ngspice is a mixed-level/mixed-signal circuit simulator, based on three
open source software packages: Spice3f5, Cider1b1 and Xspice: open source software packages: Spice3f5, Cider1b1 and Xspice, and
including many bug fixes and enhancements:
- Spice3 is a widely used circuit simulator. It was developed by the - Spice3 is a widely used circuit simulator. It was developed by the
University of California at Berkeley (UCB), by "a cast of thousand" University of California at Berkeley (UCB), by "a cast of thousand"
@ -73,20 +75,28 @@
The NG prefix has lot of meanings: Next Generation, New Good, etc. 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 Choose or invent the one you prefer. The heart of the project is the
ngspice program. ngspice program, with its tremendous advancements.
1.2 What is tclspice ? 1.2 What is sharedspice ?
Tclspice is a circuit simulator that embeds ngspice and provides a Sharedspice is an interface option to ngspice. It compiles the simulator
tcl/tk interface to the user. Tclspice is both a batch and interactive into a shared object (or dynamic link library), providing full control
simulator and a building block for simulator applications. Analyses can of ngspice to any suitable controlling program (GUI, optimizer,
be run from a tcl script and vector plotted or post processed using tcl development system, etc., to be provided by the user).
or a small GUI can be built to analyze a circuit or a set of circuits.
1.3 What is tclspice ?
Tclspice is a another interface option of ngspice, providing a tcl/tk
interface to the user. Tclspice is both a batch and interactive simulator
and a building block for simulator applications. Analyses can be run
from a tcl script and vector plotted or post processed using tcl. A small
GUI may be built by the user to analyze a circuit or a set of circuits.
Tclspice is obtained compiling ngspice activating an additional option. Tclspice is obtained compiling ngspice activating an additional option.
1.3 Why resurrecting Berkeley's Spice? 1.4 Why resurrecting Berkeley's Spice?
Berkeley's Spice can be considered the father of most circuit Berkeley's Spice can be considered the father of most circuit
simulators available today. It is an old but still good piece of simulators available today. It is an old but still good piece of
@ -99,7 +109,7 @@
its source code in the past made this simulator the de-facto standard. its source code in the past made this simulator the de-facto standard.
1.4 What is the project's goal? 1.5 What is the project's goal?
Ngspice is both a maintenance and enhancement project. It is a maintenance Ngspice is both a maintenance and enhancement project. It is a maintenance
project because it aims to provide the free EDA community the best spice3 project because it aims to provide the free EDA community the best spice3
@ -110,7 +120,7 @@
capabilities) and user interface are other goals. capabilities) and user interface are other goals.
1.5 What you are going to do? 1.6 What you are going to do?
An official roadmap for ngspice was never drawn. Contributions made by An official roadmap for ngspice was never drawn. Contributions made by
developers drive ngspice development and the roadmap is built day by developers drive ngspice development and the roadmap is built day by
@ -119,7 +129,7 @@
+ Compatibility: Ngspice should be compatible with commercial products, + Compatibility: Ngspice should be compatible with commercial products,
thus allowing people to use the netlist generated for such tools. As thus allowing people to use the netlist generated for such tools. As
most of the commercial simulators avaiable tracked each other in netlist most of the commercial simulators available tracked each other in netlist
language, this should not be an impossible task. The most important goal language, this should not be an impossible task. The most important goal
here is to provide a reliable support for model libraries coming from here is to provide a reliable support for model libraries coming from
foundries. foundries.
@ -135,28 +145,29 @@
Spice3f manual, available on the Internet has been used as the basis Spice3f manual, available on the Internet has been used as the basis
for the new manual. It will be constantly improved during ngspice for the new manual. It will be constantly improved during ngspice
development and integrated with the documentation accompanying Xspice development and integrated with the documentation accompanying Xspice
and Cider. This is a very time consuming task and probably the and Cider. The ngspice manual today contains description of all
documentation will always be left slightly behind. features ngspice is offering. It is however not a tutorial of ngspice
usage, but there are now several good ones available on the internet
(see http://ngspice.sourceforge.net/tutorials.html).
1.6 Legal issues 1.7 Legal issues
Ngspice, starting from release rework-18 is released under BSD/LGPL The ngspice base license is new BSD, as provided by UCB. For some parts
license. Part of the code are covered by other compatible licenses: of the code other compatible licences apply. Please see file COPYING
spice3 and cider are BSD, xspice is Public Domain and TCLSPICE is for details.
LGPL and the copyright is of their respective owners (need to write better)
1.7. What mailing lists exist for ngspice? 1.8 What mailing lists exist for ngspice?
There are two general mailing lists dedicated to the ngspice project. There are two general mailing lists dedicated to the ngspice project.
Users mailing list: <ngspice-users@lists.sourceforge.net> Users mailing list: <ngspice-users@lists.sourceforge.net>
This list is for ngspice users, examples, problems, bug reports This list is for ngspice users. Examples, problems, bug reports
and general discussion on ngspice can be sent here. and general discussion on ngspice can be sent here.
Developers mailing list: <ngspice-devel@lists.sourceforge.net> Developers mailing list: <ngspice-devel@lists.sourceforge.net>
The list dedicated to ngspice development. Developers shold The list is dedicated to ngspice development. Developers should
subscribe here, to follow the program development. May be used subscribe here, to follow the program development. May be used
to send patches, and technical discussion on ngspice. to send patches, and technical discussion on ngspice.
@ -176,64 +187,49 @@
http://www.gnu.org/software/mailman/mailman-member http://www.gnu.org/software/mailman/mailman-member
1.8. Are the mailing lists archived anywhere ? 1.9 Are the mailing lists archived anywhere ?
Yes, the lists are archived. There are two places where to look for Yes, the lists are archived. There are two places where to look for
archives. The project started on the IEEE Central and South Italy archives. The project started on the IEEE Central and South Italy
web server and then moved to sourceforge. Sourceforge provides an web server and then moved to sourceforge. Sourceforge provides an
archiving service that cam be accessed via the summary page: archiving service that cam be accessed via the summary page:
http://sourceforge.net/projects/ngspice http://sourceforge.net/p/ngspice/mailman/
(look for the "Lists" link). Old messages from the pre-sourceforge
age are available at:
http://ngspice.sourceforge.net/lists.html
1.9. What newsgroups exist for ngspice?
There is no ngspice specific newsgroup. Anyway ngspice threads appear 1.10 What newsgroups exist for ngspice?
on newsgroups dedicated to circuit simulation and electronic design.
An (incomplete) list is:
sci.electronics.cad There is no ngspice specific newsgroup. Sourceforge offers additional
comp.lsi.cad discussion groups for ngspice, please see
http://sourceforge.net/p/ngspice/discussion/
ngspice threads may appear on newsgroups dedicated to circuit
simulation and electronic design.
1.10. Where can I get a copy of ngspice? 1.11 Where can I get a copy of ngspice?
You can download ngspice from: You can download ngspice from:
http://sourceforge.net/projects/ngspice http://sourceforge.net/projects/ngspice/files/ng-spice-rework/
1.11. Where should I look on the World Wide Web for ngspice stuff? 1.12 Where should I look on the World Wide Web for ngspice stuff?
Look at the official Ngpice Web Page: Look at the official Ngpice Web Page:
http://ngspice.sourceforge.net http://ngspice.sourceforge.net
1.12. Where should I look on the World Wide Web for Spice documentation? 1.13 Where should I look on the World Wide Web for Spice documentation?
There is a detailed ngspice manual available at: There is a detailed ngspice manual available at:
http://ngspice.sourceforge.net/docs.html http://ngspice.sourceforge.net/docs.html
There are a lot of Internet sites that have information on spice. The Others docs are assembled at:
best way is to ask your preferred search engine. Some interesting http://ngspice.sourceforge.net/literature.html
sites are:
Pages on Spice:
http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/
http://embedded.eecs.berkeley.edu/pubs/downloads/spice/index.htm
http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/index.html#toc
Xspice Page:
http://users.ece.gatech.edu/~mrichard/Xspice
Cider Page:
http://embedded.eecs.berkeley.edu/pubs/downloads/cider/index.htm
@ -244,7 +240,7 @@
The latest version released is: The latest version released is:
* ngspice-rework-25 (released on 04/01/2013) * ngspice-26 (released on 04/01/2013)
2.2. What are the latest features in the current release? 2.2. What are the latest features in the current release?
@ -288,7 +284,7 @@
2.3. What does it look like? 2.3. What does it look like?
Ngspice, as the original Spice3 (and Xspice and Cider) is a command Ngspice, as the original Spice3 (and Xspice and Cider) is a command
line simulator. line simulator, but with a graphics output capability.
2.4. Who are the authors of ngspice? 2.4. Who are the authors of ngspice?

38
INSTALL
View File

@ -5,7 +5,7 @@ Table of contents
1 Ngspice installation (LINUX) 1 Ngspice installation (LINUX)
1.1 Prerequisites 1.1 Prerequisites
1.2 Install from tarball (e.g. ngspice-25.tar.gz) 1.2 Install from tarball (e.g. ngspice-26.tar.gz)
1.3 Install from git repository 1.3 Install from git repository
1.4 Advanced Install 1.4 Advanced Install
1.4.1 Most useful options 1.4.1 Most useful options
@ -41,7 +41,7 @@ This file describes the procedures to install ngspice from sources.
bison, flex, and X11 headers and libs. bison, flex, and X11 headers and libs.
If you want to compile the source from the git repository you need If you want to compile the source from the git repository you need
additional software: autoconf, automake, libtool, texinfo. additional software: autoconf, automake, libtool, texinfo, readline.
The following software may be needed when enabling additional features: The following software may be needed when enabling additional features:
editline, tcl/tk, adms editline, tcl/tk, adms
@ -51,14 +51,14 @@ This file describes the procedures to install ngspice from sources.
information on ngspice and its usage. information on ngspice and its usage.
1.2 Install from tarball (e.g. ngspice-25.tar.gz) 1.2 Install from tarball (e.g. ngspice-26.tar.gz)
This covers installation from a release distribution (for example This covers installation from a release distribution (for example
ngspice-25.tar.gz, the so called tar ball). ngspice-26.tar.gz, the so called tar ball).
After downloading the tar ball to a local directory unpack it using: After downloading the tar ball to a local directory unpack it using:
$ tar -zxvf ngspice-25.tar.gz $ tar -zxvf ngspice-26.tar.gz
Now change directories in to the top-level source directory (where this Now change directories in to the top-level source directory (where this
INSTALL file can be found). INSTALL file can be found).
@ -99,12 +99,12 @@ This file describes the procedures to install ngspice from sources.
This section describes how to install from source code taken directly This section describes how to install from source code taken directly
from the git repository. It is intended for those who want to use the most from the git repository. It is intended for those who want to use the most
recent enahancements of ngspice and for developers. For user install recent enhancements of ngspice and for developers. For user install
instructions using source from a released distributions, please see the instructions using source from a released distributions, please see the
sections titled 'Install from tarball' and 'Advanced Install'. sections titled 'Install from tarball' and 'Advanced Install'.
Download ngspice sources from the git repository as described on the sourceforge project page Download ngspice sources from the git repository as described on the sourceforge project page
(see http://sourceforge.net/projects/ngspice/ and click on the git link) (see http://ngspice.sourceforge.net/download.html and click on the git link)
Now change directories in to the top-level source directory (where this Now change directories in to the top-level source directory (where this
INSTALL file can be found). INSTALL file can be found).
@ -115,7 +115,7 @@ This file describes the procedures to install ngspice from sources.
$ ./autogen.sh $ ./autogen.sh
$ mkdir debug $ mkdir debug
$ cd debug $ cd debug
$ ../configure --enable-maintainer-mode $ ../configure --with-x --with-readline=yes
$ make $ make
$ sudo make install $ sudo make install
@ -123,7 +123,7 @@ This file describes the procedures to install ngspice from sources.
that can be passed to ./configure to customise the build and installation. that can be passed to ./configure to customise the build and installation.
Preferred arguments to ./configure to obtain a comfortably working ngspice may be Preferred arguments to ./configure to obtain a comfortably working ngspice may be
--with-readline=yes and --disable-debug (for smaller and speed optimized --with-readline=yes and --disable-debug (for a smaller and speed optimized
executable). executable).
A fully featured ngspice on LINUX may be obtained with the following commands: A fully featured ngspice on LINUX may be obtained with the following commands:
@ -134,8 +134,8 @@ This file describes the procedures to install ngspice from sources.
$ make 2>&1 | tee make.log $ make 2>&1 | tee make.log
$ sudo make install $ sudo make install
If a problem is found with the build proccess, please submit a report to If a problem is found with the build process, please submit a report to
the Ngspice development team. Please provide information about your system the ngspice development team. Please provide information about your system
and any ./configure arguments you are using, together with any error and any ./configure arguments you are using, together with any error
messages. Ideally you would have tried to fix the problem yourself first. messages. Ideally you would have tried to fix the problem yourself first.
If you have fixed the problem then the development team will love to hear If you have fixed the problem then the development team will love to hear
@ -451,8 +451,8 @@ Most of the options now following are not well maintained, are not tested or eve
to the standard install (FLEX and BISON have to be made available in MSYS). to the standard install (FLEX and BISON have to be made available in MSYS).
Some links are given below which describe the procedures. Some links are given below which describe the procedures.
Installing from the tarball, e.g. ngspice-25.tar.gz, is now simple: After Installing from the tarball, e.g. ngspice-26.tar.gz, is now simple: After
expanding, you may just run ./compile_min.sh from the ngspice-25 directory. expanding, you may just run ./compile_min.sh from the ngspice-26 directory.
The default installation location of ngspice is the Windows path The default installation location of ngspice is the Windows path
C:\spice. The install path can be altered by passing --prefix=NEWPATH C:\spice. The install path can be altered by passing --prefix=NEWPATH
@ -466,14 +466,14 @@ Most of the options now following are not well maintained, are not tested or eve
The procedure of compiling a distribution (for example, a tarball from The procedure of compiling a distribution (for example, a tarball from
the ngspice website), is as follows: the ngspice website), is as follows:
$ cd ngspice-25 $ cd ngspice-26
$ mkdir release $ mkdir release
$ cd release $ cd release
$ ../configure --with-wingui ...and other options $ ../configure --with-wingui ...and other options
$ make $ make
$ make install $ make install
The useful options are: The most useful options are:
--enable-xspice --enable-xspice
--enable-cider --enable-cider
--disable-debug (-O2 optimization, no debug information) --disable-debug (-O2 optimization, no debug information)
@ -486,9 +486,10 @@ Most of the options now following are not well maintained, are not tested or eve
$ make install $ make install
However, to compile code extracted from the git repository the procedure is However, to compile code extracted from the git repository the procedure is
a little different. To obtain ngspice, you may do the following: a little different. Firstly install git, e.g. from http://git-scm.com/download/win
To obtain ngspice, you may do the following:
Go to a directory of your choice, e.g. D:\Spice Open the git command window. Go to a directory of your choice, e.g. D:\Spice
$ cd /d/Spice $ cd /d/Spice
Issue the command for downloading ngspice: Issue the command for downloading ngspice:
@ -562,7 +563,8 @@ Most of the options now following are not well maintained, are not tested or eve
vngspice.sln (project starter) and vngspice.sln (project starter) and
vngspice.vcproj (project contents) vngspice.vcproj (project contents)
allows to compile and link ngspice with MS Visual Studio 2008. allows to compile and link ngspice with MS Visual Studio 2008.
The project is probably not compatible with Visual Studio 2005. Newer Visual Studio versions will translate the project files
into their compatible format (tested with MS Visual Studio 2010).
/visualc/include contains a dedicated config.h file. It contains the /visualc/include contains a dedicated config.h file. It contains the
preprocessor definitions required to properly compile the code. preprocessor definitions required to properly compile the code.

29
NEWS
View File

@ -1,3 +1,32 @@
Ngspice-26, Jan 4th, 2014
============
- New features:
+ fft command may (optionally) use fftw3 library
+ add nint() rounding function
+ usage of 'temper' in behavioral devices
+ check for soa (safe operating area) in several device models
+ library processing rewritten completely to enhance ngspice
compatibility (.lib)
+ include file processing rewritten to allow nesting and various
absolute and relative path names (.inc)
+ asinh, acosh, atanh functions
+ shared ngspice option added: ngspice optionally compiles as
a shared object or dynamic link library
+ use a hash table to massively speeding up finding a model
+ implement a very basic .if/.else block
+ implement a signed power function `pwr' for controlled sources
+ implement multiplier `m' in F, G source
+ apply Area Calculation Method (ACM) to the bsim3v3.3 model
+ implement `tc1', `tc2' instance parameters
- Bug fixes:
+ many, many ... please see
http://sourceforge.net/p/ngspice/ngspice/ci/master/tree/
and check the 'history' button on the upper right.
+ removed memory leaks
Ngspice-25, Jan 4th, 2013 Ngspice-25, Jan 4th, 2013
============ ============

10
README
View File

@ -13,11 +13,11 @@ Cider couples Spice3f5 circuit level simulator to DSIM device simulator
to provide greater simulation accuracy of critical devices. DSIM to provide greater simulation accuracy of critical devices. DSIM
devices are described in terms of their structures and materials. devices are described in terms of their structures and materials.
Xspice is an extension to Spice3C1 that provides code modeling support Xspice is an extension to Spice3C1 that provides code modelling support
and simulation of digital components through an embedded event driven and simulation of digital components through an embedded event driven
algorithm. algorithm.
Ngspice is, anyway, a little more than the simple sum of the packages Ngspice is, anyway, much more than the simple sum of the packages
above, as many people contributed to the project with their experience, above, as many people contributed to the project with their experience,
their bug fixes and their improvements. If you are interested, browse their bug fixes and their improvements. If you are interested, browse
the site and discover what ngspice offers and what needs. If you think the site and discover what ngspice offers and what needs. If you think
@ -45,12 +45,6 @@ MAILING LISTS:
<ngspice-devel-subscribe@lists.sourceforge.net> <ngspice-devel-subscribe@lists.sourceforge.net>
OBSOLETE MAILING LISTS:
-------------
* ngspice-bugs@list.sourceforge.net:
This list is no longer used by the ngspice maintainers. Bug reports should
go to the ngspice bug tracker.
WEB SITEs: WEB SITEs:
-------- --------

View File

@ -19,6 +19,13 @@
*Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.* *Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.*
********************************************************************************* *********************************************************************************
WARNING!
The text in this document has been prepared in 2006 and is partially outdated.
It is provided here only for reference and may provide some (historical)
information.
Welcome to tclspice README_tcl Welcome to tclspice README_tcl
This file acompanies ngspice sources starting with ngspice-rework-18. It This file acompanies ngspice sources starting with ngspice-rework-18. It
@ -57,7 +64,7 @@ tk : the graphical extension of tcl, to represent data graphically and for GUIs
blt : BLT toolkit gives number handling and plotting features to tcl/tk blt : BLT toolkit gives number handling and plotting features to tcl/tk
The most tested configuration is the latest: The most tested configuration is the latest:
tclspice-25 tclspice-26
tcl 8.4 tcl 8.4
tk 8.4 tk 8.4
blt 2.4 blt 2.4

View File

@ -1,5 +1,11 @@
SPICE 2 POLY CODEMODEL SPICE 2 POLY CODEMODEL
WARNING!
The text in this document has been prepared in 2003 and is outdated. It is
provided here only for reference and may provide some (historical)
information.
SPICE2 POLY attributes are now available for controlled sources. To SPICE2 POLY attributes are now available for controlled sources. To
use POLY attributes, configure tclspice/ngspice with the use POLY attributes, configure tclspice/ngspice with the
--enable-xspice flag set as described above. After compilation of --enable-xspice flag set as described above. After compilation of