Path to this page:
Subject: CVS commit: pkgsrc/cad/ng-spice
From: Manuel Bouyer
Date: 2023-06-06 11:54:12
Message id: 20230606095412.6C1ABFA89@cvs.NetBSD.org
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
Files: