./cad/ng-spice, Next generation circuit simulation program

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 40nb1, Package name: ng-spice-40nb1, Maintainer: dmcmahill

NG-SPICE is the program being developed as the replacement for Berkeley
SPICE. Using the Berkeley code as a starting point, the NG-SPICE team
is working on improving the build system, adding to the models, and
improving the analysis capability.

SPICE is a general-purpose circuit simulation program for nonlinear dc,
nonlinear transient, and linear ac analyses. Circuits may contain resistors,
capacitors, inductors, mutual inductors, independent voltage and current
sources, four types of dependent sources, lossless and lossy transmission
lines (two separate implementations), switches, uniform distributed RC
lines, and the five most common semiconductor devices: diodes, BJTs, JFETs,
MESFETs, and MOSFETs.

NG-SPICE is part of the gEDA project.


Required to run:
[math/fftw] [devel/readline]

Required to build:
[pkgtools/x11-links] [pkgtools/cwrappers]

Master sites:

Filesize: 9210.919 KB

Version history: (Expand)


CVS history: (Expand)


   2024-08-05 15:11:06 by Tobias Nygren | Files touched by this commit (1)
Log message:
ng-spice: sprinkle feature test macros
   2023-11-12 14:24:43 by Thomas Klausner | Files touched by this commit (2570)
Log message:
*: revebump for new brotli option for freetype2

Addresses PR 57693
   2023-09-01 12:53:36 by Nia Alarie | Files touched by this commit (1)
Log message:
ng-spice: Add various missing dependencies.
   2023-08-02 18:17:20 by Nia Alarie | Files touched by this commit (41)
Log message:
*: Use FORCE_C_STD=c99 for C packages that use for loop initial
declarations without setting -std=c99.
   2023-07-09 15:20:23 by Nia Alarie | Files touched by this commit (1)
Log message:
ng-spice: Assumes compiler defaults to c99
   2023-06-06 11:54:12 by Manuel Bouyer | Files touched by this commit (4) | Package updated
Log message:
Update ng-spice to 40 and move some settings from Makefile to Makefile.common,
in preparation for upcoming ng-spice-shared. OK dmcmahill@

Changes since ng-spice 31:
- lots of bug fixes

Ngspice-40, Mar 31st, 2023
============
- New features:
    + VBIC: Add optional parameters for determining the operation region
    + VBIC: Add bvbe, bvbc, bvce, bvsub as SOA parameters
    + Add inertial delay to all basic digital code models, make it available
      for U devices
    + VDMOS default parameters are now similar to IRF540 IRF9540
    + Add function atanh to .control section
    + Add a scale factor 'a' (atto, 1e-18)

Ngspice-39, Jan 31st, 2023
============
- New features:
    + OSDI interface integrated to read und simulate with
      OpenVAF-compiled Verilog-A compact models delivers
      access to open CMC models and many others.
    + ADMS is declared deprecated.
    + Extended support of digital U devices with f_logicexp and f_pindly,
      ngspice now fully simulates 74xx ICs.
    + BSIM4 updated to 4.8.2
    + Examples for Laplace model x_fer added
    + String-valued parameters enabled
    + Add --enable-shortcheck as configure option to reduce check time
    + Add a function ddt (derivative versus time) to the B-source
    + The 8th parameter on a voltage or current source now is 'number of pulses'
    + Add a new compatibility mode xs (for XSPICE legacy behavior)
    + Add new functions for operators x**y or x^y
    + Add a user definable variable enable_noisy_r (for .spiceinit)
    + Replace obscure warning "singular matrix: check nodes mymode1 and \ 
mynode1"
      by "singular matrix: check node mynode1", if both node names are \ 
equal.
    + Preprocessor flag PREDICTOR is enabled
    + Search path for *.osdi lib files extended: current, inputdir, relative
      to executable

Ngspice-38, Oct 30th, 2022
============
- New features:
    + Add multiplier flag 'm' to behavioral capacitor and inductor.
    + Re-enable dc sweep after transient sim.
    + When plotting the phase, standard now is "Radiant".
    + Add Lundin's geometry correction to the inductance formula.
    + New variable keep#branch to write the current to raw file
      in the old fashion     	1	v1#branch	current
    + Translate PSPICE U instances into equivaalent XSPICE code models.
    + New configure flag --enable-shortcheck to enable a shortened make check
     (only BSIM3 and BSIM4).
    + B source will accept parameters in statistical functions like agauss.
    + WinGUI: Add a button 'Stop' to stop a simulation in intercative
      or control mode.
    + Update to the .probe p (power measurement) and .probe alli commands.
    + Update to XSPICE aswitch and pswitch.
    + Make FROM/TO work in TRIG/TARG and WHEN variants of .meas/meas command.
    + Limits to exp function, allow 0 for log (returning -1e99), used
      when starting iterations.
    + Insert XSPICE bridging devices automatically when an analogue node
      has the same name as an XSPICE event node.
    + 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.

