|
|
|
@ -5,13 +5,12 @@ Table of contents |
|
|
|
|
|
|
|
1 Ngspice installation (LINUX) |
|
|
|
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.4 Advanced Install |
|
|
|
1.4.1 Most useful options |
|
|
|
1.4.2 Options Specific to Enable Ngspice as a shared library |
|
|
|
1.4.3 Options Specific to Using Ngspice |
|
|
|
1.4.4 Options Useful for Debugging Ngspice |
|
|
|
1.4.3 Options Useful for Debugging Ngspice |
|
|
|
2 Compilers and Options |
|
|
|
3 Compiling For Multiple Architectures |
|
|
|
4 Installation Names |
|
|
|
@ -21,7 +20,7 @@ Table of contents |
|
|
|
8 Operation Controls |
|
|
|
9 NGSPICE COMPILATION UNDER WINDOWS OS |
|
|
|
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.4 ngspice console app with MINGW or CYGWIN |
|
|
|
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. |
|
|
|
|
|
|
|
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 |
|
|
|
additional software: autoconf, automake, libtool, texinfo, readline. |
|
|
|
additional software: autoconf, automake, libtool. |
|
|
|
|
|
|
|
The following software may be needed when enabling additional features: |
|
|
|
editline, tcl/tk, adms |
|
|
|
@ -53,14 +54,14 @@ This file describes the procedures to install ngspice from sources. |
|
|
|
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 |
|
|
|
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: |
|
|
|
|
|
|
|
$ tar -zxvf ngspice-31.tar.gz |
|
|
|
$ tar -zxvf ngspice-34.tar.gz |
|
|
|
|
|
|
|
Now change directories in to the top-level source directory (where this |
|
|
|
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 |
|
|
|
$ 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 |
|
|
|
the ngspice development team. Please provide information about your system |
|
|
|
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 |
|
|
|
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 |
|
|
|
Enables the use of the BSD editline library (libedit). |
|
|
|
See http://www.thrysoee.dk/editline/ |
|
|
|
|
|
|
|
|
|
|
|
1.4.4 Options Useful for Debugging Ngspice |
|
|
|
1.4.3 Options Useful for Debugging Ngspice |
|
|
|
|
|
|
|
--enable-ansi |
|
|
|
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: |
|
|
|
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 |
|
|
|
==================================== |
|
|
|
|
|
|
|
@ -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). |
|
|
|
Some links are given below which describe the procedures. |
|
|
|
|
|
|
|
Installing from the tarball, e.g. ngspice-32.tar.gz, is now simple: After |
|
|
|
expanding, you may just run ./compile_min.sh from the ngspice-32 directory. |
|
|
|
Installing from the tarball, e.g. ngspice-34.tar.gz, is simple: After |
|
|
|
expanding, you may just run ./compile_min.sh from the ngspice directory. |
|
|
|
|
|
|
|
The default installation location of ngspice is the Windows path |
|
|
|
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 |
|
|
|
is as follows: |
|
|
|
|
|
|
|
$ cd ngspice-32 |
|
|
|
$ cd ngspice |
|
|
|
$ mkdir release |
|
|
|
$ cd release |
|
|
|
$ ../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 |
|
|
|
6. Compile NGSPICE invoking "make -j4" |
|
|
|
7. Install NGSPICE invoking "make install" or "sudo make install" |
|
|
|
|
|
|
|
A compile script compile_macos.sh contains all necessary steps. |
|
|
|
|