Update for ngspice-34
This commit is contained in:
parent
eedb5b9027
commit
d0ef8618a1
60
FAQ
60
FAQ
|
|
@ -1,7 +1,7 @@
|
||||||
Ngspice F.A.Q.Version 2.5 (ngspice-33 release)
|
Ngspice F.A.Q.Version 2.6 (ngspice-34 release)
|
||||||
|
|
||||||
Maintained by Holger Vogt
|
Maintained by Holger Vogt
|
||||||
Last update: 04-27-2020
|
Last update: 01-03-2021
|
||||||
|
|
||||||
This document contains the Frequently Asked Questions (and Answers)
|
This document contains the Frequently Asked Questions (and Answers)
|
||||||
for ngspice project.
|
for ngspice project.
|
||||||
|
|
@ -249,41 +249,41 @@
|
||||||
|
|
||||||
The latest version released is:
|
The latest version released is:
|
||||||
|
|
||||||
* ngspice-33 (released on 18/10/2020)
|
* ngspice-34 (released on 10/01/2021)
|
||||||
|
|
||||||
|
|
||||||
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:
|
||||||
+ try first storing the temporary file in user directory,
|
+ Improved VBIC model
|
||||||
only then in current directory.
|
+ Get the vector type automatically, if db, ph, cph are applied.
|
||||||
+ Add adding the ngspice icon to the MINGW executable.
|
+ Enable finding 'spinit' if its path contains spaces.
|
||||||
+ Do not print tansient initial conditions, if uic is selected.
|
+ Increase buffer size for command 'listing' to 4096 bytes.
|
||||||
+ Enable node names with special characters like '/'.
|
+ Add compatibility modes for EAGLE (ea) and Spectre (spe).
|
||||||
+ Do not print "Units" on a graph, if unknown type or settype notype is given.
|
+ Add parameter 'plain' to 'plot' command.
|
||||||
+ Unify batch mode and control mode raw file output.
|
+ Add variables 'plainplot', 'plainwrite', 'plainlet'
|
||||||
+ Make PPerror message more verbose.
|
+ Add RF bipolar model HICUM 2.4 to the ngspice C sources.
|
||||||
+ Make the pwl parameter r adjustable by .param.
|
+ Add charge formulation for non-linear capacitors.
|
||||||
+ Enable flags xdelta, ydelta for 'gnuplot' command.
|
+ Remove outdated code from contrib and unsupported directories.
|
||||||
+ Enable special characters for cpl model names and parameters.
|
+ When installing ngspice executable, do not install the headers.
|
||||||
+ New command 'cutout': Cut out part of each vector of the current tran plot
|
+ Add support for tc1, tc2, and m for behavioral resistors,
|
||||||
and copy into a new plot
|
which use the B source internally.
|
||||||
+ Compatibility switches KiCad 'ki', and Spectre 'spe'
|
+ Add supporting E_constant Vconst 0 TABLE {Max(V(DP)-V(GN),0)}=((20,120)).
|
||||||
+ Remove vceo= and icrating= from bjt model cards.
|
+ Remove the XSPICE limitation of the current source flag "current".
|
||||||
+ The tests of cmaths function will be done only on request.
|
+ Remove the XSPICE dependency of the phase parameter for the
|
||||||
+ Add alternative temperature model for certain jfet parameters.
|
independent current source.
|
||||||
+ Add BJT Kull Quasi-Saturation model.
|
+ Drastically reduce the memory requirements if there is a PDK with
|
||||||
+ Improve self heating tempaerature handling in VDMOS model.
|
a lot of binning models (e.g. the SkyWater PDK).
|
||||||
+ Use W/nf for selecting binning model.
|
+ Update to admst: Enhance the Verilog A compatibility.
|
||||||
+ Add wnflag as an instance parameter.
|
+ Add most recent PSP102, Mextram504, BSIMBULK, and BSIMCMG models
|
||||||
+ Add PSPICE compatible ISWITCH.
|
to the ngspice adms sources.
|
||||||
+ Add a limit capability to the code model aswitch.
|
+ Model checking for BSIM4.5 will only write to file if an excursion
|
||||||
+ Add a new code model pswitch.
|
is detected (still to be added to the other BSIM models)
|
||||||
+ Many conde updates not visible to the user, but enhancing stability
|
+ Many code updates not visible to the user, but enhancing stability
|
||||||
and efficiency
|
and efficiency
|
||||||
|
|
||||||
- Bug fixes:
|
- Bug fixes:
|
||||||
+ many bugs fixed and code improvements (see bugs 484 and up)
|
+ many bugs fixed and code improvements (see bugs 523 and up)
|
||||||
+ memory leaks removed
|
+ memory leaks removed
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -375,7 +375,7 @@
|
||||||
|
|
||||||
4.4. Disclaimer and Copyright
|
4.4. Disclaimer and Copyright
|
||||||
|
|
||||||
Copyright: Holger Vogt, 2020
|
Copyright: Holger Vogt, 2021
|
||||||
License: Creative Commons Attribution Share-Alike (CC-BY-SA) v4.0.
|
License: Creative Commons Attribution Share-Alike (CC-BY-SA) v4.0.
|
||||||
This document is provided as is. The information in it is not
|
This document is provided as is. The information in it is not
|
||||||
warranted to be correct: you use it at your own risk.
|
warranted to be correct: you use it at your own risk.
|
||||||
|
|
|
||||||
85
INSTALL
85
INSTALL
|
|
@ -5,13 +5,12 @@ Table of contents
|
||||||
|
|
||||||
1 Ngspice installation (LINUX)
|
1 Ngspice installation (LINUX)
|
||||||
1.1 Prerequisites
|
1.1 Prerequisites
|
||||||
1.2 Install from tarball (e.g. ngspice-31.tar.gz)
|
1.2 Install from tarball (e.g. ngspice-34.tar.gz)
|
||||||
1.3 Install from git repository
|
1.3 Install from git repository
|
||||||
1.4 Advanced Install
|
1.4 Advanced Install
|
||||||
1.4.1 Most useful options
|
1.4.1 Most useful options
|
||||||
1.4.2 Options Specific to Enable Ngspice as a shared library
|
1.4.2 Options Specific to Enable Ngspice as a shared library
|
||||||
1.4.3 Options Specific to Using Ngspice
|
1.4.3 Options Useful for Debugging Ngspice
|
||||||
1.4.4 Options Useful for Debugging Ngspice
|
|
||||||
2 Compilers and Options
|
2 Compilers and Options
|
||||||
3 Compiling For Multiple Architectures
|
3 Compiling For Multiple Architectures
|
||||||
4 Installation Names
|
4 Installation Names
|
||||||
|
|
@ -21,7 +20,7 @@ Table of contents
|
||||||
8 Operation Controls
|
8 Operation Controls
|
||||||
9 NGSPICE COMPILATION UNDER WINDOWS OS
|
9 NGSPICE COMPILATION UNDER WINDOWS OS
|
||||||
9.1 How to make ngspice with MINGW and MSYS
|
9.1 How to make ngspice with MINGW and MSYS
|
||||||
9.2 make ngspice with MS Visual Studio 2015/2017
|
9.2 make ngspice with MS Visual Studio 2019
|
||||||
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
|
||||||
9.5 cross compiling ngspice for Windows from LINUX
|
9.5 cross compiling ngspice for Windows from LINUX
|
||||||
|
|
@ -40,10 +39,12 @@ This file describes the procedures to install ngspice from sources.
|
||||||
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, 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.
|
||||||
|
|
||||||
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, readline.
|
additional software: autoconf, automake, libtool.
|
||||||
|
|
||||||
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
|
||||||
|
|
@ -53,14 +54,14 @@ This file describes the procedures to install ngspice from sources.
|
||||||
information on ngspice and its usage.
|
information on ngspice and its usage.
|
||||||
|
|
||||||
|
|
||||||
1.2 Install from tarball (e.g. ngspice-31.tar.gz)
|
1.2 Install from tarball (e.g. ngspice-34.tar.gz)
|
||||||
|
|
||||||
This covers installation from a release distribution (for example
|
This covers installation from a release distribution (for example
|
||||||
ngspice-31.tar.gz, the so called tar ball).
|
ngspice-34.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-31.tar.gz
|
$ tar -zxvf ngspice-34.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).
|
||||||
|
|
@ -136,6 +137,8 @@ This file describes the procedures to install ngspice from sources.
|
||||||
$ make 2>&1 | tee make.log
|
$ make 2>&1 | tee make.log
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
|
|
||||||
|
A bash script compile_linux.sh is available including all useful options.
|
||||||
|
|
||||||
If a problem is found with the build process, please submit a report to
|
If a problem is found with the build process, please submit a report to
|
||||||
the ngspice development team. Please provide information about your system
|
the ngspice development team. Please provide information about your system
|
||||||
and any ./configure arguments you are using, together with any error
|
and any ./configure arguments you are using, together with any error
|
||||||
|
|
@ -214,62 +217,12 @@ This file describes the procedures to install ngspice from sources.
|
||||||
"tclspice" is compiled and installed instead of
|
"tclspice" is compiled and installed instead of
|
||||||
plain ngspice.
|
plain ngspice.
|
||||||
|
|
||||||
|
|
||||||
1.4.3 Options Specific to Using Ngspice
|
|
||||||
|
|
||||||
Most of the options now following are not well maintained, are not tested or even maybe
|
|
||||||
obsolete and dangerous.
|
|
||||||
|
|
||||||
--enable-capbypass
|
|
||||||
Bypass calculation of cbd/cbs in the mosfets if the vbs/vbd
|
|
||||||
voltages are unchanged.
|
|
||||||
|
|
||||||
--enable-cluster
|
|
||||||
Clustering code for distributed simulation. This is a
|
|
||||||
contribution never tested. This code comes from TCLspice
|
|
||||||
implementation and is implemented for transient analysis only.
|
|
||||||
|
|
||||||
--enable-expdevices
|
|
||||||
Enable experimental devices. This option is used by developers
|
|
||||||
to mask devices under development. Almost useless for users.
|
|
||||||
|
|
||||||
--enable-experimental
|
|
||||||
define EXPERIMENTAL_CODE to mark experimental parts the code
|
|
||||||
(currently not used)
|
|
||||||
|
|
||||||
--enable-help
|
|
||||||
Force building nghelp. This is deprecated.
|
|
||||||
|
|
||||||
--enable-ndev
|
|
||||||
Enable NDEV interface, (experimental, needs updating)
|
|
||||||
A TCP/IP interface to external device simulator such as GSS.
|
|
||||||
For more information, please visit the homepage of GSS at
|
|
||||||
http://gss-tcad.sourceforge.net
|
|
||||||
|
|
||||||
--enable-newpred
|
|
||||||
Enable the NEWPRED symbol in the code.
|
|
||||||
|
|
||||||
--enable-newtrunc
|
|
||||||
Enable the newtrunc option
|
|
||||||
|
|
||||||
--enable-nodelimiting
|
|
||||||
Experimental damping scheme
|
|
||||||
|
|
||||||
--enable-nobypass
|
|
||||||
Don't bypass recalculations of slowly changing variables
|
|
||||||
|
|
||||||
--enable-predictor
|
|
||||||
Enable a predictor method for convergence
|
|
||||||
|
|
||||||
--enable-sense2
|
|
||||||
Use spice2 sensitivity analysis
|
|
||||||
|
|
||||||
--with-editline=yes
|
--with-editline=yes
|
||||||
Enables the use of the BSD editline library (libedit).
|
Enables the use of the BSD editline library (libedit).
|
||||||
See http://www.thrysoee.dk/editline/
|
See http://www.thrysoee.dk/editline/
|
||||||
|
|
||||||
|
|
||||||
1.4.4 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
|
||||||
|
|
@ -324,6 +277,9 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
Or on systems that have the `env' program, you can do it like this:
|
Or on systems that have the `env' program, you can do it like this:
|
||||||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||||
|
|
||||||
|
On CentOS with older GCC it might be necessary to add -std=c99
|
||||||
|
to the CFLAGS in ./compile_linux.sh .
|
||||||
|
|
||||||
3 Compiling For Multiple Architectures
|
3 Compiling For Multiple Architectures
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
|
|
@ -461,8 +417,8 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
automake, libtool, FLEX and BISON, all available with pacman in MSYSS2).
|
automake, libtool, FLEX and BISON, all available with pacman in MSYSS2).
|
||||||
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-32.tar.gz, is now simple: After
|
Installing from the tarball, e.g. ngspice-34.tar.gz, is simple: After
|
||||||
expanding, you may just run ./compile_min.sh from the ngspice-32 directory.
|
expanding, you may just run ./compile_min.sh from the ngspice 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
|
||||||
|
|
@ -477,7 +433,7 @@ Most of the options now following are not well maintained, are not tested or eve
|
||||||
the ngspice website), if you don't want to use the script named above
|
the ngspice website), if you don't want to use the script named above
|
||||||
is as follows:
|
is as follows:
|
||||||
|
|
||||||
$ cd ngspice-32
|
$ cd ngspice
|
||||||
$ mkdir release
|
$ mkdir release
|
||||||
$ cd release
|
$ cd release
|
||||||
$ ../configure --with-wingui ...and other options
|
$ ../configure --with-wingui ...and other options
|
||||||
|
|
@ -696,3 +652,6 @@ cross-compile-shared.sh.
|
||||||
./configure --enable-adms --enable-cider --enable-xspice --enable-openmp --enable-pss --with-readline=yes --enable-debug=no
|
./configure --enable-adms --enable-cider --enable-xspice --enable-openmp --enable-pss --with-readline=yes --enable-debug=no
|
||||||
6. Compile NGSPICE invoking "make -j4"
|
6. Compile NGSPICE invoking "make -j4"
|
||||||
7. Install NGSPICE invoking "make install" or "sudo make install"
|
7. Install NGSPICE invoking "make install" or "sudo make install"
|
||||||
|
|
||||||
|
A compile script compile_macos.sh contains all necessary steps.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue