Updates to prepare ngspice-38

This commit is contained in:
Holger Vogt 2022-10-23 15:23:49 +02:00
parent 638a09b718
commit 8cec3a62a1
5 changed files with 69 additions and 50 deletions

View File

@ -16,9 +16,6 @@ its source code, test and example files except for the files listed below.
************** files with licenses different to 'Modified BSD' **************** ************** files with licenses different to 'Modified BSD' ****************
* ngspice/contrib
GPL, Public Domain
* ngspice/m4 * ngspice/m4
unnamed, compatible to DFSG unnamed, compatible to DFSG

View File

@ -69,6 +69,7 @@ Table of contents
13.4 HICUM0 Bipolar Model 13.4 HICUM0 Bipolar Model
13.5 Mextram Bipolar Model 13.5 Mextram Bipolar Model
14. XSPICE code models 14. XSPICE code models
15. Digital Building Blocks (U instances)
------------------ ------------------
@ -870,3 +871,9 @@ will be updated every time the device specific code is altered or changed to ref
Web site at: http://mextram.ewi.tudelft.nl/ and http://mextram.sourceforge.net/ Web site at: http://mextram.ewi.tudelft.nl/ and http://mextram.sourceforge.net/
14. XSpice code models, see ngspice manual chapt. 12 14. XSpice code models, see ngspice manual chapt. 12
15. Digital Building Blocks (U instances)
U instances are digital primitives which may be used (in proper combination) to
model digital devices, e.g. from the 74xx or 40xx families. ngspice maps them
onto XSPICE models, which allows a fast event based simulation.

80
FAQ
View File

