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:
RevisionActionfile
1.49modifypkgsrc/cad/ng-spice/Makefile
1.15modifypkgsrc/cad/ng-spice/PLIST
1.21modifypkgsrc/cad/ng-spice/distinfo
1.1addpkgsrc/cad/ng-spice/Makefile.common