Update for ngspice-34

This commit is contained in:
Holger Vogt 2021-01-03 09:27:04 +01:00
parent eedb5b9027
commit d0ef8618a1
2 changed files with 52 additions and 93 deletions

60
FAQ
View File

@ -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
View File

@ -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.