diff --git a/AUTHORS b/AUTHORS index 72f545d33..d0c747b5a 100644 --- a/AUTHORS +++ b/AUTHORS @@ -38,6 +38,7 @@ Min-Chie Jeng, Beorn Johnson, Stefan Jones, Kenneth H. Keller, +Vadim Kuznetsov, Francesco Lannutti, Robert Larice, Mathew Lew, @@ -61,12 +62,14 @@ Jean-Marc Routure, Jaijeet S. Roychowdhury, Lionel Sainte Cluque, Takayasu Sakurai, +Carsten Schoenert, AMAKAWA Shuhei, Kanwar Jit Singh, Bill Swartz, Hitoshi Tanaka, Brian Taylor, Steve Tell, +Linus Torvalds, Andrew Tuckey, Robert Turnbull, Andreas Unger, diff --git a/COPYING b/COPYING index cc07981ca..d4b814217 100644 --- a/COPYING +++ b/COPYING @@ -1,6 +1,6 @@ Ngspice Licensing -Copyright (c) 2023 by ngspice team +Copyright (c) 2025 by ngspice team All rights reserved. license for this document: CC-BY-SA v4.0 @@ -25,8 +25,8 @@ LGPLv2 * all files in ngspice/src/maths/sparse unnamed MIT license, compatible to New BSD -ngspice/src/spicelib/devices/adms/admst -LGPLv2.1 +* all files in ngspice/src/maths/KLU +LGPLv2 * all files in ngspice/src/osdi MPLv2.0 diff --git a/DEVICES b/DEVICES index 56c4fded3..f0d59c2a2 100644 --- a/DEVICES +++ b/DEVICES @@ -66,6 +66,7 @@ Table of contents 14. XSPICE code models 15. Digital Building Blocks (U instances) 16. Digital Verilog Blocks compiled with Verilator or Icarus Verilog +17. Digital VHDL Blocks compiled with GHDL ------------------ @@ -816,9 +817,9 @@ will be updated every time the device specific code is altered or changed to ref 13. Verilog-A models ngspice inherits the OSDI interface for compiled Verilog-A models - OpenVAF from https://openvaf.semimod.de/ is required to compile - LRM2.x-conforming Verilog-A models into shared libraries which - may be loaded into ngspice dynamically at run-time. + OpenVAF from https://fides.fe.uni-lj.si/openvaf/download/ is + required to compile LRM2.x-conforming Verilog-A models into + shared libraries which may be loaded into ngspice dynamically at run-time. The following models have been tested, example netlists are available: @@ -830,24 +831,30 @@ will be updated every time the device specific code is altered or changed to ref 13.6 MEXTRAM 504/505 13.7 PSP 103.8 13.8 r2_cmc - + More models are available at https://github.com/dwarning/VA-Models, user compiled models are possible as well (See ngspice manual, chapter 9). 14. XSpice code models - + more than 100 models are available, digital, analog, and hybrid. Please see ngspice manual chapt. 8 - + 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. Please see the ngspice manual, chapter 10.1 and 10.2. - + 16. Digital Verilog Blocks compiled with Verilator or Icarus Verilog Verilog digital code may be compiled into a shared library (*.dll, *.so) with Verilator or Icarus Verilog and then directly linked into ngspice via - the code model d_cosim. Please see the ngspice manual, chapter 10.3. + the code model d_cosim. Please see the ngspice manual, chapter 10.3.1 or + 10.3.2 + + 17. Digital VHDL Blocks compiled with GHDL + VHDL digital code may be compiled into a shared library (*.dll, *.so) + with GHDL and then directly linked into ngspice via + the code model d_cosim. Please see the ngspice manual, chapter 10.3.3. diff --git a/FAQ b/FAQ index eaf7108c2..bf849308a 100644 --- a/FAQ +++ b/FAQ @@ -1,7 +1,7 @@ - Ngspice F.A.Q.Version 2.9 (ngspice-41 release) + Ngspice F.A.Q.Version 2.9 (ngspice-45 release) Maintained by Holger Vogt - Last update: Aug 11 2023 + Last update: Aug 29 2025 This document contains the Frequently Asked Questions (and Answers) for ngspice project. @@ -72,8 +72,8 @@ models. - Xspice is an extension to Spice3 that provides code modeling support - and simulation of digital components through an embedded event - driven algorithm. + and simulation of analogue components and especially of digital + components through an embedded event driven algorithm. The NG prefix has lot of meanings: Next Generation, New (and) Good, etc. Choose or invent the one you prefer. The heart of the project is the @@ -90,13 +90,13 @@ 1.3 What is tclspice ? - Tclspice is a another interface option of ngspice, providing a tcl/tk + Tclspice is a another interface option of ngspice, offering a tcl/tk interface to the user. Tclspice is both a batch and interactive simulator and a building block for simulator applications. Analyses can be run from a tcl script and vector plotted or post processed using tcl. A small GUI may be built by the user to analyze a circuit or a set of circuits. - Tclspice is obtained compiling ngspice activating an additional option. - This has not been used and tested for some time now. + Tclspice is obtained by compiling ngspice after activating an additional + option. This feature has not been used and tested for some time now. 1.4 Why resurrecting Berkeley's Spice? @@ -107,7 +107,7 @@ free, it's available in source code and most of the electrical simulators inherited it's syntax. Spice3 is based on proven numerical algorithms (most commercial implementations have only strengthened - them), implements most of the models for MOSFET submicron design + them), implements many of the models for MOSFET submicron design and has a powerful set of analyses. The readily availability of its source code in the past made this simulator the de-facto standard. @@ -217,7 +217,7 @@ https://sourceforge.net/projects/ngspice/files/ng-spice-rework/ - Nearly all distributions for MINGW, Cygwin, Linux, macOS and + Nearly all OS distributions for MINGW, Cygwin, Linux, macOS and others offer install-ready copies of ngspice. Please see https://repology.org/project/ngspice/packages for packages available. @@ -256,7 +256,7 @@ The latest version released is: - ngspice-44 (released on January 2 2025) + ngspice-45 (released on August 31, 2025) 2.2. What are the latest features in the current release? diff --git a/INSTALL b/INSTALL index 40e00dbdb..224a2e57b 100644 --- a/INSTALL +++ b/INSTALL @@ -81,10 +81,10 @@ This file describes the procedures to install ngspice from sources. For compiling ngspice as a shared library, see section 1.4. -1.2 Install from tarball (e.g. ngspice-44.tar.gz) +1.2 Install from tarball (e.g. ngspice-45.tar.gz) This covers installation from a release distribution (for example - ngspice-44.tar.gz, the so called tar ball). + ngspice-45.tar.gz, the so called tar ball). After downloading the tar ball to a local directory, unpack it by command: @@ -94,7 +94,7 @@ This file describes the procedures to install ngspice from sources. INSTALL file can be found). The most comfortable way to compile ngspice is running the compile script - compile_linux.sh within the terminal window by ./compile_linux_new.sh. The + compile_linux.sh within the terminal window by ./compile_linux.sh. The script has to be declared as 'executable', and admin rights are required to allow the installation of ngspice. @@ -169,7 +169,7 @@ This file describes the procedures to install ngspice from sources. $ ./autogen.sh $ mkdir release $ cd release - $ ../configure --with-x --enable-cider --enable-predictor + $ ../configure --with-x --enable-cider $ make 2>&1 | tee make.log $ sudo make install @@ -355,11 +355,11 @@ This file describes the procedures to install ngspice from sources. Unfortunately compiling with MINGW is slow. Compiling with Visual Studio may be more than 10 times faster! - Installing from the tarball, e.g. ngspice-44.tar.gz, is simple: After + Installing from the tarball, e.g. ngspice-45.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 + C:\spice64. The install path can be altered by passing --prefix=NEWPATH as an argument to ./configure during the build process. Put the install path you desire inside "", e.g. "D:/NewSpice". Be