Ngspice-37, May 22nd, 2022
============
- New features:
    + Reduce XSPICE memory consumption dramatically
      (> factor of 10).
    + Add source stepping to B source
    + Add 'esave' command to save only specific event nodes.
    + Accept '.temp=125' or .temp='param'.
    + Enable output redirection for meas command.
    + Use total current for diffcap calculation in diode model.
    + Speed output and reduces file size when plotting large
      result vectors (Windows).
    + Enable RKM notation also for inductors (e.g. 1u2 for 1.2u).
    + Add S parameter simulation (command '.sp').
    + Add new flag 'digitop' for the 'plot' command.
    + Add a flag 'alle' (all event nodes) to the plot command.
    + New code model d_pwm: hybrid oscillator (analg control in,
      digital out) with PWM.
    + Make "nogrid" plotting option work.
    + Add current measurement for all nodes of a device,
      e.g. .probe i(Q1) will measure Ic, Ib, Ie (and Is).
    + .probe P(dev): Add measurement of power dissipation in a device.
    + Add new flags -type and -flags to command devhelp.

Ngspice-36, January 1st, 2022
============
- New features:
    + Add function 'integ' to control language.
    + New dot command .probe
      for current and differential voltage measurements.
    + Allow math characters in node names.
    + Enable x/y contour plots for 2d Cider using gnuplot.
    + Update to bipolar model, incl. IBE and IBC parameters.
    + Add garbage collector to cpl code to remove any mem leakage.
    + Enable .save within subcircuits.
    + New compile scripts for macOS, for Apple clang and Homebrew gcc.
      gcc allows compiling a fully featured ngspice (incl. OpenMP) on MAC.
    + Add RKM notation (e.g. 4k7) if compat mode LT.
    + Add 'ยต' as special character in netlists.
    + Add parameter 'r' to command 'listing' for (runable).
    + Fix several issues with CIDER.
    + New command 'wrnodev' to print  matrix RHS in form of .ic = V(node_xx).
    + Transient operating pointadded to gmin and source stepping.
    + More SOA parameters on more devices (V, I, T, P).

Ngspice-35, August 8th, 2021
============
- New features:
    + Replace double braces {{...}} by {(...)} in netlist (PSLT mode).
    + Add plotting of graphics in SVG format.
    + Setting variable 'nounits' allows suppressing the unit in a graph.
    + In sharedspice API, convert all boolean variables to type integer
      for C++ compatibility.
    + Add geometry scaling to diode device model (level 3).
    + In PS mode exp function is limited to exp(14).
    + Speed enhancement for using SkyWater PDK under Linux.
    + Add option Cshunt which adds a capacitor to each circuit voltage node.
    + Diode device model now has a self heating option.
    + Allow opening files with names containing ANSI special characters.
    + Enable using parameters in .options lines.
    + For C and R devices enable value tokens like 4k7 or 1u2
      in addition to 4.7k and 1.2u.
    + New XSPICE pswitch for internally replacing the vswitch.
    + Within a single run, allow multiple PS or SVG plots with different names.
    + Don't replace a device model name by a parameter,
      if both have the same names.
    + Analog delay code model 'delay'.
    + B source (ASRC) will acknowledge temp and dtemp instance parameters.
    + In CIDER printing of either ASCII or binary is supported.
    + PSP models now support NMOS and PMOS, update to parameters and examples.
    + E and G source TABLE function replaces by a B source pwl.
    + re-enable making the old help system for Linux/Cygwin
      by --enable-help --enable-oldapps.
    + Enable the m parameter in E, G, B, R behavioral source/devices.

Ngspice-34, Jan 31st, 2021
============
- New features:
    + 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.
    + 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

Ngspice-33, Oct 18th, 2020
============
- New features:
    + try first storing the temporary file in user directory,
      only then in current directory.
    + Do not print transient 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
      and efficiency

Ngspice-32, Apr 25th, 2020
============

- New features:
    + Add resource info on memory used and available for macOS
    + redesign of memory monitoring
    + Replace B source pwl by XSPICE PWL Controlled Source that has smooth \ 
rounded and
      stepless differentiable corners.
    + Get a variable directly from an input file with i/o redirection
    + Make 64 bit compilation the standard
    + Add function 'conj'
    + Improved error messages for 'meas' command
    + Improved PSPICE compatibility
    + VDMOS model now allows electro-thermal simulation
      Optionally (instance flag 'thermal') 2 thermal nodes tj and tcase are added
      to the device instance
    + Enable utf-8 and UNICODE for string handling (maybe switch off by \ 
--disable-utf8)
    + Vastly redisigned plotting capability: vertical text for labeling y axis,
      independent color selection for background, grid/text and graphs,
      independent width selection for grid and graph, access to UNICODE fonts,
      characters may become ticmarks (variable 'ticchar'), RGB color tables included,
      variable 'nolegend' switches off the legend
    + Add variables 'oscompiled'
    + Command 'let' to allow default low and high indices
    + Upon calculating the operating point, true gmin stepping added
    + Free the internal control structure memory by sending ngSpice_Command(NULL)
    + No interrupt handling (SIGINT) in shared ngspice
    + Limit the exp function to exp(14)
    + Event simulation output data may be selected by command 'setplot'
    + Many code updates not directly visible to the user, enhancing stability
      and efficiency
   2021-10-26 12:04:17 by Nia Alarie | Files touched by this commit (63)
Log message:
cad: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes
   2021-10-07 15:20:33 by Nia Alarie | Files touched by this commit (63)
Log message:
cad: Remove SHA1 hashes for distfiles