@ -1,7 +1,7 @@
Ngspice F.A.Q.Version 2.7 (ngspice-37 release) Ngspice F.A.Q.Version 2.8 (ngspice-38 release)
Maintained by Holger Vogt Maintained by Holger Vogt
Last update: May 11 2022 Last update: Oct 23 2022
This document contains the Frequently Asked Questions (and Answers) This document contains the Frequently Asked Questions (and Answers)
for ngspice project. for ngspice project.
@ -151,7 +151,7 @@
and Cider. The ngspice manual today contains description of all and Cider. The ngspice manual today contains description of all
features ngspice is offering. It is however not a tutorial of ngspice features ngspice is offering. It is however not a tutorial of ngspice
usage, but there are now several good ones available on the internet usage, but there are now several good ones available on the internet
(see http://ngspice.sourceforge.net/tutorials.html). (see https://ngspice.sourceforge.io/tutorials.html).
1.7 Legal issues 1.7 Legal issues
@ -208,37 +208,40 @@
web server and then moved to sourceforge. Sourceforge provides an web server and then moved to sourceforge. Sourceforge provides an
archiving service that cam be accessed via the summary page: archiving service that cam be accessed via the summary page:
http://sourceforge.net/p/ngspice/mailman/ https://sourceforge.net/p/ngspice/mailman/
1.11 Where can I get a copy of ngspice? 1.11 Where can I get a copy of ngspice?
You can download ngspice from: You can download ngspice source code or MS Windows executables from:
http://sourceforge.net/projects/ngspice/files/ng-spice-rework/ 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.
1.12 Where should I look on the World Wide Web for ngspice stuff? 1.12 Where should I look on the World Wide Web for ngspice stuff?
Look at the official Ngpice Web Page: Look at the official Ngpice Web Page:
http://ngspice.sourceforge.net https://ngspice.sourceforge.io
1.13 Where should I look on the World Wide Web for Spice documentation? 1.13 Where should I look on the World Wide Web for Spice documentation?
There is a detailed ngspice manual available at: There is a detailed ngspice manual available at:
http://ngspice.sourceforge.net/docs.html https://ngspice.sourceforge.io/docs.html
Others docs are assembled at: Others docs are assembled at:
http://ngspice.sourceforge.net/literature.html https://ngspice.sourceforge.io/literature.html
1.14 Are there some (official) tutorials available? 1.14 Are there some (official) tutorials available?
Yes, they are, for ngspice, ngspice within KiCAD and on eletro-thermal Yes, they are, for ngspice, ngspice within KiCAD and on eletro-thermal
simulation. You may find them at: simulation. You may find them at:
http://ngspice.sourceforge.net/tutorials.html https://ngspice.sourceforge.io/tutorials.html
@ -249,35 +252,46 @@
The latest version released is: The latest version released is:
* ngspice-37 (released on May 22 2022) * ngspice-38 (released on Oct 30 2022)
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:
+ Reduce XSPICE memory consumption dramatically + Add multiplier flag 'm' to behavioral capacitor and inductor.
(> factor of 10). + Re-enable dc sweep after transient sim.
+ Add source stepping to B source + When plotting the phase, standard now is "Radiant".
+ Add 'esave' command to save only specific event nodes. + Add Lundin's geometry correction to the inductance formula.
+ Accept '.temp=125' or .temp='param'. + New variable keep#branch to write the current to raw file
+ Enable output redirection for meas command. in the old fashion 1 v1#branch current
+ Use total current for diffcap calculation in diode model. + Translate PSPICE U instances into equivaalent XSPICE code models.
+ Speed output and reduces file size when plotting large + New configure flag --enable-shortcheck to enable a shortened make check
result vectors (Windows). (only BSIM3 and BSIM4).
+ Enable RKM notation also for inductors (e.g. 1u2 for 1.2u). + B source will accept parameters in statistical functions like agauss.
+ Add S parameter simulation (command '.sp'). + WinGUI: Add a button 'Stop' to stop a simulation in intercative
+ Add new flag 'digitop' for the 'plot' command. or control mode.
+ Add a flag 'alle' (all event nodes) to the plot command. + Update to the .probe p (power measurement) and .probe alli commands.
+ New code model d_pwm: hybrid oscillator (analg control in, + Update to XSPICE aswitch and pswitch.
digital out) with PWM. + Make FROM/TO work in TRIG/TARG and WHEN variants of .meas/meas command.
+ Make "nogrid" plotting option work. + Limits to exp function, allow 0 for log (returning -1e99), used
+ Add current measurement for all nodes of a device, when starting iterations.
e.g. .probe i(Q1) will measure Ic, Ib, Ie (and Is). + Insert XSPICE bridging devices automatically when an analogue node
+ .probe P(dev): Add measurement of power dissipation in a device. has the same name as an XSPICE event node.
+ Add new flags -type and -flags to command devhelp. + New options savecurrents_bsim3, savecurrents_bsim4, savecurrents_mos1.
+ pwlts: a pwl v/i source with time input, smoothing and limiting
functions.
+ New functions to the Code Model Library: cm_get_node_name()
and cm_probe_node().
+ XSPICE: Add bidirectional digital/analog bridge.
+ Search for .spiceinit firstly in a user defined directory named in env
SPICE_USERINIT_DIR, then in the current directory, then in HOME, then
in USERPROFILE.
+ If compatmode is lt, change the pow(x,y) and x**y functions:
If x < 0, output only if y is integer number, otherwise output 0.
+ Add a limit of 0.999 to bipolar parameters mje, mjc, and mjs.
- Bug fixes: - Bug fixes:
+ many bugs fixed and code improvements (see bugs 557 and up) + many bugs fixed and code improvements (see bugs 583 and up)
+ making error messages more verbose + making error messages more verbose
+ memory leaks removed + memory leaks removed
@ -303,7 +317,7 @@
feature-request and bugs trackers. You can use them or subscribe to feature-request and bugs trackers. You can use them or subscribe to
mailing lists and post there. The former is preferred since almost mailing lists and post there. The former is preferred since almost
it allows to track all necessary actions upon a bug. The web site at it allows to track all necessary actions upon a bug. The web site at
http://ngspice.sourceforge.net/bugrep.html will give you more details. https://ngspice.sourceforge.io/bugrep.html will give you more details.
2.6. How can I join the development? 2.6. How can I join the development?

16
INSTALL
View File

@ -11,7 +11,7 @@ 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-36.tar.gz) 1.2 Install from tarball (e.g. ngspice-38.tar.gz)
1.3 Install from git repository 1.3 Install from git repository
1.4 ngspice as a shared library 1.4 ngspice as a shared library
1.5 Advanced Install 1.5 Advanced Install
@ -28,7 +28,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 2019 9.2 make ngspice with MS Visual Studio 2019 or 2022
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
@ -133,7 +133,7 @@ This file describes the procedures to install ngspice from sources.
sections titled 'Install from tarball' and 'Advanced Install'. sections titled 'Install from tarball' and 'Advanced Install'.
Download ngspice sources from the git repository as described on the sourceforge project page Download ngspice sources from the git repository as described on the sourceforge project page
(see http://ngspice.sourceforge.net/download.html and click on the git link) (see https://ngspice.sourceforge.io/download.html and click on the git link)
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).
@ -240,7 +240,7 @@ This file describes the procedures to install ngspice from sources.
--with-editline=yes --with-editline=yes
Enables the use of the BSD editline library (libedit) instead Enables the use of the BSD editline library (libedit) instead
of readline. of readline.
See http://www.thrysoee.dk/editline/ See https://www.thrysoee.dk/editline/
1.5.2 Options Specific to Enable Ngspice as a shared library 1.5.2 Options Specific to Enable Ngspice as a shared library
@ -505,7 +505,7 @@ This file describes the procedures to install ngspice from sources.
$ make install $ make install
However, to compile code extracted from the git repository the procedure is However, to compile code extracted from the git repository the procedure is
a little different. Firstly install git, e.g. from http://git-scm.com/download/win a little different. Firstly install git, e.g. from https://git-scm.com/download/win
To obtain ngspice, you may do the following: To obtain ngspice, you may do the following:
Open the git command window. Go to a directory of your choice, e.g. D:\Spice Open the git command window. Go to a directory of your choice, e.g. D:\Spice
@ -576,7 +576,7 @@ This file describes the procedures to install ngspice from sources.
script compile_min_shared.sh. script compile_min_shared.sh.
9.2 make ngspice with MS Visual Studio 2019 9.2 make ngspice with MS Visual Studio 2019 and 2022
ngspice may be compiled with MS Visual Studio 2019 or newer. ngspice may be compiled with MS Visual Studio 2019 or newer.
@ -700,7 +700,7 @@ cross-compile-shared.sh.
10.2 Compile NGSPICE manually from a tarball 10.2 Compile NGSPICE manually from a tarball
1. Install an X11 interface (like Xquartz) 1. Install an X11 interface (like Xquartz)
2. Install MacPorts from http://www.macports.org 2. Install MacPorts from https://www.macports.org
3. Execute this command: 3. Execute this command:
sudo port install autoconf automake libtool bison flex ncurses sudo port install autoconf automake libtool bison flex ncurses
readline fontconfig freetype libomp xorg-libXaw readline fontconfig freetype libomp xorg-libXaw
@ -713,7 +713,7 @@ cross-compile-shared.sh.
10.3 Compile NGSPICE manually from git 10.3 Compile NGSPICE manually from git
1. Install an X11 interface (like Xquartz) 1. Install an X11 interface (like Xquartz)
2. Install MacPorts from http://www.macports.org 2. Install MacPorts from https://www.macports.org
3. Execute this command: 3. Execute this command:
sudo port install automake autoconf libtool bison flex ncurses xorg-libXaw sudo port install automake autoconf libtool bison flex ncurses xorg-libXaw
readline fontconfig freetype libomp SM ICE readline fontconfig freetype libomp SM ICE

13
README
View File

@ -9,9 +9,10 @@ Spice3 does not need any introduction, is the most popular circuit
simulator. In over 30 years of its life Spice3 has become a de-facto simulator. In over 30 years of its life Spice3 has become a de-facto
standard for simulating circuits. standard for simulating circuits.
Cider couples Spice3f5 circuit level simulator to DSIM device simulator Cider couples Spice3f5 circuit level simulator to a device simulator
to provide greater simulation accuracy of critical devices. DSIM to provide greater simulation accuracy of critical devices. So you may
devices are described in terms of their structures and materials. create device models for diodes, bipolar, JFet and MOSFETs derived
from their cross-sectional structures and materials.
Xspice is an extension to Spice3C1 that provides code modelling support Xspice is an extension to Spice3C1 that provides code modelling support
and simulation of digital components through an embedded event driven and simulation of digital components through an embedded event driven
@ -62,6 +63,6 @@ WEB SITEs:
-------- --------
This project is hosted on Sourceforge.net. This project is hosted on Sourceforge.net.
The home page is http://ngspice.sourceforge.net The home page is https://ngspice.sourceforge.io
The page offering source code and user interaction is The page offering source code, MS Windows executables, and user interaction is
http://sourceforge.net/projects/ngspice https://sourceforge.net/projects/ngspice