whitespace
This commit is contained in:
parent
cda86d9b82
commit
b19641dcc2
72
ANALYSES
72
ANALYSES
|
|
@ -7,7 +7,7 @@ This file lists the analyses currently implemented into ngspice.
|
||||||
|
|
||||||
Table of Contents
|
Table of Contents
|
||||||
|
|
||||||
1 Noise analysis (NOISE)
|
1 Noise analysis (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
|
3.1 Enhancements
|
||||||
|
|
@ -24,85 +24,85 @@ Table of Contents
|
||||||
1 Noise analysis (NOISE)
|
1 Noise analysis (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
|
||||||
within the device) to the output port voltage. It also calculates the input
|
within the device) to the output port voltage. It also calculates the input
|
||||||
noise to the circuit, equivalent to the output noise referred to the
|
noise to the circuit, equivalent to the output noise referred to the
|
||||||
specified input source. This is done for every frequency point in a specified
|
specified input source. This is done for every frequency point in a specified
|
||||||
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.
|
||||||
|
|
||||||
|
|
||||||
2 Operating point analysis (OP)
|
2 Operating point analysis (OP)
|
||||||
|
|
||||||
The operating point analysis determines the dc operating point of the
|
The operating point analysis determines the dc operating point of the
|
||||||
circuit with inductors shorted and capacitors opened.
|
circuit with inductors shorted and capacitors opened.
|
||||||
|
|
||||||
|
|
||||||
3 Operating point sweep Analysis (DC)
|
3 Operating point sweep Analysis (DC)
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
3.1 Enhancements
|
3.1 Enhancements
|
||||||
|
|
||||||
Added resistance and temperature sweep.
|
Added resistance and temperature sweep.
|
||||||
|
|
||||||
|
|
||||||
4 Pole-zero analysis (PZ)
|
4 Pole-zero analysis (PZ)
|
||||||
|
|
||||||
The pole-zero analysis computes the poles and/or zeros in the small-signal
|
The pole-zero analysis computes the poles and/or zeros in the small-signal
|
||||||
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.
|
||||||
|
|
||||||
|
|
||||||
5 Small-Signal distortion analysis (DISTO)
|
5 Small-Signal distortion analysis (DISTO)
|
||||||
|
|
||||||
The distortion analysis computes steady-state harmonic and intermodulation
|
The distortion analysis computes steady-state harmonic and intermodulation
|
||||||
products for small input signal magnitudes. Not all devices are supported.
|
products for small input signal magnitudes. Not all devices are supported.
|
||||||
|
|
||||||
|
|
||||||
6 Small Signal frequency response analysis (AC)
|
6 Small Signal frequency response analysis (AC)
|
||||||
|
|
||||||
The ac small-signal computes the ac output variables as a function of
|
The ac small-signal computes the ac output variables as a function of
|
||||||
frequency. The program first computes the dc operating point of the circuit
|
frequency. The program first computes the dc operating point of the circuit
|
||||||
and determines linearized, small-signal models for all of the nonlinear
|
and determines linearized, small-signal models for all of the nonlinear
|
||||||
devices in the circuit. The resultant linear circuit is then analyzed over a
|
devices in the circuit. The resultant linear circuit is then analyzed over a
|
||||||
user-specified range of frequencies.
|
user-specified range of frequencies.
|
||||||
|
|
||||||
|
|
||||||
7 Sensitivity analysis (SENS)
|
7 Sensitivity analysis (SENS)
|
||||||
|
|
||||||
Ngspice will calculate either the DC operating-point sensitivity or the AC
|
Ngspice will calculate either the DC operating-point sensitivity or the AC
|
||||||
small-signal sensitivity of an output variable with respect to all circuit
|
small-signal sensitivity of an output variable with respect to all circuit
|
||||||
variables, including model parameters. Spice calculates the difference in an
|
variables, including model parameters. Spice calculates the difference in an
|
||||||
output variable (either a node voltage or a branch current) by perturbing
|
output variable (either a node voltage or a branch current) by perturbing
|
||||||
each parameter of each device independently.
|
each parameter of each device independently.
|
||||||
|
|
||||||
|
|
||||||
8 Transfer function analysis (TF)
|
8 Transfer function analysis (TF)
|
||||||
|
|
||||||
The (small signal) transfer function analysis computes the dc small-signal
|
The (small signal) transfer function analysis computes the dc small-signal
|
||||||
value of a transfer function (ratio of output variable to input source),
|
value of a transfer function (ratio of output variable to input source),
|
||||||
input resistance, and output resistance is also computed as a part of the dc
|
input resistance, and output resistance is also computed as a part of the dc
|
||||||
solution.
|
solution.
|
||||||
|
|
||||||
|
|
||||||
9 Transient analysis (TRAN)
|
9 Transient analysis (TRAN)
|
||||||
|
|
||||||
The transient analysis computes the transient output variables as a
|
The transient analysis computes the transient output variables as a
|
||||||
function of time over a user-specified time interval. The initial conditions
|
function of time over a user-specified time interval. The initial conditions
|
||||||
are automatically determined by a dc analysis. All sources which are not time
|
are automatically determined by a dc analysis. All sources which are not time
|
||||||
dependent (for example, power supplies) are set to their dc value.
|
dependent (for example, power supplies) are set to their dc value.
|
||||||
|
|
||||||
|
|
||||||
10 Periodic steady state analysis (PSS)
|
10 Periodic steady state analysis (PSS)
|
||||||
|
|
||||||
The periodic steady state analysis computes solutions for oscillating
|
The periodic steady state analysis computes solutions for oscillating
|
||||||
circuits. Currently only the autonomous case is implemented.
|
circuits. Currently only the autonomous case is implemented.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
2
AUTHORS
2
AUTHORS
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Spice was originally written at The University of California at Berkeley (USA).
|
Spice was originally written at The University of California at Berkeley (USA).
|
||||||
Since then, there have been many people working on the software, most of them
|
Since then, there have been many people working on the software, most of them
|
||||||
releasing patches to the original code through the Internet.
|
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:
|
||||||
|
|
|
||||||
16
BUGS
16
BUGS
|
|
@ -5,16 +5,16 @@ How to submit a bug report:
|
||||||
|
|
||||||
There are two methods to report a bug you have discovered in ngspice:
|
There are two methods to report a bug you have discovered in ngspice:
|
||||||
|
|
||||||
* Bug tracker: This is the preferred method of reporting a bug.
|
* Bug tracker: This is the preferred method of reporting a bug.
|
||||||
Using the tracker on Sourceforge.net site will make your report
|
Using the tracker on Sourceforge.net site will make your report
|
||||||
open by everyone and the chances of finding a fix will increase.
|
open by everyone and the chances of finding a fix will increase.
|
||||||
|
|
||||||
* ngspice-devel list: If you are a member of this list, you can write
|
* ngspice-devel list: If you are a member of this list, you can write
|
||||||
directly to the developers' list. Do not subscribe to the list only
|
directly to the developers' list. Do not subscribe to the list only
|
||||||
for sending bug reports.
|
for sending bug reports.
|
||||||
|
|
||||||
Before sending a bug report please note: all information you send to the bug
|
Before sending a bug report please note: all information you send to the bug
|
||||||
tracking system or on the mailing lists is public. If you need to send
|
tracking system or on the mailing lists is public. If you need to send
|
||||||
sensitive information, send them to a developer directly but still write non
|
sensitive information, send them to a developer directly but still write non
|
||||||
sensitive data on the bug tracking system to keep track of bug history.
|
sensitive data on the bug tracking system to keep track of bug history.
|
||||||
|
|
||||||
|
|
@ -29,7 +29,7 @@ OPEN BUGS:
|
||||||
The pole-zero (.pz) analysis, which still uses the original spice3f5
|
The pole-zero (.pz) analysis, which still uses the original spice3f5
|
||||||
algorithms, does not give correct results for all tested input files.
|
algorithms, does not give correct results for all tested input files.
|
||||||
The effort to correct that issue seems to be large.
|
The effort to correct that issue seems to be large.
|
||||||
|
|
||||||
|
|
||||||
* voltage (and current) controlled switches need better timing
|
* voltage (and current) controlled switches need better timing
|
||||||
|
|
||||||
|
|
|
||||||
120
COPYING
120
COPYING
|
|
@ -1,82 +1,82 @@
|
||||||
12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||||
Ngspice-25
|
Ngspice-25
|
||||||
Copyright (c) 2012,
|
Copyright (c) 2012,
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
|
|
||||||
Foreword:
|
Foreword:
|
||||||
Spice's name was originally chosen at the University of California, Berkeley.
|
Spice's name was originally chosen at the University of California, Berkeley.
|
||||||
As it is the basis of almost all circuit simulators, the major part of the
|
As it 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, is the way to live with
|
||||||
that diversity. For release 25 as well, we choose not to relicense.
|
that diversity. For release 25 as well, we choose not to relicense.
|
||||||
|
|
||||||
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 developper 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 developpers. 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, such as
|
||||||
GPL. We do not encourage it.
|
GPL. 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 begining 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 links 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 GPL, LGPL or
|
||||||
new BSD).
|
new BSD).
|
||||||
|
|
||||||
This heterogenous license status makes it difficult to know which license
|
This heterogenous license status makes it difficult to know which license
|
||||||
applies. Please take care of knowing which license aplies to the code you are
|
applies. Please take care of knowing which license aplies 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.
|
||||||
|
|
||||||
On 2007, July 17th spice 3f5 changed from its original license to the new BSD
|
On 2007, July 17th spice 3f5 changed from its original license to the new BSD
|
||||||
license. (http://embedded.eecs.berkeley.edu/pubs/downloads/spice/index.htm)
|
license. (http://embedded.eecs.berkeley.edu/pubs/downloads/spice/index.htm)
|
||||||
|
|
||||||
On 2008, December 1st, tclspice changes license from GPL to LGPLv2, in
|
On 2008, December 1st, tclspice changes license from GPL to LGPLv2, in
|
||||||
accordance with Multigig Ltd, the copyright holder.
|
accordance with Multigig Ltd, the copyright holder.
|
||||||
|
|
||||||
The following table is just a reminder on license status, please don't rely
|
The following table is just a reminder on license status, please don't rely
|
||||||
on it:
|
on it:
|
||||||
Author License Notes
|
Author License Notes
|
||||||
|
|
||||||
numparam Georg Post LGPL Applies to the code in
|
numparam Georg Post LGPL Applies to the code in
|
||||||
frontend/numparam
|
frontend/numparam
|
||||||
adms Laurent Lemaitre LGPL Applies to scripts in the
|
adms Laurent Lemaitre LGPL Applies to scripts in the
|
||||||
spicelib/dev/adms
|
spicelib/dev/adms
|
||||||
tclspice Stefan Jones LGPL TCL integration
|
tclspice Stefan Jones LGPL TCL integration
|
||||||
cider U. of California Old BSD Device level simulator
|
cider U. of California Old BSD Device level simulator
|
||||||
xspice Georgia Tech. Public D Mixed signals
|
xspice Georgia Tech. Public D Mixed signals
|
||||||
spice U. of California New BSD Analog circuit simulation
|
spice U. of California New BSD Analog circuit simulation
|
||||||
|
|
||||||
|
|
||||||
---------------------------------- Cider -----------------------------------
|
---------------------------------- Cider -----------------------------------
|
||||||
|
|
||||||
RESEARCH SOFTWARE AGREEMENT
|
RESEARCH SOFTWARE AGREEMENT
|
||||||
|
|
||||||
This file specifies the terms under which the software and
|
This file specifies the terms under which the software and
|
||||||
documentation provided with this distribution are provided.
|
documentation provided with this distribution are provided.
|
||||||
|
|
||||||
Software is distributed as is, completely without warranty
|
Software is distributed as is, completely without warranty
|
||||||
or service support. The University of California and its employ-
|
or service support. The University of California and its employ-
|
||||||
ees are not liable for the condition or performance of the
|
ees are not liable for the condition or performance of the
|
||||||
software.
|
software.
|
||||||
|
|
||||||
The University does not warrant that it owns the copyright
|
The University does not warrant that it owns the copyright
|
||||||
or other proprietary rights to all software and documentation
|
or other proprietary rights to all software and documentation
|
||||||
provided under this agreement, notwithstanding any copyright
|
provided under this agreement, notwithstanding any copyright
|
||||||
|
|
@ -84,35 +84,35 @@ spice U. of California New BSD Analog circuit simulation
|
||||||
or proprietary rights brought by third parties against the reci-
|
or proprietary rights brought by third parties against the reci-
|
||||||
pient of the software and documentation provided under this
|
pient of the software and documentation provided under this
|
||||||
agreement.
|
agreement.
|
||||||
|
|
||||||
THE UNIVERSITY OF CALIFORNIA HEREBY DISCLAIMS ALL IMPLIED
|
THE UNIVERSITY OF CALIFORNIA HEREBY DISCLAIMS ALL IMPLIED
|
||||||
WARRANTIES, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
WARRANTIES, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
AND FITNESS FOR A PARTICULAR PURPOSE. THE UNIVERSITY IS NOT
|
AND FITNESS FOR A PARTICULAR PURPOSE. THE UNIVERSITY IS NOT
|
||||||
LIABLE FOR ANY DAMAGES INCURRED BY THE RECIPIENT IN USE OF THE
|
LIABLE FOR ANY DAMAGES INCURRED BY THE RECIPIENT IN USE OF THE
|
||||||
SOFTWARE AND DOCUMENTATION, INCLUDING DIRECT, INDIRECT, SPECIAL,
|
SOFTWARE AND DOCUMENTATION, INCLUDING DIRECT, INDIRECT, SPECIAL,
|
||||||
INCIDENTAL, OR CONSEQUENTIAL DAMAGES.
|
INCIDENTAL, OR CONSEQUENTIAL DAMAGES.
|
||||||
|
|
||||||
The University of California grants the recipient the right
|
The University of California grants the recipient the right
|
||||||
to modify, copy, and redistribute the software and documentation,
|
to modify, copy, and redistribute the software and documentation,
|
||||||
both within the recipient's organization and externally, subject
|
both within the recipient's organization and externally, subject
|
||||||
to the following restrictions:
|
to the following restrictions:
|
||||||
|
|
||||||
|
|
||||||
(a) The recipient agrees not to charge for the University of
|
(a) The recipient agrees not to charge for the University of
|
||||||
California code itself. The recipient may, however, charge
|
California code itself. The recipient may, however, charge
|
||||||
for additions, extensions, or support.
|
for additions, extensions, or support.
|
||||||
|
|
||||||
(b) In any product based on the software, the recipient agrees
|
(b) In any product based on the software, the recipient agrees
|
||||||
to acknowledge the research group that developed the
|
to acknowledge the research group that developed the
|
||||||
software. This acknowledgement shall appear in the product
|
software. This acknowledgement shall appear in the product
|
||||||
documentation.
|
documentation.
|
||||||
|
|
||||||
(c) The recipient agrees to obey all U.S. Government restric-
|
(c) The recipient agrees to obey all U.S. Government restric-
|
||||||
tions governing redistribution or export of the software and
|
tions governing redistribution or export of the software and
|
||||||
documentation.
|
documentation.
|
||||||
|
|
||||||
|
|
||||||
---------------------------------- Spice3f5 --------------------------------
|
---------------------------------- Spice3f5 --------------------------------
|
||||||
|
|
||||||
Copyright (c) 1985-1991 The Regents of the University of California.
|
Copyright (c) 1985-1991 The Regents of the University of California.
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
@ -135,8 +135,8 @@ MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
||||||
|
|
||||||
-------------------------------- Tclspice --------------------------------
|
-------------------------------- Tclspice --------------------------------
|
||||||
|
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
Version 2.1, February 1999
|
Version 2.1, February 1999
|
||||||
|
|
||||||
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
@ -147,7 +147,7 @@ MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
||||||
as the successor of the GNU Library Public License, version 2, hence
|
as the successor of the GNU Library Public License, version 2, hence
|
||||||
the version number 2.1.]
|
the version number 2.1.]
|
||||||
|
|
||||||
Preamble
|
Preamble
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
The licenses for most software are designed to take away your
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
|
@ -249,7 +249,7 @@ modification follow. Pay close attention to the difference between a
|
||||||
former contains code derived from the library, whereas the latter must
|
former contains code derived from the library, whereas the latter must
|
||||||
be combined with the library in order to run.
|
be combined with the library in order to run.
|
||||||
|
|
||||||
GNU LESSER GENERAL PUBLIC LICENSE
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
0. This License Agreement applies to any software library or other
|
0. This License Agreement applies to any software library or other
|
||||||
|
|
@ -283,7 +283,7 @@ such a program is covered only if its contents constitute a work based
|
||||||
on the Library (independent of the use of the Library in a tool for
|
on the Library (independent of the use of the Library in a tool for
|
||||||
writing it). Whether that is true depends on what the Library does
|
writing it). Whether that is true depends on what the Library does
|
||||||
and what the program that uses the Library does.
|
and what the program that uses the Library does.
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Library's
|
1. You may copy and distribute verbatim copies of the Library's
|
||||||
complete source code as you receive it, in any medium, provided that
|
complete source code as you receive it, in any medium, provided that
|
||||||
you conspicuously and appropriately publish on each copy an
|
you conspicuously and appropriately publish on each copy an
|
||||||
|
|
@ -569,7 +569,7 @@ decision will be guided by the two goals of preserving the free status
|
||||||
of all derivatives of our free software and of promoting the sharing
|
of all derivatives of our free software and of promoting the sharing
|
||||||
and reuse of software generally.
|
and reuse of software generally.
|
||||||
|
|
||||||
NO WARRANTY
|
NO WARRANTY
|
||||||
|
|
||||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||||
|
|
@ -593,17 +593,17 @@ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||||
DAMAGES.
|
DAMAGES.
|
||||||
|
|
||||||
---------------------------------- Xspice --------------------------------
|
---------------------------------- Xspice --------------------------------
|
||||||
THE SOFTWARE PROGRAMS BELOW ARE IN THE PUBLIC DOMAIN AND ARE PROVIDED FREE OF
|
THE SOFTWARE PROGRAMS BELOW ARE IN THE PUBLIC DOMAIN AND ARE PROVIDED FREE OF
|
||||||
ANY CHARGE. THE GEORGIA TECH RESEARCH CORPORATION, THE GEORGIA INSTITUTE OF
|
ANY CHARGE. THE GEORGIA TECH RESEARCH CORPORATION, THE GEORGIA INSTITUTE OF
|
||||||
TECHNOLOGY, AND/OR OTHER PARTIES PROVIDE THIS SOFTWARE "AS IS" WITHOUT WARRANTY
|
TECHNOLOGY, AND/OR OTHER PARTIES PROVIDE THIS SOFTWARE "AS IS" WITHOUT WARRANTY
|
||||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
|
||||||
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH THE USER.
|
ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH THE USER.
|
||||||
SHOULD THE PROGRAM PROVE DEFECTIVE, THE USER ASSUMES THE ENTIRE COST OF ALL
|
SHOULD THE PROGRAM PROVE DEFECTIVE, THE USER ASSUMES THE ENTIRE COST OF ALL
|
||||||
NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT WILL THE GEORGIA TECH
|
NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT WILL THE GEORGIA TECH
|
||||||
RESEARCH CORPORATION, THE GEORGIA INSTITUTE OF TECHNOLOGY, AND/OR OTHER PARTIES
|
RESEARCH CORPORATION, THE GEORGIA INSTITUTE OF TECHNOLOGY, AND/OR OTHER PARTIES
|
||||||
PROVIDING THE PROGRAMS BELOW BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
PROVIDING THE PROGRAMS BELOW BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
|
||||||
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
|
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
|
||||||
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||||
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS).
|
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS).
|
||||||
|
|
|
||||||
84
DEVICES
84
DEVICES
|
|
@ -27,7 +27,7 @@ Table of contents
|
||||||
5.2 SW - Voltage controlled switch
|
5.2 SW - Voltage controlled switch
|
||||||
6. Diodes
|
6. Diodes
|
||||||
6.1 DIO - Junction Diode
|
6.1 DIO - Junction Diode
|
||||||
7. Bipolar devices
|
7. Bipolar devices
|
||||||
7.1 BJT - Bipolar Junction Transistor
|
7.1 BJT - Bipolar Junction Transistor
|
||||||
7.2 BJT2 - Bipolar Junction Transistor
|
7.2 BJT2 - Bipolar Junction Transistor
|
||||||
7.3 VBIC - Bipolar Junction Transistor
|
7.3 VBIC - Bipolar Junction Transistor
|
||||||
|
|
@ -79,7 +79,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
|
|
||||||
2.1 CAP - Linear capacitor
|
2.1 CAP - Linear capacitor
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: C
|
Class: C
|
||||||
Level: 1 (and only)
|
Level: 1 (and only)
|
||||||
|
|
@ -96,7 +96,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
|
|
||||||
2.2 IND - Linear Inductor
|
2.2 IND - Linear Inductor
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: L
|
Class: L
|
||||||
Level: 1 (and only)
|
Level: 1 (and only)
|
||||||
|
|
@ -163,7 +163,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
- Does not implement parallel code switches.
|
- Does not implement parallel code switches.
|
||||||
|
|
||||||
3.3 TRA - Transmission line
|
3.3 TRA - Transmission line
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: T
|
Class: T
|
||||||
Level: 1 (and only)
|
Level: 1 (and only)
|
||||||
|
|
@ -206,7 +206,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
4. Voltage and current sources
|
4. Voltage and current sources
|
||||||
|
|
||||||
4.1 ASRC - Arbitrary Source
|
4.1 ASRC - Arbitrary Source
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: B
|
Class: B
|
||||||
Level: 1 (and only)
|
Level: 1 (and only)
|
||||||
|
|
@ -218,7 +218,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
current of current-controlled generators.
|
current of current-controlled generators.
|
||||||
|
|
||||||
4.2 CCCS - Current Controlled Current Source
|
4.2 CCCS - Current Controlled Current Source
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: F
|
Class: F
|
||||||
Level: 1 (and only)
|
Level: 1 (and only)
|
||||||
|
|
@ -228,7 +228,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
- Original spice model.
|
- Original spice model.
|
||||||
|
|
||||||
4.3 CCVS - Current Controlled Voltage Source
|
4.3 CCVS - Current Controlled Voltage Source
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: H
|
Class: H
|
||||||
Level: 1 (and only)
|
Level: 1 (and only)
|
||||||
|
|
@ -239,7 +239,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
|
|
||||||
4.4 ISRC - Independent Current Source
|
4.4 ISRC - Independent Current Source
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: I
|
Class: I
|
||||||
Level: 1 (and only)
|
Level: 1 (and only)
|
||||||
|
|
@ -292,7 +292,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
5. Switches
|
5. Switches
|
||||||
|
|
||||||
5.1 CSW - Current controlled switch
|
5.1 CSW - Current controlled switch
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: W
|
Class: W
|
||||||
Level: 1 (and only)
|
Level: 1 (and only)
|
||||||
|
|
@ -331,7 +331,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
- Temperature correction of some parameters
|
- Temperature correction of some parameters
|
||||||
|
|
||||||
|
|
||||||
7. Bipolar devices
|
7. Bipolar devices
|
||||||
|
|
||||||
7.1 BJT - Bipolar Junction Transistor
|
7.1 BJT - Bipolar Junction Transistor
|
||||||
|
|
||||||
|
|
@ -365,14 +365,14 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
- Different area parameters for collector, base and emitter
|
- Different area parameters for collector, base and emitter
|
||||||
|
|
||||||
7.3 VBIC - Bipolar Junction Transistor
|
7.3 VBIC - Bipolar Junction Transistor
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: Q
|
Class: Q
|
||||||
Level: 4 & 9
|
Level: 4 & 9
|
||||||
Dir: devices/vbic
|
Dir: devices/vbic
|
||||||
Status:
|
Status:
|
||||||
|
|
||||||
This is the Vertical Bipolar InterCompany model in version 1.2. The author
|
This is the Vertical Bipolar InterCompany model in version 1.2. The author
|
||||||
of VBIC is Colin McAndrew mcandrew@ieee.org.
|
of VBIC is Colin McAndrew mcandrew@ieee.org.
|
||||||
Spice3 Implementation: Dietmar Warning DAnalyse GmbH
|
Spice3 Implementation: Dietmar Warning DAnalyse GmbH
|
||||||
Web Site: http://www.designers-guide.com/VBIC/index.html
|
Web Site: http://www.designers-guide.com/VBIC/index.html
|
||||||
|
|
@ -417,10 +417,10 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
9. HFET Devices
|
9. HFET Devices
|
||||||
|
|
||||||
Added code from macspice3f4 HFET1&2 and MESA model
|
Added code from macspice3f4 HFET1&2 and MESA model
|
||||||
Original note:
|
Original note:
|
||||||
Added device calls for Mesfet models and HFET models
|
Added device calls for Mesfet models and HFET models
|
||||||
provided by Trond Ytterdal as of Nov 98
|
provided by Trond Ytterdal as of Nov 98
|
||||||
|
|
||||||
9.1 HFET1 - Heterostructure Field Effect Transistor Level 1
|
9.1 HFET1 - Heterostructure Field Effect Transistor Level 1
|
||||||
|
|
||||||
|
|
@ -432,7 +432,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
This is the Heterostructure Field Effect Transistor model from:
|
This is the Heterostructure Field Effect Transistor model from:
|
||||||
K. Lee, M. Shur, T. A. Fjeldly and T. Ytterdal
|
K. Lee, M. Shur, T. A. Fjeldly and T. Ytterdal
|
||||||
"Semiconductor Device Modeling in VLSI",
|
"Semiconductor Device Modeling in VLSI",
|
||||||
1993, Prentice Hall, New Jersey
|
1993, Prentice Hall, New Jersey
|
||||||
|
|
||||||
Enhancements over the original model:
|
Enhancements over the original model:
|
||||||
|
|
@ -460,7 +460,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
10. MES devices
|
10. MES devices
|
||||||
|
|
||||||
10.1 MES - MESFET model
|
10.1 MES - MESFET model
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: Z
|
Class: Z
|
||||||
Level: 1
|
Level: 1
|
||||||
|
|
@ -474,10 +474,10 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
- Alan Gillespie junction diodes implementation
|
- Alan Gillespie junction diodes implementation
|
||||||
|
|
||||||
|
|
||||||
Added code from macspice3f4 HFET1&2 and MESA model
|
Added code from macspice3f4 HFET1&2 and MESA model
|
||||||
Original note:
|
Original note:
|
||||||
Added device calls for Mesfet models and HFET models
|
Added device calls for Mesfet models and HFET models
|
||||||
provided by Trond Ytterdal as of Nov 98
|
provided by Trond Ytterdal as of Nov 98
|
||||||
|
|
||||||
10.2 MESA - MESFET model (MacSpice3f4)
|
10.2 MESA - MESFET model (MacSpice3f4)
|
||||||
|
|
||||||
|
|
@ -500,7 +500,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
11. MOS devices
|
11. MOS devices
|
||||||
|
|
||||||
11.1 MOS1 - Level 1 MOS model
|
11.1 MOS1 - Level 1 MOS model
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: M
|
Class: M
|
||||||
Level: 1
|
Level: 1
|
||||||
|
|
@ -514,7 +514,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
- Temperature difference from circuit temperature
|
- Temperature difference from circuit temperature
|
||||||
|
|
||||||
11.2 MOS2 - Level 2 MOS model
|
11.2 MOS2 - Level 2 MOS model
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: M
|
Class: M
|
||||||
Level: 2
|
Level: 2
|
||||||
|
|
@ -562,9 +562,9 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
Dir: devices/mos9
|
Dir: devices/mos9
|
||||||
Status:
|
Status:
|
||||||
|
|
||||||
This is a slightly modified Level 3 MOSFET model.
|
This is a slightly modified Level 3 MOSFET model.
|
||||||
(Whatever the implementer have had in mind.)
|
(Whatever the implementer have had in mind.)
|
||||||
Not to confuse with Philips level 9.
|
Not to confuse with Philips level 9.
|
||||||
Enhancements over the original model:
|
Enhancements over the original model:
|
||||||
- Temperature difference from circuit temperature
|
- Temperature difference from circuit temperature
|
||||||
|
|
||||||
|
|
@ -576,7 +576,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
Level: 4
|
Level: 4
|
||||||
Dir: devices/bsim1
|
Dir: devices/bsim1
|
||||||
Status:
|
Status:
|
||||||
|
|
||||||
Enhancements over the original model:
|
Enhancements over the original model:
|
||||||
- Parallel multiplier
|
- Parallel multiplier
|
||||||
- Noise analysis
|
- Noise analysis
|
||||||
|
|
@ -589,7 +589,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
|
|
||||||
11.7 BSIM2 - BSIM model level 2
|
11.7 BSIM2 - BSIM model level 2
|
||||||
|
|
||||||
Ver: N/A
|
Ver: N/A
|
||||||
Class: M
|
Class: M
|
||||||
Level: 5
|
Level: 5
|
||||||
|
|
@ -602,7 +602,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
|
|
||||||
11.8 BSIM3v0 - BSIM model level 3
|
11.8 BSIM3v0 - BSIM model level 3
|
||||||
|
|
||||||
Ver: 3.0
|
Ver: 3.0
|
||||||
Class: M
|
Class: M
|
||||||
Level: 8 & 49, version = 3.0
|
Level: 8 & 49, version = 3.0
|
||||||
|
|
@ -644,7 +644,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
- Multirevision code (supports all 3v3.2 minor revisions)
|
- Multirevision code (supports all 3v3.2 minor revisions)
|
||||||
- NodesetFix
|
- NodesetFix
|
||||||
|
|
||||||
|
|
||||||
11.11 BSIM3 - BSIM model level 3
|
11.11 BSIM3 - BSIM model level 3
|
||||||
|
|
||||||
Ver: 3.3.0
|
Ver: 3.3.0
|
||||||
|
|
@ -668,7 +668,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
|
|
||||||
11.12 BSIM4 - BSIM model level 4
|
11.12 BSIM4 - BSIM model level 4
|
||||||
|
|
||||||
Ver: 4.2.0 - 4.6.5
|
Ver: 4.2.0 - 4.6.5
|
||||||
Class: M
|
Class: M
|
||||||
Level: 14 & 54, version = 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6
|
Level: 14 & 54, version = 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6
|
||||||
|
|
@ -684,10 +684,10 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
- Parallel Multiplier
|
- Parallel Multiplier
|
||||||
- NodesetFix
|
- NodesetFix
|
||||||
- Support for Multi-core processors using OpenMP
|
- Support for Multi-core processors using OpenMP
|
||||||
|
|
||||||
|
|
||||||
11.13 HiSIM2 - Hiroshima-university STARC IGFET Model
|
11.13 HiSIM2 - Hiroshima-university STARC IGFET Model
|
||||||
|
|
||||||
Ver: 2.7.0
|
Ver: 2.7.0
|
||||||
Class: M
|
Class: M
|
||||||
Level: 61, 68
|
Level: 61, 68
|
||||||
|
|
@ -701,7 +701,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
|
|
||||||
11.14 HiSIM_HV - Hiroshima-University STARC IGFET High Voltage Model
|
11.14 HiSIM_HV - Hiroshima-University STARC IGFET High Voltage Model
|
||||||
|
|
||||||
Ver: 1.2.3
|
Ver: 1.2.3
|
||||||
Class: M
|
Class: M
|
||||||
Level: 62, 73
|
Level: 62, 73
|
||||||
|
|
@ -733,7 +733,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
|
|
||||||
12.2 BSIM3SOI_DD - SOI Model (dynamic depletion model)
|
12.2 BSIM3SOI_DD - SOI Model (dynamic depletion model)
|
||||||
|
|
||||||
Ver: 2.1
|
Ver: 2.1
|
||||||
Class: M
|
Class: M
|
||||||
Level: 56
|
Level: 56
|
||||||
|
|
@ -755,7 +755,7 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
Dir: devices/bsim3soi_pd
|
Dir: devices/bsim3soi_pd
|
||||||
Status: TO BE TESTED.
|
Status: TO BE TESTED.
|
||||||
|
|
||||||
PD model has been integrated. There is a bsim3soipd directory
|
PD model has been integrated. There is a bsim3soipd directory
|
||||||
under the test hierarchy. Test circuits come from the bsim3soi
|
under the test hierarchy. Test circuits come from the bsim3soi
|
||||||
|
|
||||||
Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi
|
Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi
|
||||||
|
|
@ -763,27 +763,27 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
|
|
||||||
12.4 BSIMSOI - Berkeley SOI model (partially/full depleted devices)
|
12.4 BSIMSOI - Berkeley SOI model (partially/full depleted devices)
|
||||||
|
|
||||||
Ver: 4.3.1
|
Ver: 4.3.1
|
||||||
Class: M
|
Class: M
|
||||||
Level: 10 & 58
|
Level: 10 & 58
|
||||||
Dir: devices/bsim3soi
|
Dir: devices/bsim3soi
|
||||||
Status: o.k.
|
Status: o.k.
|
||||||
|
|
||||||
This is the actual version from Berkeley. This version is
|
This is the actual version from Berkeley. This version is
|
||||||
backward compatible with its previous versions BSIMSOI3.x.
|
backward compatible with its previous versions BSIMSOI3.x.
|
||||||
Usable for partially/full depleted devices.
|
Usable for partially/full depleted devices.
|
||||||
|
|
||||||
Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi
|
Web site at: http://www-device.eecs.berkeley.edu/~bsimsoi
|
||||||
|
|
||||||
Enhancements over the original model:
|
Enhancements over the original model:
|
||||||
- Parallel Multiplier
|
- Parallel Multiplier
|
||||||
- Support for Multi-core processors using OpenMP
|
- Support for Multi-core processors using OpenMP
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
12.5 SOI3 - STAG SOI3 Model
|
12.5 SOI3 - STAG SOI3 Model
|
||||||
|
|
||||||
Ver: 2.6
|
Ver: 2.6
|
||||||
Class: M
|
Class: M
|
||||||
Level: 61
|
Level: 61
|
||||||
|
|
@ -794,9 +794,9 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
13. Verilog-A models
|
13. Verilog-A models
|
||||||
|
|
||||||
Configuring ngspice with ADMS (see Readme.adms) following
|
Configuring ngspice with ADMS (see Readme.adms) following
|
||||||
devices are available:
|
devices are available:
|
||||||
|
|
||||||
13.1 EKV MOS Model
|
13.1 EKV MOS Model
|
||||||
|
|
||||||
Ver: 2.6
|
Ver: 2.6
|
||||||
|
|
@ -806,9 +806,9 @@ will be updated every time the device specific code is altered or changed to ref
|
||||||
|
|
||||||
EKV version based on a contribution of Ivan Riis Nielsen 11/2006
|
EKV version based on a contribution of Ivan Riis Nielsen 11/2006
|
||||||
|
|
||||||
Web site at: http://legwww.epfl.ch/ekv/
|
Web site at: http://legwww.epfl.ch/ekv/
|
||||||
(but EPFL is not publishing any usefull code)
|
(but EPFL is not publishing any usefull code)
|
||||||
|
|
||||||
|
|
||||||
13.2 PSP MOS Model
|
13.2 PSP MOS Model
|
||||||
|
|
||||||
|
|
|
||||||
204
FAQ
204
FAQ
|
|
@ -52,117 +52,117 @@
|
||||||
|
|
||||||
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:
|
||||||
|
|
||||||
- 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"
|
||||||
(as they say) initially under the guide of Donald O. Peterson.
|
(as they say) initially under the guide of Donald O. Peterson.
|
||||||
|
|
||||||
- Cider is a mixed-level simulator that already includes Spice3f5 and
|
- Cider is a mixed-level simulator that already includes Spice3f5 and
|
||||||
adds a device simulator to it: DSIM. Cider couples the circuit level
|
adds a device simulator to it: DSIM. Cider couples the circuit level
|
||||||
simulator to the device simulator to provide greater simulation
|
simulator to the device simulator to provide greater simulation
|
||||||
accuracy (at the expense of greater simulation time). Critical
|
accuracy (at the expense of greater simulation time). Critical
|
||||||
devices can be described with technology parameters (numerical
|
devices can be described with technology parameters (numerical
|
||||||
models) and non critical ones with the original spice's compact
|
models) and non critical ones with the original spice's compact
|
||||||
models.
|
models.
|
||||||
|
|
||||||
- Xspice is an extension to Spice3 that provides code modeling support
|
- Xspice is an extension to Spice3 that provides code modeling support
|
||||||
and simulation of digital components through an embedded event
|
and simulation of digital components through an embedded event
|
||||||
driven algorithm.
|
driven algorithm.
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
|
|
||||||
1.2 What is tclspice ?
|
1.2 What is tclspice ?
|
||||||
|
|
||||||
Tclspice is a circuit simulator that embeds ngspice and provides a
|
Tclspice is a circuit simulator that embeds ngspice and provides a
|
||||||
tcl/tk interface to the user. Tclspice is both a batch and interactive
|
tcl/tk interface to the user. Tclspice is both a batch and interactive
|
||||||
simulator and a building block for simulator applications. Analyses can
|
simulator and a building block for simulator applications. Analyses can
|
||||||
be run from a tcl script and vector plotted or post processed using tcl
|
be run from a tcl script and vector plotted or post processed using tcl
|
||||||
or a small GUI can be built to analyze a circuit or a set of circuits.
|
or a small GUI can be built 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.3 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
|
||||||
software, it may not be the fastest or the most reliable but it's
|
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
|
free, it's available in source code and most of the electrical
|
||||||
simulators inherited it's syntax. Spice3 is based on proven numerical
|
simulators inherited it's syntax. Spice3 is based on proven numerical
|
||||||
algorithms (most commercial implementations have only strengthened
|
algorithms (most commercial implementations have only strengthened
|
||||||
them), implements most of the models for MOSFET submicron design
|
them), implements most of the models for MOSFET submicron design
|
||||||
and has a powerful set of analyses. The readily availability of
|
and has a powerful set of analyses. The readily availability of
|
||||||
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.4 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
|
||||||
simulator available. This means fixing bugs, adding new features but always
|
simulator available. This means fixing bugs, adding new features but always
|
||||||
in the spice3 framework. Achieving compatibility with commercial spice based
|
in the spice3 framework. Achieving compatibility with commercial spice based
|
||||||
simulators and provide users the latest devices models are important goals
|
simulators and provide users the latest devices models are important goals
|
||||||
of the project. Improvements in the postprocessing (data handling
|
of the project. Improvements in the postprocessing (data handling
|
||||||
capabilities) and user interface are other goals.
|
capabilities) and user interface are other goals.
|
||||||
|
|
||||||
|
|
||||||
1.5 What you are going to do?
|
1.5 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
|
||||||
day by developers writing on the lists. Ngspice development activity
|
day by developers writing on the lists. Ngspice development activity
|
||||||
can be summarized in 3 points:
|
can be summarized in 3 points:
|
||||||
|
|
||||||
+ 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 avaiable 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.
|
||||||
|
|
||||||
+ Compact models: The interest in using ngspice is intimately connected
|
+ Compact models: The interest in using ngspice is intimately connected
|
||||||
to the available models. To provide the latest models available for
|
to the available models. To provide the latest models available for
|
||||||
active and passive devices is a fundamental goal of the project. In
|
active and passive devices is a fundamental goal of the project. In
|
||||||
this direction we are integrating ADMS model compiler into ngspice.
|
this direction we are integrating ADMS model compiler into ngspice.
|
||||||
|
|
||||||
+ Documentation: Commercial simulators come with very good manuals
|
+ Documentation: Commercial simulators come with very good manuals
|
||||||
containing tutorials, description of models equations, example of
|
containing tutorials, description of models equations, example of
|
||||||
use, suggestions, etc. Spice came with little documentation. The
|
use, suggestions, etc. Spice came with little documentation. The
|
||||||
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. This is a very time consuming task and probably the
|
||||||
documentation will always be left slightly behind.
|
documentation will always be left slightly behind.
|
||||||
|
|
||||||
|
|
||||||
1.6 Legal issues
|
1.6 Legal issues
|
||||||
|
|
||||||
Ngspice, starting from release rework-18 is released under BSD/LGPL
|
Ngspice, starting from release rework-18 is released under BSD/LGPL
|
||||||
license. Part of the code are covered by other compatible licenses:
|
license. Part of the code are covered by other compatible licenses:
|
||||||
spice3 and cider are BSD, xspice is Public Domain and TCLSPICE is
|
spice3 and cider are BSD, xspice is Public Domain and TCLSPICE is
|
||||||
LGPL and the copyright is of their respective owners (need to write better)
|
LGPL and the copyright is of their respective owners (need to write better)
|
||||||
|
|
||||||
|
|
||||||
1.7. What mailing lists exist for ngspice?
|
1.7. 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 dedicated to ngspice development. Developers shold
|
||||||
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.
|
||||||
|
|
||||||
Send an empty message with Subject "help" to the following addresses
|
Send an empty message with Subject "help" to the following addresses
|
||||||
to get instructions.
|
to get instructions.
|
||||||
|
|
||||||
<ngspice-users-request@lists.sourceforge.net>
|
<ngspice-users-request@lists.sourceforge.net>
|
||||||
<ngspice-devel-request@lists.sourceforge.net>
|
<ngspice-devel-request@lists.sourceforge.net>
|
||||||
|
|
||||||
|
|
@ -182,13 +182,13 @@
|
||||||
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/projects/ngspice
|
||||||
|
|
||||||
(look for the "Lists" link). Old messages from the pre-sourceforge
|
(look for the "Lists" link). Old messages from the pre-sourceforge
|
||||||
age are available at:
|
age are available at:
|
||||||
|
|
||||||
http://ngspice.sourceforge.net/lists.html
|
http://ngspice.sourceforge.net/lists.html
|
||||||
|
|
||||||
|
|
||||||
1.9. What newsgroups exist for ngspice?
|
1.9. What newsgroups exist for ngspice?
|
||||||
|
|
@ -196,9 +196,9 @@
|
||||||
There is no ngspice specific newsgroup. Anyway ngspice threads appear
|
There is no ngspice specific newsgroup. Anyway ngspice threads appear
|
||||||
on newsgroups dedicated to circuit simulation and electronic design.
|
on newsgroups dedicated to circuit simulation and electronic design.
|
||||||
An (incomplete) list is:
|
An (incomplete) list is:
|
||||||
|
|
||||||
sci.electronics.cad
|
sci.electronics.cad
|
||||||
comp.lsi.cad
|
comp.lsi.cad
|
||||||
|
|
||||||
|
|
||||||
1.10. Where can I get a copy of ngspice?
|
1.10. Where can I get a copy of ngspice?
|
||||||
|
|
@ -211,24 +211,24 @@
|
||||||
1.11. Where should I look on the World Wide Web for ngspice stuff?
|
1.11. 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.12. 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
|
There are a lot of Internet sites that have information on spice. The
|
||||||
best way is to ask your preferred search engine. Some interesting
|
best way is to ask your preferred search engine. Some interesting
|
||||||
sites are:
|
sites are:
|
||||||
|
|
||||||
Pages on Spice:
|
Pages on Spice:
|
||||||
http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/
|
http://bwrc.eecs.berkeley.edu/Classes/IcBook/SPICE/
|
||||||
http://embedded.eecs.berkeley.edu/pubs/downloads/spice/index.htm
|
http://embedded.eecs.berkeley.edu/pubs/downloads/spice/index.htm
|
||||||
http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/index.html#toc
|
http://newton.ex.ac.uk/teaching/CDHW/Electronics2/userguide/index.html#toc
|
||||||
|
|
||||||
Xspice Page:
|
Xspice Page:
|
||||||
http://users.ece.gatech.edu/~mrichard/Xspice
|
http://users.ece.gatech.edu/~mrichard/Xspice
|
||||||
|
|
||||||
|
|
@ -242,42 +242,42 @@
|
||||||
|
|
||||||
2.1. What is the current version?
|
2.1. What is the current version?
|
||||||
|
|
||||||
The latest version released is:
|
The latest version released is:
|
||||||
|
|
||||||
* ngspice-rework-25 (released on 04/01/2013)
|
* ngspice-rework-25 (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?
|
||||||
|
|
||||||
- New features:
|
- New features:
|
||||||
+ add temperature coefficients for B source
|
+ add temperature coefficients for B source
|
||||||
+ commands "mdump", "mrdump" to dump matrix to file
|
+ commands "mdump", "mrdump" to dump matrix to file
|
||||||
+ allow `time', `temper', and `hertz' in expressions with behavioral R, L, C
|
+ allow `time', `temper', and `hertz' in expressions with behavioral R, L, C
|
||||||
+ Enable ctrl-c to interrupt a simulation also for Windows GUI
|
+ Enable ctrl-c to interrupt a simulation also for Windows GUI
|
||||||
+ tests/bsim4: use the standard CMC model check
|
+ tests/bsim4: use the standard CMC model check
|
||||||
+ implement exit code for command "quit"
|
+ implement exit code for command "quit"
|
||||||
+ .nodeset all = value
|
+ .nodeset all = value
|
||||||
+ memristor code model in extradev
|
+ memristor code model in extradev
|
||||||
+ new scalable diode model including tunnel component
|
+ new scalable diode model including tunnel component
|
||||||
+ variable xtrtol may override the XSPICE reduction of trtol
|
+ variable xtrtol may override the XSPICE reduction of trtol
|
||||||
+ XSPICE example: delta-sigma converter
|
+ XSPICE example: delta-sigma converter
|
||||||
+ XSPICE: new d_source model
|
+ XSPICE: new d_source model
|
||||||
+ new option noopac
|
+ new option noopac
|
||||||
+ bsim3: make additonal parameters accessible with @mxx[par]
|
+ bsim3: make additonal parameters accessible with @mxx[par]
|
||||||
+ enable Mac OS X compilation
|
+ enable Mac OS X compilation
|
||||||
+ option reseries = val
|
+ option reseries = val
|
||||||
+ commands "snsave", "snload"
|
+ commands "snsave", "snload"
|
||||||
+ update hisim to version 2.7.0, new qa tests
|
+ update hisim to version 2.7.0, new qa tests
|
||||||
+ hisimhv update to version 1.2.3, new qa tests
|
+ hisimhv update to version 1.2.3, new qa tests
|
||||||
+ allow Ctrl-d to quit
|
+ allow Ctrl-d to quit
|
||||||
+ jfet model temperature extension, tcv and bex parameter
|
+ jfet model temperature extension, tcv and bex parameter
|
||||||
+ speed up vector handling by hash table for vector address storage and retrieval
|
+ speed up vector handling by hash table for vector address storage and retrieval
|
||||||
+ update PSS code
|
+ update PSS code
|
||||||
|
|
||||||
|
|
||||||
- Bug fixes:
|
- Bug fixes:
|
||||||
+ many, many ... please see
|
+ many, many ... please see
|
||||||
http://ngspice.git.sourceforge.net/git/gitweb.cgi?p=ngspice/ngspice;a=shortlog;pg=0
|
http://ngspice.git.sourceforge.net/git/gitweb.cgi?p=ngspice/ngspice;a=shortlog;pg=0
|
||||||
+ remove memory leaks
|
+ remove memory leaks
|
||||||
+ update tclspice for MS Windows
|
+ update tclspice for MS Windows
|
||||||
+ adms3 removed due to licensing issues
|
+ adms3 removed due to licensing issues
|
||||||
|
|
@ -293,11 +293,11 @@
|
||||||
|
|
||||||
2.4. Who are the authors of ngspice?
|
2.4. Who are the authors of ngspice?
|
||||||
|
|
||||||
The development is open to anyone who wish to contribute. If the
|
The development is open to anyone who wish to contribute. If the
|
||||||
original Spice3 was made with the contribution of "a cast of
|
original Spice3 was made with the contribution of "a cast of
|
||||||
thousand", ngspice can only increase that number. An incomplete
|
thousand", ngspice can only increase that number. An incomplete
|
||||||
list of contributor makes the "acknowledgements" page of the ngspice
|
list of contributor makes the "acknowledgements" page of the ngspice
|
||||||
manual.
|
manual.
|
||||||
|
|
||||||
|
|
||||||
2.5. How can I report a bug/request for a feature?
|
2.5. How can I report a bug/request for a feature?
|
||||||
|
|
@ -308,14 +308,14 @@
|
||||||
it allows to track all necessary actions upon a bug. The web site at
|
it allows to track all necessary actions upon a bug. The web site at
|
||||||
http://ngspice.sourceforge.net/bugrep.html will give you more details.
|
http://ngspice.sourceforge.net/bugrep.html will give you more details.
|
||||||
|
|
||||||
|
|
||||||
2.6. How can I join the development?
|
2.6. How can I join the development?
|
||||||
|
|
||||||
To join the development just code the feature you want to add and send
|
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
|
your patch in the mailing list. Before you start coding check the
|
||||||
latest development release of ngspice from our git repository.
|
latest development release of ngspice from our git repository.
|
||||||
It might be that your feature has already been implemented.
|
It might be that your feature has already been implemented.
|
||||||
|
|
||||||
There is no bureaucracy here.
|
There is no bureaucracy here.
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -327,21 +327,21 @@
|
||||||
|
|
||||||
Ngspice is written in C, and uses some GNU extensions, then you need
|
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
|
a GNU C compiler and a UNIX environment to compile it. Ngspice can
|
||||||
be compiled under Windows using the mingw or cygwin environment as
|
be compiled under Windows using the mingw or cygwin environment as
|
||||||
well as MS Visual Studio.
|
well as MS Visual Studio.
|
||||||
|
|
||||||
|
|
||||||
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?
|
||||||
|
|
||||||
This is a one-million-euros question :).
|
This is a one-million-euros question :).
|
||||||
|
|
||||||
Write a mail to the user's list describing the problem and providing
|
Write a mail to the user's list describing the problem and providing
|
||||||
information on the type of hardware, the flavour of operating system.
|
information on the type of hardware, the flavour of operating system.
|
||||||
|
|
||||||
|
|
||||||
3.3. This document didn't answer my question. Where else can I look
|
3.3. This document didn't answer my question. Where else can I look
|
||||||
for an answer?
|
for an answer?
|
||||||
|
|
||||||
Read old messages from the mailing list archive, search the web site
|
Read old messages from the mailing list archive, search the web site
|
||||||
or read the docs. Upgrade to the latest version of ngspice, many
|
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
|
problems are fixed in the new versions. If you still can't find an
|
||||||
|
|
|
||||||
244
INSTALL
244
INSTALL
|
|
@ -23,7 +23,7 @@ Table of contents
|
||||||
9.2 make ngspice with MS Visual Studio 2008
|
9.2 make ngspice with MS Visual Studio 2008
|
||||||
9.3 make ngspice with pure CYGWIN
|
9.3 make ngspice with pure CYGWIN
|
||||||
9.4 ngspice console app with MINGW or CYGWIN
|
9.4 ngspice console app with MINGW or CYGWIN
|
||||||
|
|
||||||
|
|
||||||
This file describes the procedures to install ngspice from sources.
|
This file describes the procedures to install ngspice from sources.
|
||||||
|
|
||||||
|
|
@ -35,66 +35,66 @@ This file describes the procedures to install ngspice from sources.
|
||||||
|
|
||||||
Ngspice is written in C and thus a complete C compilation environment
|
Ngspice is written in C and thus a complete C compilation environment
|
||||||
is needed. Almost any LINUX offers a complete C development environment.
|
is needed. Almost any LINUX offers a complete C development environment.
|
||||||
Ngspice is developed on GNU/Linux with gcc and GNU make.
|
Ngspice is developed on GNU/Linux with gcc and GNU make.
|
||||||
|
|
||||||
The following software must be installed in your system to compile ngspice:
|
The following software must be installed in your system to compile ngspice:
|
||||||
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.
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
Please have a look at the actual ngspice manual, downloadable at
|
Please have a look at the actual ngspice manual, downloadable at
|
||||||
http://ngspice.sourceforge.net/docs.html, which gives you much more
|
http://ngspice.sourceforge.net/docs.html, which gives you much more
|
||||||
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-25.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-25.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-25.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).
|
||||||
|
|
||||||
You should be able to do:
|
You should be able to do:
|
||||||
|
|
||||||
$ mkdir release
|
$ mkdir release
|
||||||
$ cd release
|
$ cd release
|
||||||
$ ../configure --with-x --with-readline=yes --disable-debug
|
$ ../configure --with-x --with-readline=yes --disable-debug
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
|
|
||||||
The default install directory for executables is /usr/local/bin.
|
The default install directory for executables is /usr/local/bin.
|
||||||
|
|
||||||
A simple ../configure might be sufficient for a basic ngspice, but the preferred
|
A simple ../configure might be sufficient for a basic ngspice, but the preferred
|
||||||
arguments to ../configure are
|
arguments to ../configure are
|
||||||
--with-x --with-readline=yes and --disable-debug
|
--with-x --with-readline=yes and --disable-debug
|
||||||
providing you with a comfortably working ngspice (see section 1.4 for details).
|
providing you with a comfortably working ngspice (see section 1.4 for details).
|
||||||
|
|
||||||
See the section titled 'Advanced Install' for instructions about additional arguments
|
See the section titled 'Advanced Install' for instructions about additional arguments
|
||||||
that can be passed to ../configure to customise the build and installation.
|
that can be passed to ../configure to customise the build and installation.
|
||||||
|
|
||||||
Do not use the script ./autogen.sh, because it is not required for
|
Do not use the script ./autogen.sh, because it is not required for
|
||||||
compiling and installing ngspice from the tarball.
|
compiling and installing ngspice from the tarball.
|
||||||
|
|
||||||
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:
|
||||||
$ mkdir release
|
$ mkdir release
|
||||||
$ cd release
|
$ cd release
|
||||||
$ ../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-openmp
|
$ ../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-openmp
|
||||||
$ make 2>&1 | tee make.log
|
$ make 2>&1 | tee make.log
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
|
|
||||||
To remove the executables and libraries from the install directory, you may call
|
To remove the executables and libraries from the install directory, you may call
|
||||||
$ sudo make uninstall
|
$ sudo make uninstall
|
||||||
|
|
||||||
|
|
||||||
1.3 Install from the git repository
|
1.3 Install from the git repository
|
||||||
|
|
||||||
This section describes how to install from source code taken directly
|
This section describes how to install from source code taken directly
|
||||||
|
|
@ -109,7 +109,7 @@ This file describes the procedures to install ngspice from sources.
|
||||||
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).
|
||||||
|
|
||||||
The project uses the GNU build process. The compile output should go into a separate
|
The project uses the GNU build process. The compile output should go into a separate
|
||||||
directory, so to e.g. maintain separate debug and release versions.
|
directory, so to e.g. maintain separate debug and release versions.
|
||||||
|
|
||||||
$ ./autogen.sh
|
$ ./autogen.sh
|
||||||
|
|
@ -118,14 +118,14 @@ This file describes the procedures to install ngspice from sources.
|
||||||
$ ../configure --enable-maintainer-mode
|
$ ../configure --enable-maintainer-mode
|
||||||
$ make
|
$ make
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
|
|
||||||
See the section titled 'Advanced Install' for instructions about arguments
|
See the section titled 'Advanced Install' for instructions about arguments
|
||||||
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 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:
|
||||||
$ ./autogen.sh --adms
|
$ ./autogen.sh --adms
|
||||||
$ mkdir release
|
$ mkdir release
|
||||||
|
|
@ -133,14 +133,14 @@ This file describes the procedures to install ngspice from sources.
|
||||||
$ ../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-openmp --enable-adms
|
$ ../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-openmp --enable-adms
|
||||||
$ 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 proccess, 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
|
||||||
from you.
|
from you.
|
||||||
|
|
||||||
|
|
||||||
1.4 Advanced Install
|
1.4 Advanced Install
|
||||||
|
|
||||||
|
|
@ -148,52 +148,52 @@ This file describes the procedures to install ngspice from sources.
|
||||||
options do:
|
options do:
|
||||||
|
|
||||||
$ ./configure --help
|
$ ./configure --help
|
||||||
|
|
||||||
Some of these options are generic to the GNU build process that is used by
|
Some of these options are generic to the GNU build process that is used by
|
||||||
Ngspice, other are specific to Ngspice.
|
Ngspice, other are specific to Ngspice.
|
||||||
|
|
||||||
The following sections provide some guidance and descriptions for many,
|
The following sections provide some guidance and descriptions for many,
|
||||||
but not all, of these options.
|
but not all, of these options.
|
||||||
|
|
||||||
1.4.1 Most useful options:
|
1.4.1 Most useful options:
|
||||||
|
|
||||||
--enable-adms
|
--enable-adms
|
||||||
ADMS is an experimental model compiler that translates
|
ADMS is an experimental model compiler that translates
|
||||||
Verilog-A compact models into C code that can be compiled into
|
Verilog-A compact models into C code that can be compiled into
|
||||||
ngspice. This is (as of ngspice-25) still experimental, some
|
ngspice. This is (as of ngspice-25) still experimental, some
|
||||||
features (e.g. noise) are missing. If you want to use it, please
|
features (e.g. noise) are missing. If you want to use it, please
|
||||||
refer to the ADMS section on ngspice web site.
|
refer to the ADMS section on ngspice web site.
|
||||||
|
|
||||||
--enable-cider
|
--enable-cider
|
||||||
Cider is a mixed-level simulator that couples Spice3 and DSIM
|
Cider is a mixed-level simulator that couples Spice3 and DSIM
|
||||||
to simulate devices from their technological parameters.
|
to simulate devices from their technological parameters.
|
||||||
|
|
||||||
--enable-xspice
|
--enable-xspice
|
||||||
Enable XSpice enhancements,
|
Enable XSpice enhancements,
|
||||||
A mixed signal simulator built upon spice3 with codemodel
|
A mixed signal simulator built upon spice3 with codemodel
|
||||||
dynamic loading support. See the ngspice manual for details.
|
dynamic loading support. See the ngspice manual for details.
|
||||||
|
|
||||||
--with-readline=yes
|
--with-readline=yes
|
||||||
Enable GNU readline support for the command line interface.
|
Enable GNU readline support for the command line interface.
|
||||||
|
|
||||||
--enable-openmp
|
--enable-openmp
|
||||||
Compile ngspice for multi-core processors.
|
Compile ngspice for multi-core processors.
|
||||||
Parallelization is done by OpenMP, for MOS models in BSIM3.3.0
|
Parallelization is done by OpenMP, for MOS models in BSIM3.3.0
|
||||||
BSIM4.6.0 and and BSOI4 only. See the ngspice manual for details.
|
BSIM4.6.0 and and BSOI4 only. See the ngspice manual for details.
|
||||||
|
|
||||||
--disable-debug
|
--disable-debug
|
||||||
This option will remove the '-g' option passed to the compiler
|
This option will remove the '-g' option passed to the compiler
|
||||||
and add -O2 optimisation (instead of default O0).
|
and add -O2 optimisation (instead of default O0).
|
||||||
This speeds up simulating significantly, and is recommended for
|
This speeds up simulating significantly, and is recommended for
|
||||||
normal use.
|
normal use.
|
||||||
|
|
||||||
|
|
||||||
1.4.2 Options Specific to Using Ngspice
|
1.4.2 Options Specific to Using Ngspice
|
||||||
|
|
||||||
Most of the options now following are not well maintained, are not tested or even maybe obsolete.
|
Most of the options now following are not well maintained, are not tested or even maybe obsolete.
|
||||||
|
|
||||||
--enable-capbypass
|
--enable-capbypass
|
||||||
Bypass calculation of cbd/cbs in the mosfets if the vbs/vbd
|
Bypass calculation of cbd/cbs in the mosfets if the vbs/vbd
|
||||||
voltages are unchanged.
|
voltages are unchanged.
|
||||||
|
|
||||||
--enable-cluster
|
--enable-cluster
|
||||||
|
|
@ -201,24 +201,24 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
contribution never tested. This code comes from TCLspice
|
contribution never tested. This code comes from TCLspice
|
||||||
implementation and is implemented for transient analysis only.
|
implementation and is implemented for transient analysis only.
|
||||||
|
|
||||||
--enable-expdevices
|
--enable-expdevices
|
||||||
Enable experimental devices. This option is used by developers
|
Enable experimental devices. This option is used by developers
|
||||||
to mask devices under development. Almost useless for users.
|
to mask devices under development. Almost useless for users.
|
||||||
|
|
||||||
--enable-experimental
|
--enable-experimental
|
||||||
This enables some experimental code. Specifically it enables:
|
This enables some experimental code. Specifically it enables:
|
||||||
* The ability to save and load snapshots: adds
|
* The ability to save and load snapshots: adds
|
||||||
interactive keywords 'savesnap' and 'loadsnap'.
|
interactive keywords 'savesnap' and 'loadsnap'.
|
||||||
|
|
||||||
--enable-help
|
--enable-help
|
||||||
Force building nghelp. This is deprecated.
|
Force building nghelp. This is deprecated.
|
||||||
|
|
||||||
--enable-ndev
|
--enable-ndev
|
||||||
Enable NDEV interface, (experimental, needs updating)
|
Enable NDEV interface, (experimental, needs updating)
|
||||||
A TCP/IP interface to external device simulator such as GSS.
|
A TCP/IP interface to external device simulator such as GSS.
|
||||||
For more information, please visit the homepage of GSS at
|
For more information, please visit the homepage of GSS at
|
||||||
http://gss-tcad.sourceforge.net
|
http://gss-tcad.sourceforge.net
|
||||||
|
|
||||||
--enable-newpred
|
--enable-newpred
|
||||||
Enable the NEWPRED symbol in the code.
|
Enable the NEWPRED symbol in the code.
|
||||||
|
|
||||||
|
|
@ -230,10 +230,10 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
|
|
||||||
--enable-nobypass
|
--enable-nobypass
|
||||||
Don't bypass recalculations of slowly changing variables
|
Don't bypass recalculations of slowly changing variables
|
||||||
|
|
||||||
--enable-predictor
|
--enable-predictor
|
||||||
Enable a predictor method for convergence
|
Enable a predictor method for convergence
|
||||||
|
|
||||||
--enable-sense2
|
--enable-sense2
|
||||||
Use spice2 sensitivity analysis
|
Use spice2 sensitivity analysis
|
||||||
|
|
||||||
|
|
@ -246,7 +246,7 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
See http://www.thrysoee.dk/editline/
|
See http://www.thrysoee.dk/editline/
|
||||||
|
|
||||||
--with-tcl=tcldir
|
--with-tcl=tcldir
|
||||||
When configured with this option the tcl module
|
When configured with this option the tcl module
|
||||||
"tclspice" is compiled and installed instead of
|
"tclspice" is compiled and installed instead of
|
||||||
plain ngspice.
|
plain ngspice.
|
||||||
|
|
||||||
|
|
@ -259,18 +259,18 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
No graphics inetrface is provided, this has to be
|
No graphics inetrface is provided, this has to be
|
||||||
handled by the controlling application.
|
handled by the controlling application.
|
||||||
|
|
||||||
|
|
||||||
1.4.3 Options Useful for Debugging Ngspice
|
1.4.3 Options Useful for Debugging Ngspice
|
||||||
|
|
||||||
--enable-ansi
|
--enable-ansi
|
||||||
Configure will try to find an option for your compiler so that
|
Configure will try to find an option for your compiler so that
|
||||||
it expects ansi-C.
|
it expects ansi-C.
|
||||||
|
|
||||||
--enable-asdebug
|
--enable-asdebug
|
||||||
Debug sensitivity code *ASDEBUG*.
|
Debug sensitivity code *ASDEBUG*.
|
||||||
|
|
||||||
--enable-blktmsdebug
|
--enable-blktmsdebug
|
||||||
Debug distortion code *BLOCKTIMES*
|
Debug distortion code *BLOCKTIMES*
|
||||||
|
|
||||||
--enable-checkergcc
|
--enable-checkergcc
|
||||||
Option for compilation with checkergcc.
|
Option for compilation with checkergcc.
|
||||||
|
|
@ -280,18 +280,18 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
|
|
||||||
--disable-debug
|
--disable-debug
|
||||||
This option will remove the '-g' option passed to the compiler.
|
This option will remove the '-g' option passed to the compiler.
|
||||||
This speeds up compilation a *lot*, and is recommended for
|
This speeds up compilation a *lot*, and is recommended for
|
||||||
normal use.
|
normal use.
|
||||||
|
|
||||||
--enable-ftedebug
|
--enable-ftedebug
|
||||||
Enable ngspice frontend debug.
|
Enable ngspice frontend debug.
|
||||||
|
|
||||||
--enable-gc
|
--enable-gc
|
||||||
Enable the Boehm-Weiser Conservative Garbage Collector.
|
Enable the Boehm-Weiser Conservative Garbage Collector.
|
||||||
|
|
||||||
--enable-pzdebug
|
--enable-pzdebug
|
||||||
Debug pole/zero code.
|
Debug pole/zero code.
|
||||||
|
|
||||||
--enable-sensdebug
|
--enable-sensdebug
|
||||||
Debug sensitivity code *SENSDEBUG*.
|
Debug sensitivity code *SENSDEBUG*.
|
||||||
|
|
||||||
|
|
@ -300,11 +300,11 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
|
|
||||||
--enable-smoketest
|
--enable-smoketest
|
||||||
Enable smoketest compile.
|
Enable smoketest compile.
|
||||||
|
|
||||||
--enable-stepdebug
|
--enable-stepdebug
|
||||||
Turns on debugging of convergence stepping??
|
Turns on debugging of convergence stepping??
|
||||||
|
|
||||||
|
|
||||||
2 Compilers and Options
|
2 Compilers and Options
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
|
|
@ -445,22 +445,22 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
9.1 How to make ngspice with MINGW and MSYS
|
9.1 How to make ngspice with MINGW and MSYS
|
||||||
|
|
||||||
Creating ngspice with MINGW is a straight forward procedure,
|
Creating ngspice with MINGW is a straight forward procedure,
|
||||||
if you have MSYS/MINGW installed properly. You will need some enhancements
|
if you have MSYS/MINGW installed properly. You will need some enhancements
|
||||||
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-25.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-25 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
|
||||||
as an argument to ./configure during the build process.
|
as an argument to ./configure during the build process.
|
||||||
|
|
||||||
Put the install path you desire inside "", e.g. "D:/NewSpice". Be
|
Put the install path you desire inside "", e.g. "D:/NewSpice". Be
|
||||||
careful to use forward slashes "/", not backward slashes "\" (something
|
careful to use forward slashes "/", not backward slashes "\" (something
|
||||||
still to be fixed). Then add --prefix="D:/NewSpice" as an argument to
|
still to be fixed). Then add --prefix="D:/NewSpice" as an argument to
|
||||||
./configure in the normal way.
|
./configure in the normal way.
|
||||||
|
|
||||||
The procedure of compiling a distribution (for example, a tarball from
|
The procedure of compiling a distribution (for example, a tarball from
|
||||||
|
|
@ -477,23 +477,23 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
--enable-xspice
|
--enable-xspice
|
||||||
--enable-cider
|
--enable-cider
|
||||||
--disable-debug (-O2 optimization, no debug information)
|
--disable-debug (-O2 optimization, no debug information)
|
||||||
|
|
||||||
A fully featured ngspice on Windows may be obtained with the following commands:
|
A fully featured ngspice on Windows may be obtained with the following commands:
|
||||||
$ ./autogen.sh --adms
|
$ ./autogen.sh --adms
|
||||||
$ mkdir release
|
$ mkdir release
|
||||||
$ cd release
|
$ cd release
|
||||||
$ ../configure --with-wingui --enable-cider --disable-debug --enable-openmp --enable-xspice --enable-adms
|
$ ../configure --with-wingui --enable-cider --disable-debug --enable-openmp --enable-xspice --enable-adms
|
||||||
$ 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. To obtain ngspice, you may do the following:
|
||||||
|
|
||||||
Go to a directory of your choice, e.g. D:\Spice
|
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:
|
||||||
$ git clone git://ngspice.git.sourceforge.net/gitroot/ngspice/ngspice
|
$ git clone git://ngspice.git.sourceforge.net/gitroot/ngspice/ngspice
|
||||||
|
|
||||||
This will create directory /ngspice .
|
This will create directory /ngspice .
|
||||||
|
|
||||||
Go to directory ngspice
|
Go to directory ngspice
|
||||||
|
|
@ -508,7 +508,7 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
Issue command for update
|
Issue command for update
|
||||||
$ git pull
|
$ git pull
|
||||||
|
|
||||||
Instead of calling ./compile_min.sh, you may choose to issue
|
Instead of calling ./compile_min.sh, you may choose to issue
|
||||||
individual commands like:
|
individual commands like:
|
||||||
$ cd ngspice
|
$ cd ngspice
|
||||||
$ ./autogen.sh
|
$ ./autogen.sh
|
||||||
|
|
@ -518,30 +518,30 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
$ make
|
$ make
|
||||||
$ make install
|
$ make install
|
||||||
|
|
||||||
MINGW and MSYS can be downloaded from http://www.mingw.org/. The making of
|
MINGW and MSYS can be downloaded from http://www.mingw.org/. The making of
|
||||||
ngspice and the code models *.cm for XSpice requires installation of BISON
|
ngspice and the code models *.cm for XSpice requires installation of BISON
|
||||||
and FLEX to MSYS. A typical installation was tested with:
|
and FLEX to MSYS. A typical installation was tested with:
|
||||||
|
|
||||||
bison-2.0-MSYS.tar.gz
|
bison-2.0-MSYS.tar.gz
|
||||||
flex-2.5.4a-1-bin.zip
|
flex-2.5.4a-1-bin.zip
|
||||||
libiconv-1.9.2-1-bin.zip
|
libiconv-1.9.2-1-bin.zip
|
||||||
libintl-0.14.4-bin.zip
|
libintl-0.14.4-bin.zip
|
||||||
|
|
||||||
Bison 2.0 is now superseeded by newer releases (Bison 2.3, see
|
Bison 2.0 is now superseeded by newer releases (Bison 2.3, see
|
||||||
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879)
|
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879)
|
||||||
|
|
||||||
The last three are from
|
The last three are from
|
||||||
http://sourceforge.net/project/showfiles.php?group_id=23617.
|
http://sourceforge.net/project/showfiles.php?group_id=23617.
|
||||||
|
|
||||||
Installing from git needs more packages to MSYS in advance:
|
Installing from git needs more packages to MSYS in advance:
|
||||||
git, automake, autoconf, libtool
|
git, automake, autoconf, libtool
|
||||||
|
|
||||||
You may also look at
|
You may also look at
|
||||||
http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite
|
http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite
|
||||||
http://www.mingw.org/wiki/MSYS
|
http://www.mingw.org/wiki/MSYS
|
||||||
http://www.mingw.org/wiki/HOWTO_Create_an_MSYS_Build_Environment.
|
http://www.mingw.org/wiki/HOWTO_Create_an_MSYS_Build_Environment.
|
||||||
|
|
||||||
An alternative compiler setup is available at
|
An alternative compiler setup is available at
|
||||||
http://tdm-gcc.tdragon.net/
|
http://tdm-gcc.tdragon.net/
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -553,41 +553,41 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
(*.cm) are not (yet) made. You may however use the code models
|
(*.cm) are not (yet) made. You may however use the code models
|
||||||
created with MINGW (which in fact are dlls), as e.g. found in
|
created with MINGW (which in fact are dlls), as e.g. found in
|
||||||
the ngspice binary distribution our made as described in 9.1.
|
the ngspice binary distribution our made as described in 9.1.
|
||||||
|
|
||||||
There is currently no installation procedure provided, you may
|
There is currently no installation procedure provided, you may
|
||||||
however install the executable manually as described in the
|
however install the executable manually as described in the
|
||||||
installation tree below.
|
installation tree below.
|
||||||
|
|
||||||
The directory (visualc) with its files
|
The directory (visualc) with its files
|
||||||
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.
|
The project is probably not compatible with Visual Studio 2005.
|
||||||
|
|
||||||
/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.
|
||||||
strings.h has been necessary during setting up the project.
|
strings.h has been necessary during setting up the project.
|
||||||
|
|
||||||
Install Microsoft Visual Studio 2008 C++ . The
|
Install Microsoft Visual Studio 2008 C++ . The
|
||||||
MS VS 2008 C++ Express Edition (which is available at no cost from
|
MS VS 2008 C++ Express Edition (which is available at no cost from
|
||||||
http://www.microsoft.com/express/product/default.aspx) is adequate.
|
http://www.microsoft.com/express/product/default.aspx) is adequate.
|
||||||
|
|
||||||
Goto /ngspice/visualc.
|
Goto /ngspice/visualc.
|
||||||
|
|
||||||
Start MS Visual Studio 2008 by double click onto vngspice.sln.
|
Start MS Visual Studio 2008 by double click onto vngspice.sln.
|
||||||
|
|
||||||
After MS Visual Studio has opened up, select debug or release version
|
After MS Visual Studio has opened up, select debug or release version
|
||||||
by checking 'Erstellen' , 'Konfigurations-Manager' 'Debug' or 'Release'.
|
by checking 'Erstellen' , 'Konfigurations-Manager' 'Debug' or 'Release'.
|
||||||
|
|
||||||
Start making ngspice (called vngspice.exe) by selecting 'Erstellen' and
|
Start making ngspice (called vngspice.exe) by selecting 'Erstellen' and
|
||||||
'vngspice neu erstellen'.
|
'vngspice neu erstellen'.
|
||||||
|
|
||||||
Object files will be created and stored in visualc/debug or visualc/release.
|
Object files will be created and stored in visualc/debug or visualc/release.
|
||||||
The executable will be stored to visualc/debug/bin or visualc/release/bin.
|
The executable will be stored to visualc/debug/bin or visualc/release/bin.
|
||||||
|
|
||||||
An installation tree (as provided with MINGW make install) and also used by
|
An installation tree (as provided with MINGW make install) and also used by
|
||||||
vngspice is (maybe created manually):
|
vngspice is (maybe created manually):
|
||||||
|
|
||||||
C:\Spice\
|
C:\Spice\
|
||||||
bin\
|
bin\
|
||||||
ngspice.exe
|
ngspice.exe
|
||||||
|
|
@ -626,23 +626,23 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
setplot
|
setplot
|
||||||
spectrum
|
spectrum
|
||||||
spinit
|
spinit
|
||||||
|
|
||||||
If you intend to install vngspice into another directory, e.g. D:\MySpice,
|
If you intend to install vngspice into another directory, e.g. D:\MySpice,
|
||||||
you have to edit /visualc/include/config.h and alter the entries:
|
you have to edit /visualc/include/config.h and alter the entries:
|
||||||
#define NGSPICEBINDIR "C:/Spice/bin"
|
#define NGSPICEBINDIR "C:/Spice/bin"
|
||||||
#define NGSPICEDATADIR "C:/Spice/share/ngspice"
|
#define NGSPICEDATADIR "C:/Spice/share/ngspice"
|
||||||
to
|
to
|
||||||
#define NGSPICEBINDIR "D:/MySpice/bin"
|
#define NGSPICEBINDIR "D:/MySpice/bin"
|
||||||
#define NGSPICEDATADIR "D:/MySpice/share/ngspice"
|
#define NGSPICEDATADIR "D:/MySpice/share/ngspice"
|
||||||
|
|
||||||
If the code model files *.cm are not available, you will get warning messages,
|
If the code model files *.cm are not available, you will get warning messages,
|
||||||
but you may use ngspice in the normal way (of course without XSPICE extensions).
|
but you may use ngspice in the normal way (of course without XSPICE extensions).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
9.3 make ngspice with pure CYGWIN
|
9.3 make ngspice with pure CYGWIN
|
||||||
|
|
||||||
If you don't have libdl.a you may need to link libcygwin.a
|
If you don't have libdl.a you may need to link libcygwin.a
|
||||||
to libdl.a symbolically.
|
to libdl.a symbolically.
|
||||||
|
|
||||||
for example:
|
for example:
|
||||||
|
|
@ -654,12 +654,12 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
|
|
||||||
|
|
||||||
9.4 ngspice console app with MINGW or CYGWIN
|
9.4 ngspice console app with MINGW or CYGWIN
|
||||||
|
|
||||||
Omitting the configure flag --with-wingui will yield a console ngspice.
|
Omitting the configure flag --with-wingui will yield a console ngspice.
|
||||||
You then will not have any graphics interface. In CYGWIN you may add --with-x
|
You then will not have any graphics interface. In CYGWIN you may add --with-x
|
||||||
for the X11 graphics (not available in mingw). A typical configure command
|
for the X11 graphics (not available in mingw). A typical configure command
|
||||||
may look like
|
may look like
|
||||||
./configure --enable-adms --enable-xspice --enable-cider --enable-openmp
|
./configure --enable-adms --enable-xspice --enable-cider --enable-openmp
|
||||||
--disable-debug CFLAGS=-m32 LDFLAGS=-m32 prefix=C:/Spice
|
--disable-debug CFLAGS=-m32 LDFLAGS=-m32 prefix=C:/Spice
|
||||||
tested with TDM mingw.
|
tested with TDM mingw.
|
||||||
|
|
||||||
|
|
|
||||||
252
NEWS
252
NEWS
|
|
@ -2,99 +2,99 @@ Ngspice-25, Jan 4th, 2013
|
||||||
============
|
============
|
||||||
|
|
||||||
- New features:
|
- New features:
|
||||||
+ add temperature coefficients for B source
|
+ add temperature coefficients for B source
|
||||||
+ commands "mdump", "mrdump" to dump matrix to file
|
+ commands "mdump", "mrdump" to dump matrix to file
|
||||||
+ allow `time', `temper', and `hertz' in expressions with behavioral R, L, C
|
+ allow `time', `temper', and `hertz' in expressions with behavioral R, L, C
|
||||||
+ Enable ctrl-c to interrupt a simulation also for Windows GUI
|
+ Enable ctrl-c to interrupt a simulation also for Windows GUI
|
||||||
+ tests/bsim4: use the standard CMC model qa check
|
+ tests/bsim4: use the standard CMC model qa check
|
||||||
+ implement exit code for command "quit"
|
+ implement exit code for command "quit"
|
||||||
+ .nodeset all = value
|
+ .nodeset all = value
|
||||||
+ memristor code model in extradev
|
+ memristor code model in extradev
|
||||||
+ new scalable diode model including tunnel component
|
+ new scalable diode model including tunnel component
|
||||||
+ variable xtrtol may override the XSPICE reduction of trtol
|
+ variable xtrtol may override the XSPICE reduction of trtol
|
||||||
+ XSPICE example: delta-sigma converter
|
+ XSPICE example: delta-sigma converter
|
||||||
+ XSPICE: new d_source model
|
+ XSPICE: new d_source model
|
||||||
+ new option noopac
|
+ new option noopac
|
||||||
+ bsim3: make additonal parameters accessible with @mxx[par]
|
+ bsim3: make additonal parameters accessible with @mxx[par]
|
||||||
+ enable Mac OS X compilation
|
+ enable Mac OS X compilation
|
||||||
+ option reseries = val
|
+ option reseries = val
|
||||||
+ commands "snsave", "snload"
|
+ commands "snsave", "snload"
|
||||||
+ update hisim to version 2.7.0, new qa tests
|
+ update hisim to version 2.7.0, new qa tests
|
||||||
+ hisimhv update to version 1.2.3, new qa tests
|
+ hisimhv update to version 1.2.3, new qa tests
|
||||||
+ allow Ctrl-d to quit
|
+ allow Ctrl-d to quit
|
||||||
+ jfet model temperature extension, tcv and bex parameter
|
+ jfet model temperature extension, tcv and bex parameter
|
||||||
+ speed up vector handling by hash table for vector address storage and retrieval
|
+ speed up vector handling by hash table for vector address storage and retrieval
|
||||||
+ update PSS code
|
+ update PSS code
|
||||||
|
|
||||||
|
|
||||||
- Bug fixes:
|
- Bug fixes:
|
||||||
+ many, many ... please see
|
+ many, many ... please see
|
||||||
http://ngspice.git.sourceforge.net/git/gitweb.cgi?p=ngspice/ngspice;a=shortlog;pg=0
|
http://ngspice.git.sourceforge.net/git/gitweb.cgi?p=ngspice/ngspice;a=shortlog;pg=0
|
||||||
+ remove memory leaks
|
+ remove memory leaks
|
||||||
+ update tclspice for MS Windows
|
+ update tclspice for MS Windows
|
||||||
+ adms3 removed due to licensing issues
|
+ adms3 removed due to licensing issues
|
||||||
|
|
||||||
|
|
||||||
Ngspice-24, Jan 29th, 2012
|
Ngspice-24, Jan 29th, 2012
|
||||||
============
|
============
|
||||||
|
|
||||||
- New features:
|
- New features:
|
||||||
+ .csparam allows to tranfer a param into a vector in .control ... .endc
|
+ .csparam allows to tranfer a param into a vector in .control ... .endc
|
||||||
+ functions floor and ceil
|
+ functions floor and ceil
|
||||||
+ syntax Gxxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
|
+ syntax Gxxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
|
||||||
+ syntax Gxxx n1 n2 value={equation} or Exxx n1 n2 value={equation}
|
+ syntax Gxxx n1 n2 value={equation} or Exxx n1 n2 value={equation}
|
||||||
+ variable strict_errorhandling to exit ngspice with exit code 1
|
+ variable strict_errorhandling to exit ngspice with exit code 1
|
||||||
if any error occurs during circuit parsing
|
if any error occurs during circuit parsing
|
||||||
+ command altermod allows reading from file
|
+ command altermod allows reading from file
|
||||||
+ command "devhelp" to show available devices and describe device parameters
|
+ command "devhelp" to show available devices and describe device parameters
|
||||||
+ command "inventory" to print the number of istances of each device.
|
+ command "inventory" to print the number of istances of each device.
|
||||||
+ function cph(vec) delivers phase from a vector without jumps at +-PI
|
+ function cph(vec) delivers phase from a vector without jumps at +-PI
|
||||||
+ enable 64 bit compilation in MS Visual Studio
|
+ enable 64 bit compilation in MS Visual Studio
|
||||||
+ --adms3 flag to compile with (experimental) adms code
|
+ --adms3 flag to compile with (experimental) adms code
|
||||||
+ still very experimental pss code
|
+ still very experimental pss code
|
||||||
+ command 'remcirc' to remove a circuit from the list
|
+ command 'remcirc' to remove a circuit from the list
|
||||||
+ command 'wrdata' aknowledges appendwrite and prints complex variables
|
+ command 'wrdata' aknowledges appendwrite and prints complex variables
|
||||||
+ allow comment lines inside of command files
|
+ allow comment lines inside of command files
|
||||||
+ path variable NGSPICE_INPUT
|
+ path variable NGSPICE_INPUT
|
||||||
+ 'Filesource' code model
|
+ 'Filesource' code model
|
||||||
|
|
||||||
- Bug fixes:
|
- Bug fixes:
|
||||||
+ More on prototypes, type casts, reordering of functions, compiler warnings
|
+ More on prototypes, type casts, reordering of functions, compiler warnings
|
||||||
+ fix a numerical problem in the hisim2 and hisimhv models
|
+ fix a numerical problem in the hisim2 and hisimhv models
|
||||||
+ plot i(vdd) from a loaded rawfile
|
+ plot i(vdd) from a loaded rawfile
|
||||||
+ fix the guard for device generated internal nodes (via CKTmkVolt())
|
+ fix the guard for device generated internal nodes (via CKTmkVolt())
|
||||||
+ reduce memory leaks for command 'reset'
|
+ reduce memory leaks for command 'reset'
|
||||||
+ parameter processing for nested .subckt
|
+ parameter processing for nested .subckt
|
||||||
+ bsim4/b4noi.c: correct init the correlated noise slot in noiseDens and lnNdens vector
|
+ bsim4/b4noi.c: correct init the correlated noise slot in noiseDens and lnNdens vector
|
||||||
+ Many small bugs
|
+ Many small bugs
|
||||||
|
|
||||||
Ngspice-23, June 5th, 2011
|
Ngspice-23, June 5th, 2011
|
||||||
============
|
============
|
||||||
|
|
||||||
- New features:
|
- New features:
|
||||||
+ Reduction of trtol to 1 only if 'A' devices in the circuit and xspice is enabled
|
+ Reduction of trtol to 1 only if 'A' devices in the circuit and xspice is enabled
|
||||||
+ command wrs2p to write a s-parameter file using Touchstone vers. 1 format
|
+ command wrs2p to write a s-parameter file using Touchstone vers. 1 format
|
||||||
+ d_source d_state d_ram, test cases for those xspice codemodels
|
+ d_source d_state d_ram, test cases for those xspice codemodels
|
||||||
+ transient noise simulation added to independent voltage and current sources
|
+ transient noise simulation added to independent voltage and current sources
|
||||||
+ Random telegraph noise added to independent voltage and current sources
|
+ Random telegraph noise added to independent voltage and current sources
|
||||||
+ 'time = nnn' in stop command added
|
+ 'time = nnn' in stop command added
|
||||||
+ random voltage generator option trrandom to independent voltage and current sources
|
+ random voltage generator option trrandom to independent voltage and current sources
|
||||||
+ ngspice build possible in a separate directory (e.g. in ng-spice-rework/release)
|
+ ngspice build possible in a separate directory (e.g. in ng-spice-rework/release)
|
||||||
+ update FIND .. WHEN measurements
|
+ update FIND .. WHEN measurements
|
||||||
+ diode & bjt temperature model update with tlev and tlevc
|
+ diode & bjt temperature model update with tlev and tlevc
|
||||||
+ merge bsim3v1a code with bsim3v0 and bsim3v1s code with bsim3v1
|
+ merge bsim3v1a code with bsim3v0 and bsim3v1s code with bsim3v1
|
||||||
+ bjt2: removed - all GP extensions of this model are now in the bjt model
|
+ bjt2: removed - all GP extensions of this model are now in the bjt model
|
||||||
+ HiSIM_HV model vers. 1.2.1 added
|
+ HiSIM_HV model vers. 1.2.1 added
|
||||||
+ bsim3v32: delvto and mulu0 as instance parameters
|
+ bsim3v32: delvto and mulu0 as instance parameters
|
||||||
+ Replace HiSIM1 by HiSIM_2.5.1_Release_20110407
|
+ Replace HiSIM1 by HiSIM_2.5.1_Release_20110407
|
||||||
|
|
||||||
- Bug fixes:
|
- Bug fixes:
|
||||||
+ More on prototypes, type casts, reordering of functions, compiler warnings
|
+ More on prototypes, type casts, reordering of functions, compiler warnings
|
||||||
+ allow models like 2N2904 or 2SK136 also in subcircuits
|
+ allow models like 2N2904 or 2SK136 also in subcircuits
|
||||||
+ fix sensitvity calculation (for the dc-2+.cir testcase)
|
+ fix sensitvity calculation (for the dc-2+.cir testcase)
|
||||||
+ allow multiple call to setup w/ correct node collapsing
|
+ allow multiple call to setup w/ correct node collapsing
|
||||||
+ Many small bugs
|
+ Many small bugs
|
||||||
|
|
||||||
Ngspice-22, Sept 26th, 2010
|
Ngspice-22, Sept 26th, 2010
|
||||||
============
|
============
|
||||||
|
|
||||||
|
|
@ -107,11 +107,11 @@ Ngspice-22, Sept 26th, 2010
|
||||||
+ command 'option' for use in spinit, .spiceinit, and in scripts
|
+ command 'option' for use in spinit, .spiceinit, and in scripts
|
||||||
+ adms procedure updated
|
+ adms procedure updated
|
||||||
+ new random number generator, random functions sunif() and sgauss()
|
+ new random number generator, random functions sunif() and sgauss()
|
||||||
+ ngspice manual updated
|
+ ngspice manual updated
|
||||||
|
|
||||||
- Bug fixes:
|
- Bug fixes:
|
||||||
+ Major code cleanup to reduce compiler/linker warnings: ansi function prototypes,
|
+ Major code cleanup to reduce compiler/linker warnings: ansi function prototypes,
|
||||||
void/char pointers to named pointers, explicit type casts and many more
|
void/char pointers to named pointers, explicit type casts and many more
|
||||||
+ Many small bugs
|
+ Many small bugs
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -119,16 +119,16 @@ Ng-spice-rework-21, Jun3, 13th 2010
|
||||||
============
|
============
|
||||||
|
|
||||||
- Updated Devices: BSIMSOI 4.3.1
|
- Updated Devices: BSIMSOI 4.3.1
|
||||||
|
|
||||||
- New features:
|
- New features:
|
||||||
+ Compatibility: C, L, R, devices and E, G sources with expressions
|
+ Compatibility: C, L, R, devices and E, G sources with expressions
|
||||||
Variables HERTZ, TIME, TEMPER added
|
Variables HERTZ, TIME, TEMPER added
|
||||||
+ E, G sources with pwl function
|
+ E, G sources with pwl function
|
||||||
+ New manual
|
+ New manual
|
||||||
+ Plotting with Gnuplot,
|
+ Plotting with Gnuplot,
|
||||||
+ Writing wrdata for simple text table to file
|
+ Writing wrdata for simple text table to file
|
||||||
+ .measure improved
|
+ .measure improved
|
||||||
+ transmission line models improved
|
+ transmission line models improved
|
||||||
|
|
||||||
- Bug fixes:
|
- Bug fixes:
|
||||||
+ Many small bugs, memory leaks, memory overflows
|
+ Many small bugs, memory leaks, memory overflows
|
||||||
|
|
@ -138,28 +138,28 @@ Ng-spice-rework-20, November, 16th 2009
|
||||||
|
|
||||||
Ngspice release 20 is the second release of the simulator in 2009.
|
Ngspice release 20 is the second release of the simulator in 2009.
|
||||||
|
|
||||||
- Fixes: model names starting with a number (1n4001) are now correctly parsed.
|
- Fixes: model names starting with a number (1n4001) are now correctly parsed.
|
||||||
The .global command has been reinstated (it was previously disabled) and
|
The .global command has been reinstated (it was previously disabled) and
|
||||||
error messages now display the corresponding line numberin the input deck.
|
error messages now display the corresponding line numberin the input deck.
|
||||||
- New Features: .measure command for transient, ac and dc analyses (still not
|
- New Features: .measure command for transient, ac and dc analyses (still not
|
||||||
complete, e.g. DERIV is missing).
|
complete, e.g. DERIV is missing).
|
||||||
- Devices: Updated BISM4 model to revision 4.6.5. Added PWL (PieceWise Linear)
|
- Devices: Updated BISM4 model to revision 4.6.5. Added PWL (PieceWise Linear)
|
||||||
functionality for B (arbitrary generator) sources.
|
functionality for B (arbitrary generator) sources.
|
||||||
|
|
||||||
|
|
||||||
Ng-spice-rework-19, April, 23rd 2009
|
Ng-spice-rework-19, April, 23rd 2009
|
||||||
============
|
============
|
||||||
|
|
||||||
Ngspice release 19 came early after release 18. It reveals an important work
|
Ngspice release 19 came early after release 18. It reveals an important work
|
||||||
in compile scripts, many bug fixes in memory management, interface, and work in device models.
|
in compile scripts, many bug fixes in memory management, interface, and work in device models.
|
||||||
|
|
||||||
- Compile scripts: tclspice and ADMS compiling fixes. Architecture compiling
|
- Compile scripts: tclspice and ADMS compiling fixes. Architecture compiling
|
||||||
fixes for SunOS, MS Visual Studio, MINGW, Cygwin.
|
fixes for SunOS, MS Visual Studio, MINGW, Cygwin.
|
||||||
- Memory management: fixed memory leaks, modifies memory management for
|
- Memory management: fixed memory leaks, modifies memory management for
|
||||||
MS Windows, integration of espice bugfixes and enhancements, bug fixes in
|
MS Windows, integration of espice bugfixes and enhancements, bug fixes in
|
||||||
plots and cli interface.
|
plots and cli interface.
|
||||||
- Rework of BSim models, integration of EPFL-EKV model V2.63, ADMS models
|
- Rework of BSim models, integration of EPFL-EKV model V2.63, ADMS models
|
||||||
mextram, hicum0, hicum2.
|
mextram, hicum0, hicum2.
|
||||||
|
|
||||||
|
|
||||||
Ng-spice-rework-18
|
Ng-spice-rework-18
|
||||||
|
|
@ -187,7 +187,7 @@ into the simulator.
|
||||||
Ng-spice-rework-17
|
Ng-spice-rework-17
|
||||||
============
|
============
|
||||||
|
|
||||||
This is a bug fix release. Previous release tarball did not included
|
This is a bug fix release. Previous release tarball did not included
|
||||||
an include file necessary for compiling numparam library.
|
an include file necessary for compiling numparam library.
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -198,51 +198,51 @@ Rework-16 comes out after almost one year of CVS development (from
|
||||||
15-fixedRC3). This release improves ngspice in three ways:
|
15-fixedRC3). This release improves ngspice in three ways:
|
||||||
|
|
||||||
- Bug fixing: most of the bugs that affected rework-15 have been fixed,
|
- Bug fixing: most of the bugs that affected rework-15 have been fixed,
|
||||||
thus ngspice is more stable, especially the xspice extension, the
|
thus ngspice is more stable, especially the xspice extension, the
|
||||||
subcircuit (X devices) handling and the numparam library.
|
subcircuit (X devices) handling and the numparam library.
|
||||||
|
|
||||||
- New features: netlist syntax has been expandend allowing for end-of-line
|
- New features: netlist syntax has been expandend allowing for end-of-line
|
||||||
comments. A ".global" card has beed added to define global nodes, i.e.
|
comments. A ".global" card has beed added to define global nodes, i.e.
|
||||||
nodes that are not expanded in subcircuits. It is possible to define TC
|
nodes that are not expanded in subcircuits. It is possible to define TC
|
||||||
for resistors on the instance line. The editline library can be used
|
for resistors on the instance line. The editline library can be used
|
||||||
instead of readline (no more GPL license violation).
|
instead of readline (no more GPL license violation).
|
||||||
|
|
||||||
- Porting: ngspice now works (with xspice extension) on Windows using
|
- Porting: ngspice now works (with xspice extension) on Windows using
|
||||||
MINGW/MSYS.
|
MINGW/MSYS.
|
||||||
|
|
||||||
|
|
||||||
Ng-spice-rework-15
|
Ng-spice-rework-15
|
||||||
============
|
============
|
||||||
|
|
||||||
Rework-15 release is a giant leap forward for ngspice. It incorporates
|
Rework-15 release is a giant leap forward for ngspice. It incorporates
|
||||||
many (read most) of the improvements implemented in tclspice during the
|
many (read most) of the improvements implemented in tclspice during the
|
||||||
two years long "sleep" of ngspice and adds many others. The incomplete
|
two years long "sleep" of ngspice and adds many others. The incomplete
|
||||||
list of new features incorporated are:
|
list of new features incorporated are:
|
||||||
|
|
||||||
- Xspice simulator (with codemodel dynamic loading support):
|
- Xspice simulator (with codemodel dynamic loading support):
|
||||||
a mixed signal simulator built upon spice3.
|
a mixed signal simulator built upon spice3.
|
||||||
|
|
||||||
- Cider simulator:
|
- Cider simulator:
|
||||||
a mixed level simulator built upon spice3.
|
a mixed level simulator built upon spice3.
|
||||||
|
|
||||||
- Numparam library:
|
- Numparam library:
|
||||||
a library that allows for parameter substitution at netlist level.
|
a library that allows for parameter substitution at netlist level.
|
||||||
|
|
||||||
- Improved models:
|
- Improved models:
|
||||||
Diode model includes periphery effects and high level of injection effects,
|
Diode model includes periphery effects and high level of injection effects,
|
||||||
BJT and BJT2 enhanced.
|
BJT and BJT2 enhanced.
|
||||||
BSIM3 now includes ACM.
|
BSIM3 now includes ACM.
|
||||||
BSIM4 implementation corrected.
|
BSIM4 implementation corrected.
|
||||||
|
|
||||||
-New models:
|
-New models:
|
||||||
VBIC (3 Terminals, no excess phase and thermal network),
|
VBIC (3 Terminals, no excess phase and thermal network),
|
||||||
HiSIM.
|
HiSIM.
|
||||||
|
|
||||||
- Frontend leaks closed.
|
- Frontend leaks closed.
|
||||||
Now frontend works as it should.
|
Now frontend works as it should.
|
||||||
|
|
||||||
- Many new example file.
|
- Many new example file.
|
||||||
|
|
||||||
- Xgraph plotting program included.
|
- Xgraph plotting program included.
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -250,11 +250,11 @@ Ng-spice-rework-14
|
||||||
============
|
============
|
||||||
|
|
||||||
This is a major release in terms of bug-fixes. Some enhancements
|
This is a major release in terms of bug-fixes. Some enhancements
|
||||||
have been included: BSIM4 model and support for EKV model. The
|
have been included: BSIM4 model and support for EKV model. The
|
||||||
source code for the latter must be obtained from EKV web site
|
source code for the latter must be obtained from EKV web site
|
||||||
(see DEVICE for more info). To enable EKV support you have
|
(see DEVICE for more info). To enable EKV support you have
|
||||||
to obtain the code first and then use the configure switch
|
to obtain the code first and then use the configure switch
|
||||||
"--enable-ekv".
|
"--enable-ekv".
|
||||||
|
|
||||||
The spice code contains an option to debug frontend code, now
|
The spice code contains an option to debug frontend code, now
|
||||||
this is available in configure as "--enable-ftedebug".
|
this is available in configure as "--enable-ftedebug".
|
||||||
|
|
@ -266,17 +266,17 @@ Ng-spice-rework-13
|
||||||
|
|
||||||
This is a major release in terms of fixes and enhancements.
|
This is a major release in terms of fixes and enhancements.
|
||||||
A garbage collector support has been added. If the configuration
|
A garbage collector support has been added. If the configuration
|
||||||
script detects that you have installed GC (Bohem-Weiser conservative
|
script detects that you have installed GC (Bohem-Weiser conservative
|
||||||
garbage collector), it will use it. Some memory leaks have been
|
garbage collector), it will use it. Some memory leaks have been
|
||||||
fixed too.
|
fixed too.
|
||||||
|
|
||||||
Enhancements to the code comes from Alan's contribute code, a
|
Enhancements to the code comes from Alan's contribute code, a
|
||||||
description of improvements follows (extracted form Alan's mail):
|
description of improvements follows (extracted form Alan's mail):
|
||||||
|
|
||||||
Output File Format Changes -
|
Output File Format Changes -
|
||||||
|
|
||||||
(NOTE: Do not rely on this, we may revert to the old format
|
(NOTE: Do not rely on this, we may revert to the old format
|
||||||
in the next release).
|
in the next release).
|
||||||
|
|
||||||
Text mode .OP results even though "rawfile" written.
|
Text mode .OP results even though "rawfile" written.
|
||||||
|
|
||||||
|
|
@ -363,7 +363,7 @@ New Model Parameters -
|
||||||
A device multiplier instance parameter "M" (i.e. M devices in
|
A device multiplier instance parameter "M" (i.e. M devices in
|
||||||
parallel) was added to the MOS1,2,3 and BSIM3 mosfet models.
|
parallel) was added to the MOS1,2,3 and BSIM3 mosfet models.
|
||||||
|
|
||||||
|
|
||||||
Input Read-in and Checking -
|
Input Read-in and Checking -
|
||||||
|
|
||||||
Numbers beginning with a + sign got the input routine confused.
|
Numbers beginning with a + sign got the input routine confused.
|
||||||
|
|
@ -377,7 +377,7 @@ Input Read-in and Checking -
|
||||||
Previously each time-point was checked as it was reached during
|
Previously each time-point was checked as it was reached during
|
||||||
the simulation, which could be very annoying if you made a mistake
|
the simulation, which could be very annoying if you made a mistake
|
||||||
which caused the simulation to fail after hours of run-time.
|
which caused the simulation to fail after hours of run-time.
|
||||||
|
|
||||||
A check which was performed at the end of each sub-circuit expansion
|
A check which was performed at the end of each sub-circuit expansion
|
||||||
was moved to the top level. This check makes sure that all sub-circuits
|
was moved to the top level. This check makes sure that all sub-circuits
|
||||||
have been defined, but in its original position, it meant that if a
|
have been defined, but in its original position, it meant that if a
|
||||||
|
|
@ -404,7 +404,7 @@ Miscellaneous Fixes/Enhancements -
|
||||||
The "rawfile" writing routines have been modified to print the
|
The "rawfile" writing routines have been modified to print the
|
||||||
"reference value" to the console during the simulation. This lets
|
"reference value" to the console during the simulation. This lets
|
||||||
the user see exactly how far and how fast the simulation is
|
the user see exactly how far and how fast the simulation is
|
||||||
proceeding.
|
proceeding.
|
||||||
|
|
||||||
.OP printout tidied up a lot to make the printout clearer.
|
.OP printout tidied up a lot to make the printout clearer.
|
||||||
|
|
||||||
|
|
@ -424,17 +424,17 @@ Etc. -
|
||||||
Ng-spice-rework-12
|
Ng-spice-rework-12
|
||||||
============
|
============
|
||||||
Arno did a great work this summer!
|
Arno did a great work this summer!
|
||||||
The pole-zero analysis has been corrected. The error was introduced
|
The pole-zero analysis has been corrected. The error was introduced
|
||||||
in an attempt to eliminate compiler warnings. The source has been
|
in an attempt to eliminate compiler warnings. The source has been
|
||||||
reworked and info file have been updated. As you may see, a new dir
|
reworked and info file have been updated. As you may see, a new dir
|
||||||
called "spicelib" has been created, another step toward the separation
|
called "spicelib" has been created, another step toward the separation
|
||||||
of the simulator from the frontend.
|
of the simulator from the frontend.
|
||||||
|
|
||||||
Ng-spice-rework-11
|
Ng-spice-rework-11
|
||||||
============
|
============
|
||||||
|
|
||||||
Resistor code (device) has been modified to conform to spice3 device
|
Resistor code (device) has been modified to conform to spice3 device
|
||||||
coding standard.
|
coding standard.
|
||||||
A new step function (U2) has been introduced.
|
A new step function (U2) has been introduced.
|
||||||
Documentation updated.
|
Documentation updated.
|
||||||
|
|
||||||
|
|
@ -483,7 +483,7 @@ Usage of this patch, once incorporated:
|
||||||
|
|
||||||
# create a working tree to work from
|
# create a working tree to work from
|
||||||
cp -a ng-spice-rework-x ng-spice
|
cp -a ng-spice-rework-x ng-spice
|
||||||
|
|
||||||
[ Changes made to ng-spice ]
|
[ Changes made to ng-spice ]
|
||||||
|
|
||||||
# clean up all the automatically generated files
|
# clean up all the automatically generated files
|
||||||
|
|
@ -528,7 +528,7 @@ AC resistance.
|
||||||
Ng-spice-rework-5 and 5_2 (Jan 2000)
|
Ng-spice-rework-5 and 5_2 (Jan 2000)
|
||||||
============
|
============
|
||||||
|
|
||||||
Internal development release, buggy and not working.
|
Internal development release, buggy and not working.
|
||||||
|
|
||||||
Ng-spice-rework-4 (22/12/99)
|
Ng-spice-rework-4 (22/12/99)
|
||||||
============
|
============
|
||||||
|
|
@ -540,10 +540,10 @@ for the future GPL simulator. Thanks to Arno Peters and Manu Rouat.
|
||||||
|
|
||||||
2) Patched the following bug (thanks to Andrew Tuckey for having
|
2) Patched the following bug (thanks to Andrew Tuckey for having
|
||||||
supplied the patch).
|
supplied the patch).
|
||||||
|
|
||||||
* Wsw (current controlled switch) in subckt, parsing bug.
|
* Wsw (current controlled switch) in subckt, parsing bug.
|
||||||
* scale factor in arbitrary source.
|
* scale factor in arbitrary source.
|
||||||
* bug in noise analysis.
|
* bug in noise analysis.
|
||||||
* save segmentation faults.
|
* save segmentation faults.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
48
README
48
README
|
|
@ -1,60 +1,60 @@
|
||||||
README for NGSPICE
|
README for NGSPICE
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code
|
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code
|
||||||
is based on three open source software packages: Spice3f5, Cider1b1
|
is based on three open source software packages: Spice3f5, Cider1b1
|
||||||
and Xspice.
|
and Xspice.
|
||||||
|
|
||||||
Spice3 does not need any introduction, is the most popular circuit
|
Spice3 does not need any introduction, is the most popular circuit
|
||||||
simulator. In over 30 years of its life Spice3 has become a de-facto
|
simulator. In over 30 years of its life Spice3 has become a de-facto
|
||||||
standard for simulating circuits.
|
standard for simulating circuits.
|
||||||
|
|
||||||
Cider couples Spice3f5 circuit level simulator to DSIM device simulator
|
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 modeling 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, a little 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
|
||||||
you can help, join the development team.
|
you can help, join the development team.
|
||||||
|
|
||||||
Ngspice is an ongoing project, growing everyday from users contributions,
|
Ngspice is an ongoing project, growing everyday from users contributions,
|
||||||
suggestions and reports. What we will be able to do depends mostly on
|
suggestions and reports. What we will be able to do depends mostly on
|
||||||
user interests, contributions and feedback.
|
user interests, contributions and feedback.
|
||||||
|
|
||||||
|
|
||||||
MAILING LISTS:
|
MAILING LISTS:
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
There are two mailing lists dedicated to the use and development of ngspice.
|
There are two mailing lists dedicated to the use and development of ngspice.
|
||||||
|
|
||||||
* ngspice-users@lists.sourceforge.net:
|
* ngspice-users@lists.sourceforge.net:
|
||||||
This list is the list for the users of the ngspice simulator.
|
This list is the list for the users of the ngspice simulator.
|
||||||
|
|
||||||
* ngspice-devel@lists.sourceforge.net:
|
* ngspice-devel@lists.sourceforge.net:
|
||||||
ngspice development issues. Developers and "want to be" developers should
|
ngspice development issues. Developers and "want to be" developers should
|
||||||
subscribe here.
|
subscribe here.
|
||||||
|
|
||||||
To subscribe the list(s), send a message to:
|
To subscribe the list(s), send a message to:
|
||||||
<ngspice-users-subscribe@lists.sourceforge.net>
|
<ngspice-users-subscribe@lists.sourceforge.net>
|
||||||
<ngspice-devel-subscribe@lists.sourceforge.net>
|
<ngspice-devel-subscribe@lists.sourceforge.net>
|
||||||
|
|
||||||
|
|
||||||
OBSOLETE MAILING LISTS:
|
OBSOLETE MAILING LISTS:
|
||||||
-------------
|
-------------
|
||||||
* ngspice-bugs@list.sourceforge.net:
|
* ngspice-bugs@list.sourceforge.net:
|
||||||
This list is no longer used by the ngspice maintainers. Bug reports should
|
This list is no longer used by the ngspice maintainers. Bug reports should
|
||||||
go to the ngspice bug tracker.
|
go to the ngspice bug tracker.
|
||||||
|
|
||||||
|
|
||||||
WEB SITEs:
|
WEB SITEs:
|
||||||
--------
|
--------
|
||||||
|
|
||||||
This project is hosted on Sourceforge.net.
|
This project is hosted on Sourceforge.net.
|
||||||
The home page is http://ngspice.sourceforge.net
|
The home page is http://ngspice.sourceforge.net
|
||||||
The summary page is http://sourceforge.net/projects/ngspice
|
The summary page is http://sourceforge.net/projects/ngspice
|
||||||
|
|
|
||||||
48
README.adms
48
README.adms
|
|
@ -39,8 +39,8 @@ Holger Vogt, May 2013
|
||||||
|
|
||||||
INTRODUCTION
|
INTRODUCTION
|
||||||
|
|
||||||
In this document we will provide a guideline on how to auto-generate the
|
In this document we will provide a guideline on how to auto-generate the
|
||||||
ready-to compile C code for the ngspice API of a compact device model
|
ready-to compile C code for the ngspice API of a compact device model
|
||||||
defined in the Verilog-AMS language.
|
defined in the Verilog-AMS language.
|
||||||
|
|
||||||
Condition:
|
Condition:
|
||||||
|
|
@ -61,9 +61,9 @@ Goal:
|
||||||
using the Verilog-AMS source code available at:
|
using the Verilog-AMS source code available at:
|
||||||
http://www.iee.et.tu-dresden.de/~schroter/Hicum_PD/Hicumna/hicumL0V1p11.va
|
http://www.iee.et.tu-dresden.de/~schroter/Hicum_PD/Hicumna/hicumL0V1p11.va
|
||||||
|
|
||||||
Limitations:
|
Limitations:
|
||||||
The adms ngspice interface supports a limited set of Verilog-AMS language
|
The adms ngspice interface supports a limited set of Verilog-AMS language
|
||||||
constructs. See the home page of adms (http://mot-adms.sourceforge.net/)
|
constructs. See the home page of adms (http://mot-adms.sourceforge.net/)
|
||||||
for more info.
|
for more info.
|
||||||
Feel free to contribute to the adms ngspice interface so that more
|
Feel free to contribute to the adms ngspice interface so that more
|
||||||
constructs can be supported.
|
constructs can be supported.
|
||||||
|
|
@ -72,42 +72,42 @@ Limitations:
|
||||||
01- ngspice Files
|
01- ngspice Files
|
||||||
|
|
||||||
Ngspice does not (yet) have support for loading models at run time, every
|
Ngspice does not (yet) have support for loading models at run time, every
|
||||||
model must be included at compile time. Then, adding a new model into
|
model must be included at compile time. Then, adding a new model into
|
||||||
ngspice is a process that cannot be completely automated. Some files need
|
ngspice is a process that cannot be completely automated. Some files need
|
||||||
to be edited by hand.
|
to be edited by hand.
|
||||||
|
|
||||||
01.01 What ngspice need to know of a new model ?
|
01.01 What ngspice need to know of a new model ?
|
||||||
|
|
||||||
First you have to assign your new model a "device type". As you probably
|
First you have to assign your new model a "device type". As you probably
|
||||||
know, ngspice recognizes the type of a device by the first letter in
|
know, ngspice recognizes the type of a device by the first letter in
|
||||||
device's name in the netlists ("r" for resistors, "q" for BJT, "m" for
|
device's name in the netlists ("r" for resistors, "q" for BJT, "m" for
|
||||||
mosfets and so on). Then the first thing you have to find is the correct
|
mosfets and so on). Then the first thing you have to find is the correct
|
||||||
type for your new device (let's call this device_type).
|
type for your new device (let's call this device_type).
|
||||||
|
|
||||||
Since there can be more than one model for each device type, another
|
Since there can be more than one model for each device type, another
|
||||||
parameter you have to set is the device_level, which must be unique
|
parameter you have to set is the device_level, which must be unique
|
||||||
for each device type.
|
for each device type.
|
||||||
|
|
||||||
Once you have found the (device_type, device_level) couple you have
|
Once you have found the (device_type, device_level) couple you have
|
||||||
identified the files you have to edit:
|
identified the files you have to edit:
|
||||||
|
|
||||||
<ngspice-data-tree>/configure.ac
|
<ngspice-data-tree>/configure.ac
|
||||||
Here you have to add the entries in adms section for your new directory
|
Here you have to add the entries in adms section for your new directory
|
||||||
and library.
|
and library.
|
||||||
|
|
||||||
<ngspice-data-tree>/src/spicelib/parser/inp2<device_type>.c
|
<ngspice-data-tree>/src/spicelib/parser/inp2<device_type>.c
|
||||||
Substitute <device_type> with the letter corresponding to the
|
Substitute <device_type> with the letter corresponding to the
|
||||||
type of you new model. Here you have to add the interface code for your
|
type of you new model. Here you have to add the interface code for your
|
||||||
new device. In the case of hicum (a BJT model and thus a "q" device type)
|
new device. In the case of hicum (a BJT model and thus a "q" device type)
|
||||||
you have to edit inp2q.c
|
you have to edit inp2q.c
|
||||||
|
|
||||||
<ngspice-data-tree>/src/spicelib/parser/inpdomod.c
|
<ngspice-data-tree>/src/spicelib/parser/inpdomod.c
|
||||||
Here you have to add a switch for the level of your new device.
|
Here you have to add a switch for the level of your new device.
|
||||||
|
|
||||||
<ngspice-data-tree>/src/spicelib/devices/dev.c
|
<ngspice-data-tree>/src/spicelib/devices/dev.c
|
||||||
Follow the structure of the files and add information on your new
|
Follow the structure of the files and add information on your new
|
||||||
model. In dev.c you have to adjust some macro.
|
model. In dev.c you have to adjust some macro.
|
||||||
|
|
||||||
See existing examples to make the modifications for your own implementation.
|
See existing examples to make the modifications for your own implementation.
|
||||||
<ngspice-data-tree> is the path to the ngspice source installation.
|
<ngspice-data-tree> is the path to the ngspice source installation.
|
||||||
For instance <ngspice-data-tree> can be /tools/ng-spice-rework-17
|
For instance <ngspice-data-tree> can be /tools/ng-spice-rework-17
|
||||||
|
|
@ -120,7 +120,7 @@ Limitations:
|
||||||
<ngspice-data-tree>/src/spicelib/devices/adms/admst/ngspice*.xml
|
<ngspice-data-tree>/src/spicelib/devices/adms/admst/ngspice*.xml
|
||||||
adms creates the ready-to-compile C code from a set of admst code
|
adms creates the ready-to-compile C code from a set of admst code
|
||||||
generators. admst is a subset of the XML language which has been created
|
generators. admst is a subset of the XML language which has been created
|
||||||
specifically for the purpose of C code generation. The syntax of admst is
|
specifically for the purpose of C code generation. The syntax of admst is
|
||||||
very close to the XSLT language (it includes some extensions.)
|
very close to the XSLT language (it includes some extensions.)
|
||||||
|
|
||||||
03- Create the data file structure
|
03- Create the data file structure
|
||||||
|
|
@ -130,7 +130,7 @@ Limitations:
|
||||||
-b <ngspice-data-tree>/src/spicelib/devices/adms/hicum0/admsva
|
-b <ngspice-data-tree>/src/spicelib/devices/adms/hicum0/admsva
|
||||||
|
|
||||||
There is no convention on the way to choice the last directory name in -a.
|
There is no convention on the way to choice the last directory name in -a.
|
||||||
However in -b 'admsva' is mandatory.
|
However in -b 'admsva' is mandatory.
|
||||||
|
|
||||||
04- Save the Verilog-AMS source code
|
04- Save the Verilog-AMS source code
|
||||||
|
|
||||||
|
|
@ -166,7 +166,7 @@ Limitations:
|
||||||
adms:
|
adms:
|
||||||
admsXml.exe -Iadmsva admsva/hic0_full.va \
|
admsXml.exe -Iadmsva admsva/hic0_full.va \
|
||||||
|
|
||||||
06- Update/Create the auto-tools files (configure, Makefile.in, Makefile)
|
06- Update/Create the auto-tools files (configure, Makefile.in, Makefile)
|
||||||
|
|
||||||
06.01 Manual changes
|
06.01 Manual changes
|
||||||
In directory <ngspice-data-tree> edit file configure.ac, add new device 'hicum0'
|
In directory <ngspice-data-tree> edit file configure.ac, add new device 'hicum0'
|
||||||
|
|
@ -444,7 +444,7 @@ Appendix 01: Comments on spice3-flavoured flags like npn, pnp, nmos, pmos and so
|
||||||
.model mybjtmodel npn
|
.model mybjtmodel npn
|
||||||
+ pnp=1
|
+ pnp=1
|
||||||
+ level=5
|
+ level=5
|
||||||
|
|
||||||
In both cases flag 'npn' is just ignored.
|
In both cases flag 'npn' is just ignored.
|
||||||
In section 'Update manually the ngspice parser files' it is recommended
|
In section 'Update manually the ngspice parser files' it is recommended
|
||||||
to use flag 'adms' instead.
|
to use flag 'adms' instead.
|
||||||
|
|
|
||||||
20
README.tcl
20
README.tcl
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
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
|
||||||
describes what tclspice is, its installation, and points to resources that will
|
describes what tclspice is, its installation, and points to resources that will
|
||||||
help you to start with it. It also contains usefull datas to keep informed,
|
help you to start with it. It also contains usefull datas to keep informed,
|
||||||
get help, or get involved in the project.
|
get help, or get involved in the project.
|
||||||
|
|
@ -34,16 +34,16 @@ Lionel (saintel@users.sourceforge.net)
|
||||||
|
|
||||||
What is tclspice:
|
What is tclspice:
|
||||||
|
|
||||||
tclspice is a variant of ngspice. It share 95% of its code (approx). The
|
tclspice is a variant of ngspice. It share 95% of its code (approx). The
|
||||||
different between plain NGspice and tclspice is the type of binary it produces,
|
different between plain NGspice and tclspice is the type of binary it produces,
|
||||||
and the way to access it. NGspice is a standalone program that you can execute
|
and the way to access it. NGspice is a standalone program that you can execute
|
||||||
and which can either automatically process a spice directives script. It can
|
and which can either automatically process a spice directives script. It can
|
||||||
also propose you a command line interface.
|
also propose you a command line interface.
|
||||||
tclspice is a tcl package name. It is based on libspice shared library. This
|
tclspice is a tcl package name. It is based on libspice shared library. This
|
||||||
library is specifically designed to be loaded in tcl interpreters such as tclsh
|
library is specifically designed to be loaded in tcl interpreters such as tclsh
|
||||||
or wish. Then all spice directives are available as tcl functions. libspice also
|
or wish. Then all spice directives are available as tcl functions. libspice also
|
||||||
feature some new commands that are usefull for the integration into the tcl
|
feature some new commands that are usefull for the integration into the tcl
|
||||||
environment.
|
environment.
|
||||||
|
|
||||||
tclspice differs from ngspice by its printf (bundled to tcl printf), malloc (tcl
|
tclspice differs from ngspice by its printf (bundled to tcl printf), malloc (tcl
|
||||||
malloc), data handling and plotting (BLT toolkit extensions to tcl/tk).
|
malloc), data handling and plotting (BLT toolkit extensions to tcl/tk).
|
||||||
|
|
@ -62,7 +62,7 @@ tcl 8.4
|
||||||
tk 8.4
|
tk 8.4
|
||||||
blt 2.4
|
blt 2.4
|
||||||
|
|
||||||
Tclspice is built and installed the same way as ngspice. Then, after reading this
|
Tclspice is built and installed the same way as ngspice. Then, after reading this
|
||||||
paragraph, the information you lack will probably be in README file in this directory.
|
paragraph, the information you lack will probably be in README file in this directory.
|
||||||
There is a configuration flag to set in order to compile tclspice library rather than
|
There is a configuration flag to set in order to compile tclspice library rather than
|
||||||
plain ngspice, that is a standalone program. This flag is --with-tcl. It accepts an
|
plain ngspice, that is a standalone program. This flag is --with-tcl. It accepts an
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ DEBUGGING SPICE
|
||||||
To avoid a segmentation fault in the initial run, use the following
|
To avoid a segmentation fault in the initial run, use the following
|
||||||
command in gdb:
|
command in gdb:
|
||||||
|
|
||||||
setenv SPICE_NO_DATASEG_CHECK "1"
|
setenv SPICE_NO_DATASEG_CHECK "1"
|
||||||
|
|
||||||
Or, the comparable command in your shell before running gdb. This
|
Or, the comparable command in your shell before running gdb. This
|
||||||
disable accurate tracking of how much memory is used.
|
disable accurate tracking of how much memory is used.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue