Prepare ngspice-41
This commit is contained in:
parent
738881a014
commit
6600bf18b4
4
ANALYSES
4
ANALYSES
|
|
@ -116,7 +116,9 @@ Table of Contents
|
||||||
|
|
||||||
11 S-parameter analysis
|
11 S-parameter analysis
|
||||||
|
|
||||||
Evaluate s-parameters on any port of a multiport circuit, store the resulting
|
Evaluate S parameters on any port of a multiport circuit, store the resulting
|
||||||
data in a Touchstone file
|
data in a Touchstone file
|
||||||
|
Load S parameters from s2p file into code model, and do ac simulation on an
|
||||||
|
automatically generated lumped element circuit.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
22
FAQ
22
FAQ
|
|
@ -1,7 +1,7 @@
|
||||||
Ngspice F.A.Q.Version 2.9 (ngspice-40 release)
|
Ngspice F.A.Q.Version 2.9 (ngspice-41 release)
|
||||||
|
|
||||||
Maintained by Holger Vogt
|
Maintained by Holger Vogt
|
||||||
Last update: Mar 24 2023
|
Last update: Aug 11 2023
|
||||||
|
|
||||||
This document contains the Frequently Asked Questions (and Answers)
|
This document contains the Frequently Asked Questions (and Answers)
|
||||||
for ngspice project.
|
for ngspice project.
|
||||||
|
|
@ -96,7 +96,7 @@
|
||||||
from a tcl script and vector plotted or post processed using tcl. A small
|
from a tcl script and vector plotted or post processed using tcl. A small
|
||||||
GUI may be built by the user to analyze a circuit or a set of circuits.
|
GUI may be built by the user to analyze a circuit or a set of circuits.
|
||||||
Tclspice is obtained compiling ngspice activating an additional option.
|
Tclspice is obtained compiling ngspice activating an additional option.
|
||||||
This has not been used and tested for some time.
|
This has not been used and tested for recently.
|
||||||
|
|
||||||
|
|
||||||
1.4 Why resurrecting Berkeley's Spice?
|
1.4 Why resurrecting Berkeley's Spice?
|
||||||
|
|
@ -165,7 +165,7 @@
|
||||||
|
|
||||||
Vivid discussion are going on in the ngspice discussion groups.
|
Vivid discussion are going on in the ngspice discussion groups.
|
||||||
They are found at https://sourceforge.net/p/ngspice/discussion/
|
They are found at https://sourceforge.net/p/ngspice/discussion/
|
||||||
A new group 'ngspice tips and examples' will present interesting
|
A special group 'ngspice tips and examples' will present interesting
|
||||||
ngspice tips (your input is welcome!)
|
ngspice tips (your input is welcome!)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -218,12 +218,14 @@
|
||||||
https://sourceforge.net/projects/ngspice/files/ng-spice-rework/
|
https://sourceforge.net/projects/ngspice/files/ng-spice-rework/
|
||||||
|
|
||||||
Nearly all distributions for MINGW, Cygwin, Linux, macOS and
|
Nearly all distributions for MINGW, Cygwin, Linux, macOS and
|
||||||
others offer install-ready copies of ngspice.
|
others offer install-ready copies of ngspice. Please see
|
||||||
|
https://repology.org/project/ngspice/packages for packages
|
||||||
|
available.
|
||||||
|
|
||||||
|
|
||||||
1.12 Where should I look on the World Wide Web for ngspice stuff?
|
1.12 Where should I look on the World Wide Web for ngspice stuff?
|
||||||
|
|
||||||
Look at the official Ngpice Web Page:
|
Have a look at the official Ngpice Web Page:
|
||||||
|
|
||||||
https://ngspice.sourceforge.io
|
https://ngspice.sourceforge.io
|
||||||
|
|
||||||
|
|
@ -235,6 +237,8 @@
|
||||||
|
|
||||||
Others docs are assembled at:
|
Others docs are assembled at:
|
||||||
https://ngspice.sourceforge.io/literature.html
|
https://ngspice.sourceforge.io/literature.html
|
||||||
|
https://ngspice.sourceforge.io/tutorials.html
|
||||||
|
https://ngspice.sourceforge.io/books.html
|
||||||
|
|
||||||
|
|
||||||
1.14 Are there some (official) tutorials available?
|
1.14 Are there some (official) tutorials available?
|
||||||
|
|
@ -252,7 +256,7 @@
|
||||||
|
|
||||||
The latest version released is:
|
The latest version released is:
|
||||||
|
|
||||||
* ngspice-40 (released on Mar 26 2023)
|
ngspice-41 (released on Aug 13 2023)
|
||||||
|
|
||||||
|
|
||||||
2.2. What are the latest features in the current release?
|
2.2. What are the latest features in the current release?
|
||||||
|
|
@ -289,7 +293,9 @@
|
||||||
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 to the dev discussion group, open a ticket at the ngspice
|
||||||
|
Patches page or post a merge request
|
||||||
|
with Sourceforge. 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.
|
||||||
|
|
||||||
|
|
|
||||||
47
INSTALL
47
INSTALL
|
|
@ -1,8 +1,9 @@
|
||||||
Ngspice installation instructions
|
Ngspice installation instructions
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
Important notice: since ngspice-39 there has been an update
|
Important notice: If you upgrade from ngspice-38 or older
|
||||||
to the XSPICE code models (analog.cm etc.). Therefore it
|
there there is an update required for the XSPICE code
|
||||||
|
models (analog.cm etc.). Therefore it
|
||||||
is not sufficient to only re-make the main executable,
|
is not sufficient to only re-make the main executable,
|
||||||
you will have to compile and install the code models as well,
|
you will have to compile and install the code models as well,
|
||||||
e.g. with --enable-xspice.
|
e.g. with --enable-xspice.
|
||||||
|
|
@ -50,16 +51,20 @@ This file describes the procedures to install ngspice from sources.
|
||||||
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.
|
||||||
|
|
||||||
Ngspice may be compiled in three different variant, each with its own
|
Ngspice may be compiled in three different variants, each with its own
|
||||||
configure settings. Standard ngsoice executable, ngspice as a shared
|
configure settings. Standard ngsoice executable, ngspice as a shared
|
||||||
library and ngspice as a tcl/tk library.
|
library and ngspice as a tcl/tk library.
|
||||||
|
|
||||||
|
Compilation to 64 bit is recommended and available per default in
|
||||||
|
the ./compile_linux.sh compule script. 32 bit might be possible,
|
||||||
|
but is not tested.
|
||||||
|
|
||||||
The following software must be installed in your system to compile
|
The following software must be installed in your system to compile
|
||||||
ngspice as a standard executable (command-line input, file and graphics
|
ngspice as a standard executable (command-line input, file and graphics
|
||||||
output):
|
output):
|
||||||
bison, flex, X11 headers and libs, Xaw, Xmu, Xext, Xft, FontConfig,
|
bison, flex, X11 headers and libs, Xaw, Xmu, Xext, Xft, FontConfig,
|
||||||
Xrender, and freetype headers (e.g. libX11-devel) and libs (e.g. libX11-6),
|
Xrender, freetype headers and readline.
|
||||||
and readline.
|
Typically one needs the headers (e.g. libX11-devel) and the libs (e.g. libX11-6).
|
||||||
|
|
||||||
ngspice as a shared library (no graphics and no command-line interfaces)
|
ngspice as a shared library (no graphics and no command-line interfaces)
|
||||||
will need bison and flex only.
|
will need bison and flex only.
|
||||||
|
|
@ -68,7 +73,7 @@ This file describes the procedures to install ngspice from sources.
|
||||||
internal fft algorithms.
|
internal fft algorithms.
|
||||||
|
|
||||||
If you want to compile the source from the git repository, or if you want to
|
If you want to compile the source from the git repository, or if you want to
|
||||||
use the compile script ./compile_linux.sh, you will need additional software:
|
use the compile script ./compile_linux.sh, you will need additional software:
|
||||||
autoconf, automake, libtool.
|
autoconf, automake, libtool.
|
||||||
|
|
||||||
The following software may be needed when enabling additional features:
|
The following software may be needed when enabling additional features:
|
||||||
|
|
@ -81,21 +86,22 @@ This file describes the procedures to install ngspice from sources.
|
||||||
For compiling ngspice as a shared library, see section 1.4.
|
For compiling ngspice as a shared library, see section 1.4.
|
||||||
|
|
||||||
|
|
||||||
1.2 Install from tarball (e.g. ngspice-40.tar.gz)
|
1.2 Install from tarball (e.g. ngspice-41.tar.gz)
|
||||||
|
|
||||||
This covers installation from a release distribution (for example
|
This covers installation from a release distribution (for example
|
||||||
ngspice-40.tar.gz, the so called tar ball).
|
ngspice-41.tar.gz, the so called tar ball).
|
||||||
|
|
||||||
After downloading the tar ball to a local directory, unpack it by command:
|
After downloading the tar ball to a local directory, unpack it by command:
|
||||||
|
|
||||||
$ tar -zxvf ngspice-40.tar.gz
|
$ tar -zxvf ngspice-41.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).
|
||||||
|
|
||||||
The most comfortable way to compile ngspice is running the compile script
|
The most comfortable way to compile ngspice is running the compile script
|
||||||
compile_linux.sh within the terminal window by ./compile_linux.sh. Admin
|
compile_linux.sh within the terminal window by ./compile_linux.sh. The
|
||||||
rights are required to allow the installation included in the script.
|
script has to be declared as 'executable', and admin
|
||||||
|
rights are required to allow the installation of ngspice.
|
||||||
|
|
||||||
CentOS users may need to add -std=c99 to the CFLAGS in the ../configure
|
CentOS users may need to add -std=c99 to the CFLAGS in the ../configure
|
||||||
statement.
|
statement.
|
||||||
|
|
@ -108,7 +114,9 @@ This file describes the procedures to install ngspice from sources.
|
||||||
$ 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, the XSPICE
|
||||||
|
code models will be installed in /usr/local/lib/ngspice. Some distros use lib64
|
||||||
|
instead.
|
||||||
|
|
||||||
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
|
||||||
|
|
@ -121,7 +129,7 @@ This file describes the procedures to install ngspice from sources.
|
||||||
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-osdi --enable-openmp
|
$ ../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-predictor --enable-osdi --enable-openmp
|
||||||
$ make 2>&1 | tee make.log
|
$ make 2>&1 | tee make.log
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
|
|
||||||
|
|
@ -170,7 +178,7 @@ This file describes the procedures to install ngspice from sources.
|
||||||
$ ./autogen.sh
|
$ ./autogen.sh
|
||||||
$ mkdir release
|
$ mkdir release
|
||||||
$ cd release
|
$ cd release
|
||||||
$ ../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-openmp --enable-osdi
|
$ ../configure --with-x --enable-xspice --disable-debug --enable-cider --with-readline=yes --enable-openmp --enable-predictor --enable-osdi
|
||||||
$ make 2>&1 | tee make.log
|
$ make 2>&1 | tee make.log
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
|
|
||||||
|
|
@ -291,10 +299,8 @@ This file describes the procedures to install ngspice from sources.
|
||||||
--enable-cpdebug
|
--enable-cpdebug
|
||||||
Enable ngspice shell code debug.
|
Enable ngspice shell code debug.
|
||||||
|
|
||||||
--disable-debug
|
--disable-sp
|
||||||
This option will remove the '-g' option passed to the compiler.
|
Disable S Parameter Analysis
|
||||||
This speeds up compilation a *lot*, and is recommended for
|
|
||||||
normal use.
|
|
||||||
|
|
||||||
--enable-ftedebug
|
--enable-ftedebug
|
||||||
Enable ngspice frontend debug.
|
Enable ngspice frontend debug.
|
||||||
|
|
@ -602,9 +608,8 @@ This file describes the procedures to install ngspice from sources.
|
||||||
CIDER and XSPICE are included, the code models for XSPICE
|
CIDER and XSPICE are included, the code models for XSPICE
|
||||||
(*.cm) are made as well.
|
(*.cm) are made as well.
|
||||||
|
|
||||||
There is currently no installation procedure provided, you may
|
ngspice is installed into C:\Spice64\ (release version) or
|
||||||
however install the executable manually as described in the
|
C:\Spice64d\ (debug version).
|
||||||
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
|
||||||
|
|
|
||||||
29
INTERNALS
29
INTERNALS
|
|
@ -17,21 +17,21 @@ CODE ORGANIZATION
|
||||||
"visualc/" project files to enable compilation with MS Visual Studio.
|
"visualc/" project files to enable compilation with MS Visual Studio.
|
||||||
|
|
||||||
"src/" and its subdirectories contain all of the C source code.
|
"src/" and its subdirectories contain all of the C source code.
|
||||||
It contains the top level files "main.c" used by ngspice and
|
It contains the top level files "main.c" used by ngspice and
|
||||||
"sharedspice.c" used by ngspice as shared library.
|
"sharedspice.c" used by ngspice as shared library.
|
||||||
There are also main files for outdated ngnutmeg, nghelp, ngmultidec,
|
There are also main files for outdated ngnutmeg, nghelp, ngmultidec,
|
||||||
ngproc2mod, and ngsconvert.
|
ngproc2mod, and ngsconvert.
|
||||||
|
|
||||||
"src/ciderlib" hosts the code for the CIDER extension to ngspice, a
|
"src/ciderlib" hosts the code for the CIDER extension to ngspice, a
|
||||||
2D process simulator offering connection between process and devices
|
2D process simulator offering connection between process and devices
|
||||||
to be simulated by ngspice.
|
to be simulated by ngspice.
|
||||||
|
|
||||||
"src/xspice" contains the code for the XSPICE extension to ngspice, an
|
"src/xspice" contains the code for the XSPICE extension to ngspice, an
|
||||||
interface to analog and digital code models for true mixed signal simulation.
|
interface to analog and digital code models for true mixed signal simulation.
|
||||||
|
|
||||||
"src/misc" Miscellaneous utility and portability routines.
|
"src/misc" Miscellaneous utility and portability routines.
|
||||||
|
|
||||||
"src/include" Header files for all *.c files of ngspice.
|
"src/include" Header files for all *.c files of ngspice.
|
||||||
|
|
||||||
"src/spicelib" is the device library and analysis portion of ngspice. Within
|
"src/spicelib" is the device library and analysis portion of ngspice. Within
|
||||||
it are the following subdirectories:
|
it are the following subdirectories:
|
||||||
|
|
@ -39,7 +39,7 @@ CODE ORGANIZATION
|
||||||
each device implementation.
|
each device implementation.
|
||||||
analysis/ All of the analysis code.
|
analysis/ All of the analysis code.
|
||||||
parser/ To set up the matrix derived from the netlist.
|
parser/ To set up the matrix derived from the netlist.
|
||||||
|
|
||||||
"src/maths" contains all maths functions of ngspice with
|
"src/maths" contains all maths functions of ngspice with
|
||||||
ni/ Numerical algorithms (used by ckt routines).
|
ni/ Numerical algorithms (used by ckt routines).
|
||||||
sparse/ Sparse matrix package (used by ckt and ni).
|
sparse/ Sparse matrix package (used by ckt and ni).
|
||||||
|
|
@ -49,20 +49,23 @@ CODE ORGANIZATION
|
||||||
misc/ Various math support algorithms
|
misc/ Various math support algorithms
|
||||||
deriv/ Various partial derivatives used by some device models (bjt, MOS1-9)
|
deriv/ Various partial derivatives used by some device models (bjt, MOS1-9)
|
||||||
dense/ Matrix operations used by S-parameter simulation
|
dense/ Matrix operations used by S-parameter simulation
|
||||||
|
|
||||||
"src/frontend" contains the code for interfacing ngspice to its input and output.
|
"src/frontend" contains the code for interfacing ngspice to its input and output.
|
||||||
Files com_*.c contain the control language commands. outitf.c organizes the
|
Files com_*.c contain the control language commands. outitf.c organizes the
|
||||||
output file structure, rawfile.c writes output files, parse.c is the control
|
output file structure, rawfile.c writes output files, parse.c is the control
|
||||||
language function parser. svg and postscript output are handled as well.
|
language function parser. svg and postscript output are handled as well.
|
||||||
inp.c, inpcom.c and subckt.c serve the main input handling functions:
|
inp.c, inpcom.c and subckt.c serve the main input handling functions:
|
||||||
reading the netlist, parsing it, dealing with compatibility, expanding
|
reading the netlist, parsing it, dealing with compatibility, expanding
|
||||||
subcircuits and preparing the internal circuit structure.
|
subcircuits and preparing the internal circuit structure.
|
||||||
|
|
||||||
Furthermore it contains subdirs
|
Furthermore it contains subdirs
|
||||||
help/ The windowed help system (outdated).
|
help/ The windowed help system (outdated).
|
||||||
numparam/ Parser for .param and .func statements.
|
numparam/ Parser for .param and .func statements.
|
||||||
parser/ More front end -- "C shell".
|
parser/ More front end -- "C shell".
|
||||||
wdisp/ MS Windows GUI
|
wdisp/ MS Windows GUI
|
||||||
trannoise/ random number and noise generator
|
trannoise/ random number and noise generator
|
||||||
plotting/ plot interface to X11, gnuplot, and preparing output graphs
|
plotting/ plot interface to X11, gnuplot, and preparing output graphs
|
||||||
(curves and grid), interpreter for 'plot' command (plotit.c)
|
(curves and grid), interpreter for 'plot' command (plotit.c)
|
||||||
|
|
||||||
|
"src/osdi" contains the code for interfacing ngspice to the OpenVAF compiled
|
||||||
|
Verilog-A compact device models.
|
||||||
|
|
|
||||||
9
NEWS
9
NEWS
|
|
@ -1,3 +1,12 @@
|
||||||
|
Ngspice-41, Aug 13th, 2023
|
||||||
|
============
|
||||||
|
- New features:
|
||||||
|
|
||||||
|
- Bug fixes:
|
||||||
|
+ Several crash bugs (double delete, access NULL pointer etc) removed
|
||||||
|
which have occurred mostly due to incomplete or faulty inputs.
|
||||||
|
+ Memory leaks for CIDER removed
|
||||||
|
|
||||||
Ngspice-40, Mar 31st, 2023
|
Ngspice-40, Mar 31st, 2023
|
||||||
============
|
============
|
||||||
- New features:
|
- New features:
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
# problem to the user.
|
# problem to the user.
|
||||||
AC_PREREQ([2.59])
|
AC_PREREQ([2.59])
|
||||||
|
|
||||||
m4_define([ngspice_major_version], [40+])
|
m4_define([ngspice_major_version], [41])
|
||||||
m4_define([ngspice_minor_version], [0])
|
m4_define([ngspice_minor_version], [0])
|
||||||
m4_define([ngspice_version],
|
m4_define([ngspice_version],
|
||||||
[ngspice_major_version])
|
[ngspice_major_version])
|
||||||
|
|
@ -117,7 +117,7 @@ LT_INIT([shared static])
|
||||||
# --> Set 'LT_NGSPICE_AGE' to 0.
|
# --> Set 'LT_NGSPICE_AGE' to 0.
|
||||||
|
|
||||||
LT_NGSPICE_CURRENT=0
|
LT_NGSPICE_CURRENT=0
|
||||||
LT_NGSPICE_REVISION=7
|
LT_NGSPICE_REVISION=8
|
||||||
LT_NGSPICE_AGE=1
|
LT_NGSPICE_AGE=1
|
||||||
LIBNGSPICE_SO_VERSION=$LT_NGSPICE_CURRENT.$LT_NGSPICE_REVISION.$LT_NGSPICE_AGE
|
LIBNGSPICE_SO_VERSION=$LT_NGSPICE_CURRENT.$LT_NGSPICE_REVISION.$LT_NGSPICE_AGE
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue