diff --git a/FAQ b/FAQ index 8b640603a..67d8b8bee 100644 --- a/FAQ +++ b/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 - Last update: 04-27-2020 + Last update: 01-03-2021 This document contains the Frequently Asked Questions (and Answers) for ngspice project. @@ -249,41 +249,41 @@ 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? - New features: - + try first storing the temporary file in user directory, - only then in current directory. - + Add adding the ngspice icon to the MINGW executable. - + Do not print tansient initial conditions, if uic is selected. - + Enable node names with special characters like '/'. - + Do not print "Units" on a graph, if unknown type or settype notype is given. - + Unify batch mode and control mode raw file output. - + Make PPerror message more verbose. - + Make the pwl parameter r adjustable by .param. - + Enable flags xdelta, ydelta for 'gnuplot' command. - + Enable special characters for cpl model names and parameters. - + New command 'cutout': Cut out part of each vector of the current tran plot - and copy into a new plot - + Compatibility switches KiCad 'ki', and Spectre 'spe' - + Remove vceo= and icrating= from bjt model cards. - + The tests of cmaths function will be done only on request. - + Add alternative temperature model for certain jfet parameters. - + Add BJT Kull Quasi-Saturation model. - + Improve self heating tempaerature handling in VDMOS model. - + Use W/nf for selecting binning model. - + Add wnflag as an instance parameter. - + Add PSPICE compatible ISWITCH. - + Add a limit capability to the code model aswitch. - + Add a new code model pswitch. - + Many conde updates not visible to the user, but enhancing stability + + Improved VBIC model + + Get the vector type automatically, if db, ph, cph are applied. + + Enable finding 'spinit' if its path contains spaces. + + Increase buffer size for command 'listing' to 4096 bytes. + + Add compatibility modes for EAGLE (ea) and Spectre (spe). + + Add parameter 'plain' to 'plot' command. + + Add variables 'plainplot', 'plainwrite', 'plainlet' + + Add RF bipolar model HICUM 2.4 to the ngspice C sources. + + Add charge formulation for non-linear capacitors. + + Remove outdated code from contrib and unsupported directories. + + When installing ngspice executable, do not install the headers. + + Add support for tc1, tc2, and m for behavioral resistors, + which use the B source internally. + + Add supporting E_constant Vconst 0 TABLE {Max(V(DP)-V(GN),0)}=((20,120)). + + Remove the XSPICE limitation of the current source flag "current". + + Remove the XSPICE dependency of the phase parameter for the + independent current source. + + Drastically reduce the memory requirements if there is a PDK with + a lot of binning models (e.g. the SkyWater PDK). + + Update to admst: Enhance the Verilog A compatibility. + + Add most recent PSP102, Mextram504, BSIMBULK, and BSIMCMG models + to the ngspice adms sources. + + Model checking for BSIM4.5 will only write to file if an excursion + is detected (still to be added to the other BSIM models) + + Many code updates not visible to the user, but enhancing stability and efficiency - 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 @@ -375,7 +375,7 @@ 4.4. Disclaimer and Copyright - Copyright: Holger Vogt, 2020 + Copyright: Holger Vogt, 2021 License: Creative Commons Attribution Share-Alike (CC-BY-SA) v4.0. This document is provided as is. The information in it is not warranted to be correct: you use it at your own risk. diff --git a/INSTALL b/INSTALL index eaf913c5f..a7826755b 100644 --- a/INSTALL +++ b/INSTALL @@ -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 @@ -323,6 +276,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. +