Browse Source

Prepare ngspice-41

pre-master-46
Holger Vogt 3 years ago
parent
commit
6600bf18b4
  1. 4
      ANALYSES
  2. 22
      FAQ
  3. 47
      INSTALL
  4. 29
      INTERNALS
  5. 9
      NEWS
  6. 4
      configure.ac

4
ANALYSES

@ -116,7 +116,9 @@ Table of Contents
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
Load S parameters from s2p file into code model, and do ac simulation on an
automatically generated lumped element circuit.

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
Last update: Mar 24 2023
Last update: Aug 11 2023
This document contains the Frequently Asked Questions (and Answers)
for ngspice project.
@ -96,7 +96,7 @@
from a tcl script and vector plotted or post processed using tcl. A small
GUI may be built by the user to analyze a circuit or a set of circuits.
Tclspice is obtained compiling ngspice activating an additional option.
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?
@ -165,7 +165,7 @@
Vivid discussion are going on in the ngspice discussion groups.
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!)
@ -218,12 +218,14 @@
https://sourceforge.net/projects/ngspice/files/ng-spice-rework/
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?
Look at the official Ngpice Web Page:
Have a look at the official Ngpice Web Page:
https://ngspice.sourceforge.io
@ -235,6 +237,8 @@
Others docs are assembled at:
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?
@ -252,7 +256,7 @@
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?
@ -289,7 +293,9 @@
2.6. How can I join the development?
To join the development just code the feature you want to add and send
your patch in the mailing list. Before you start coding check the
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.
It might be that your feature has already been implemented.

47
INSTALL

@ -1,8 +1,9 @@
Ngspice installation instructions
=================================
Important notice: since ngspice-39 there has been an update
to the XSPICE code models (analog.cm etc.). Therefore it
Important notice: If you upgrade from ngspice-38 or older
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,
you will have to compile and install the code models as well,
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.
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
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
ngspice as a standard executable (command-line input, file and graphics
output):
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),
and readline.
Xrender, freetype headers 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)
will need bison and flex only.
@ -68,7 +73,7 @@ This file describes the procedures to install ngspice from sources.
internal fft algorithms.
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.
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.
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
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:
$ tar -zxvf ngspice-40.tar.gz
$ tar -zxvf ngspice-41.tar.gz
Now change directories in to the top-level source directory (where this
INSTALL file can be found).
The most comfortable way to compile ngspice is running the compile script
compile_linux.sh within the terminal window by ./compile_linux.sh. Admin
rights are required to allow the installation included in the script.
compile_linux.sh within the terminal window by ./compile_linux.sh. The
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
statement.
@ -108,7 +114,9 @@ This file describes the procedures to install ngspice from sources.
$ make
$ 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
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:
$ mkdir 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
$ sudo make install
@ -170,7 +178,7 @@ This file describes the procedures to install ngspice from sources.
$ ./autogen.sh
$ mkdir 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
$ sudo make install
@ -291,10 +299,8 @@ This file describes the procedures to install ngspice from sources.
--enable-cpdebug
Enable ngspice shell code debug.
--disable-debug
This option will remove the '-g' option passed to the compiler.
This speeds up compilation a *lot*, and is recommended for
normal use.
--disable-sp
Disable S Parameter Analysis
--enable-ftedebug
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
(*.cm) are made as well.
There is currently no installation procedure provided, you may
however install the executable manually as described in the
installation tree below.
ngspice is installed into C:\Spice64\ (release version) or
C:\Spice64d\ (debug version).
The directory (visualc) with its files
vngspice.sln (project starter) and

29
INTERNALS

@ -17,21 +17,21 @@ CODE ORGANIZATION
"visualc/" project files to enable compilation with MS Visual Studio.
"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.
There are also main files for outdated ngnutmeg, nghelp, ngmultidec,
ngproc2mod, and ngsconvert.
"src/ciderlib" hosts the code for the CIDER extension to ngspice, a
2D process simulator offering connection between process and devices
to be simulated by ngspice.
"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/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
it are the following subdirectories:
@ -39,7 +39,7 @@ CODE ORGANIZATION
each device implementation.
analysis/ All of the analysis code.
parser/ To set up the matrix derived from the netlist.
"src/maths" contains all maths functions of ngspice with
ni/ Numerical algorithms (used by ckt routines).
sparse/ Sparse matrix package (used by ckt and ni).
@ -49,20 +49,23 @@ CODE ORGANIZATION
misc/ Various math support algorithms
deriv/ Various partial derivatives used by some device models (bjt, MOS1-9)
dense/ Matrix operations used by S-parameter simulation
"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
output file structure, rawfile.c writes output files, parse.c is the control
language function parser. svg and postscript output are handled as well.
inp.c, inpcom.c and subckt.c serve the main input handling functions:
reading the netlist, parsing it, dealing with compatibility, expanding
inp.c, inpcom.c and subckt.c serve the main input handling functions:
reading the netlist, parsing it, dealing with compatibility, expanding
subcircuits and preparing the internal circuit structure.
Furthermore it contains subdirs
Furthermore it contains subdirs
help/ The windowed help system (outdated).
numparam/ Parser for .param and .func statements.
parser/ More front end -- "C shell".
wdisp/ MS Windows GUI
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)
"src/osdi" contains the code for interfacing ngspice to the OpenVAF compiled
Verilog-A compact device models.

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
============
- New features:

4
configure.ac

@ -16,7 +16,7 @@
# problem to the user.
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_version],
[ngspice_major_version])
@ -117,7 +117,7 @@ LT_INIT([shared static])
# --> Set 'LT_NGSPICE_AGE' to 0.
LT_NGSPICE_CURRENT=0
LT_NGSPICE_REVISION=7
LT_NGSPICE_REVISION=8
LT_NGSPICE_AGE=1
LIBNGSPICE_SO_VERSION=$LT_NGSPICE_CURRENT.$LT_NGSPICE_REVISION.$LT_NGSPICE_AGE

Loading…
Cancel
Save