2021-07-20 21:40:58 +02:00
|
|
|
Ngspice-35, July 31st, 2021
|
|
|
|
|
============
|
|
|
|
|
- New features:
|
|
|
|
|
+ Version info in sharedspice.h.
|
|
|
|
|
+ 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.
|
|
|
|
|
+ Update of macOS configure script.
|
|
|
|
|
+ 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.
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ many bugs fixed and code improvements (see bugs 539 and up)
|
|
|
|
|
+ memory leaks removed
|
|
|
|
|
|
|
|
|
|
|
2021-01-30 13:43:58 +01:00
|
|
|
Ngspice-34, Jan 31st, 2021
|
2020-12-25 15:46:35 +01:00
|
|
|
============
|
|
|
|
|
- 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.
|
|
|
|
|
+ Remove outdated code from contrib and unsupported directories.
|
|
|
|
|
+ When installing ngspice executable, do not install the headers.
|
|
|
|
|
+ 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
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ many bugs fixed and code improvements (see bugs 523 and up)
|
|
|
|
|
+ memory leaks removed
|
2021-07-20 21:40:58 +02:00
|
|
|
|
|
|
|
|
|
2020-12-25 15:46:35 +01:00
|
|
|
|
2020-10-11 22:30:57 +02:00
|
|
|
Ngspice-33, Oct 18th, 2020
|
|
|
|
|
============
|
|
|
|
|
- New features:
|
|
|
|
|
+ try first storing the temporary file in user directory,
|
|
|
|
|
only then in current directory.
|
|
|
|
|
+ Add adding the ngspice icon to the MINGW executable.
|
2020-12-25 15:46:35 +01:00
|
|
|
+ Do not print transient initial conditions, if uic is selected.
|
2020-10-11 22:30:57 +02:00
|
|
|
+ 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
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ many bugs fixed and code improvements (see bugs 484 and up)
|
|
|
|
|
+ memory leaks removed
|
|
|
|
|
|
|
|
|
|
|
2020-04-25 11:29:36 +02:00
|
|
|
Ngspice-32, Apr 25th, 2020
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- New features:
|
2020-04-25 13:32:35 +02:00
|
|
|
+ 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
|
|
|
|
|
+ On Windows VisualStudio compilation we support only VS2019
|
|
|
|
|
+ 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'
|
2020-05-02 11:59:02 +02:00
|
|
|
+ Many code updates not directly visible to the user, enhancing stability
|
2020-04-25 13:32:35 +02:00
|
|
|
and efficiency
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ many bugs fixed and code improvements (see bugs 427 and up)
|
|
|
|
|
+ memory leaks removed
|
|
|
|
|
|
2020-04-25 11:29:36 +02:00
|
|
|
|
2019-09-15 21:13:28 +02:00
|
|
|
Ngspice-31, Sep 22nd, 2019
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- New features:
|
|
|
|
|
+ if a subcircuit is defined more than once, only read the first one and discard the others
|
|
|
|
|
+ vbic model implementation including self-heating effect
|
|
|
|
|
+ Enable the file input as additional search path for .include files also for non-Windows OSs
|
|
|
|
|
+ add scope to decks and subcircuits (not yet fully implemented)
|
|
|
|
|
+ enable 'res' as valid resistor model identifier
|
|
|
|
|
+ Add variable 'nostepsizelimit' to relieve step size limit defined by TSTEP of the .tran command
|
|
|
|
|
+ Windows GUI: make GUI more responsive
|
|
|
|
|
+ if the comaptibility mode is PS, LTPS or LTPSA, '$' is treated as a valid character, not as
|
|
|
|
|
end-of-line comment delimiter
|
|
|
|
|
+ allow very short version information with new options -v and -d to 'version' command
|
|
|
|
|
+ the PSPICE area token for a device instance may be not only a number, but also a parametrized
|
|
|
|
|
token like {tok}
|
|
|
|
|
+ Windows GUI: New history buffering
|
|
|
|
|
+ Windows GUI: Added scrolling to input window
|
|
|
|
|
+ update to hicum version 2.40
|
|
|
|
|
+ allow " around netnames for .plot and .print commands
|
|
|
|
|
+ command 'setcs': like command 'set' but case sensitive
|
|
|
|
|
+ linearized cutout of an original vector by defining the vectors lin-tstart, lin-tstop,
|
|
|
|
|
and lin-tstep before sending the 'linearize' command
|
|
|
|
|
+ new examples: inverters and ring oscillator using SOI
|
|
|
|
|
+ 'option norefvalue' to suppress printing the reference value
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ many bugs fixed and code improvements (patches 33 - 64, bug tracker nos. 390,
|
|
|
|
|
394, 395, 403, 404, 408)
|
|
|
|
|
+ memory leaks removed
|
|
|
|
|
|
2018-12-23 14:37:32 +01:00
|
|
|
Ngspice-30, Jan 1st, 2019
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- New features:
|
|
|
|
|
+ VDMOS device model has been overhauled extensively
|
2018-12-23 14:44:00 +01:00
|
|
|
+ Making the manual is now much more flexible and comfortable,
|
|
|
|
|
xhtml manual added.
|
2018-12-23 14:37:32 +01:00
|
|
|
+ Add pre-defined variable controlswait to enable running .control sections
|
|
|
|
|
after the simulation has finished (shared ngspice only)
|
|
|
|
|
+ Add an icon to the MS Windows GUI build
|
|
|
|
|
+ Enable more reliable memory usage data
|
|
|
|
|
+ Support libtinfo
|
|
|
|
|
+ add rotation angle to text output, vertcally aligned text for Postscript
|
|
|
|
|
and Windows y-axis plot labels
|
|
|
|
|
+ enable postscript output for extended ascii. Currently only Western
|
|
|
|
|
European latin-1 (ISO/IEC 8859-1) encoding is supported
|
|
|
|
|
+ Ancient Xgraph code removed
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ many bugs fixed (bug tracker nos. 253, 332, 337, 368, 374, 375, 376, 377, 378,
|
|
|
|
|
379, 380, 381, 384, 385, 386)
|
2018-12-23 14:44:00 +01:00
|
|
|
+ ancient bug removed that led to spurious heap corruption of shared ngspice
|
|
|
|
|
under (very sensitive) Windows 10
|
2018-12-23 14:37:32 +01:00
|
|
|
+ memory leaks removed
|
|
|
|
|
|
2018-09-15 00:18:08 +02:00
|
|
|
Ngspice-29, Sept 30th, 2018
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- New features:
|
2018-10-13 22:42:11 +02:00
|
|
|
+ new variable no_auto_gnd. If set, the automatic replacing of gnd by 0
|
|
|
|
|
is disabled
|
|
|
|
|
+ new compatibility modes for 'set behavior=??'. ps sets PSPICE, lt sets
|
2018-12-23 14:44:00 +01:00
|
|
|
LTSPICE compatibility, ltps is both for a file added by .include command,
|
2018-10-13 22:42:11 +02:00
|
|
|
psa, lta, and ltpsa are the same for the whole netlist
|
|
|
|
|
+ .if, .elseif, .endif is now evaluated recursively, nested .if are thus
|
|
|
|
|
enabled
|
|
|
|
|
+ new code model sidiode, that is a simple diode, linear breakdown, reverse
|
|
|
|
|
and forward regions with smooth overlapp, and optional current limits
|
|
|
|
|
+ configure flag --with-fftw3. If set to 'no', internal fast fourier is used
|
2018-09-15 00:18:08 +02:00
|
|
|
instead of fftw
|
|
|
|
|
+ command setseed to set the seed value for the random number generator
|
|
|
|
|
+ option seed=[val|random]
|
|
|
|
|
+ variable inputdir to remeber and retrieve the last input file directory
|
|
|
|
|
+ example directory 'digital' with analog, behavioral and digital example input files
|
|
|
|
|
+ new XSPICE filesource, d_source, and state-machine examples
|
2018-10-13 22:42:11 +02:00
|
|
|
+ + or - maybe part of instance name
|
2018-09-15 00:18:08 +02:00
|
|
|
+ Quasi-saturation VDMOS example
|
|
|
|
|
+ add environmental variable SOURCE_DATE_EPOCH to allow reproducible executables
|
|
|
|
|
+ new parameters to command setplot: setplot next, setplot previous
|
|
|
|
|
+ updates to commands cd, rusage, print
|
2018-10-02 16:33:57 +02:00
|
|
|
+ introduce diode recombination current part (ISR, NR)
|
2018-09-15 00:18:08 +02:00
|
|
|
+ update to bipolar and diode temperature equations
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ several bug fixes
|
|
|
|
|
+ lots of memory leaks removed, especially when XSPICE circuits are called several
|
|
|
|
|
times in a loop.
|
|
|
|
|
|
|
|
|
|
|
2018-05-27 17:27:18 +02:00
|
|
|
Ngspice-28, May 27th, 2018
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- New features:
|
|
|
|
|
+ Licenses for ngspice distribution are DFSG compatible
|
|
|
|
|
+ VDMOS power MOS model added
|
|
|
|
|
+ if 'set ngbehavior=ps' is given in .spiceinit, device libraries loaded
|
|
|
|
|
via .include may have PSPICE syntax
|
|
|
|
|
+ --enable-oldapps configure flag to compile the old, seldom used apps
|
|
|
|
|
ngnutmeg, ngmakeidx, ngmultidec, ngproc2mod, ngsconvert
|
|
|
|
|
+ add command mc_source to internally re-load the circuit
|
|
|
|
|
+ add command alterparam to alter the value of a parameter xxx given in .param xxx=value
|
|
|
|
|
+ add the function i(xyz) to measure the current in node 1 of device xyz, to be
|
|
|
|
|
used in behavioral models.
|
|
|
|
|
+ new label 'noretraceplot' for the 'plot' command, if graphs in a plot show unwanted
|
|
|
|
|
retracing lines.
|
|
|
|
|
+ The hyphen '-' is a valid character in model, device and subcircuit names
|
|
|
|
|
+ add noise for behavioral resistor
|
|
|
|
|
+ add a new vector type "temperature"
|
|
|
|
|
+ support instance parameter defaults on .model lines
|
|
|
|
|
+ New functions for XSPICE event node data export from shared ngspice:
|
|
|
|
|
ngGet_Evt_NodeInfo(char*) and ngSpice_AllEvtNodes(void)
|
|
|
|
|
+ 'edisplay' command now showing node name, node type and number of events per node
|
|
|
|
|
+ add flag 'none' to the 'save' command for shared ngspice.
|
|
|
|
|
Output data will not be stored, but are available via callback function ng_data.
|
|
|
|
|
+ add a function cm_get_circuit to allow accessing the circuit structure ckt
|
|
|
|
|
from within an XSPICE code model.
|
|
|
|
|
+ add variable 'sim_status' to indicate if a simulation has been aborted
|
|
|
|
|
+ add pkg-config file
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ many, many ... as always
|
|
|
|
|
|
|
|
|
|
|
2017-08-23 23:48:28 +02:00
|
|
|
Ngspice-27, Aug 28th, 2017
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- New features:
|
|
|
|
|
+ check for correct inductor coefficients
|
|
|
|
|
+ add variable 'win_console'
|
|
|
|
|
+ --enable-relpath configure flag to set preprocessor flag HAS_RELPATH
|
|
|
|
|
+ sets search path for spinit relativ to current directory
|
2017-08-25 18:10:09 +02:00
|
|
|
+ The search path for .spiceinit is: current dir, HOME dir, USERPROFILE dir
|
2017-08-23 23:48:28 +02:00
|
|
|
+ new function stddev to calculate the standard deviation of all elements of a vector
|
|
|
|
|
+ xspice digital n-input x m-output look-up table gate
|
|
|
|
|
+ xspice digital model d_lut (digital n-input look-up table gate)
|
|
|
|
|
+ add variable $sharedmode (if shared ngspice is running), to be used in scripts
|
|
|
|
|
+ enable msys2 for mingw compilation
|
|
|
|
|
+ OMP support for bsim3v3.24 model
|
|
|
|
|
+ bsim3v3.24: add model parameter lmlt (Channel length scaling)
|
|
|
|
|
+ OMP support for BSIM4.5 model
|
|
|
|
|
+ update and extension of command 'wrdata'
|
|
|
|
|
+ option xmu to set damping in trapezoid integration
|
|
|
|
|
+ command 'linearize' will take time data from transient analysis vector if no circuit is loaded
|
|
|
|
|
+ two new commands: edisplay and eprvcd
|
|
|
|
|
+ 'edisplay' will show a list of all event nodes
|
|
|
|
|
+ 'eprvcd' will print all event nodes in vcd format
|
|
|
|
|
+ XSPICE 2D and 3D table models
|
|
|
|
|
+ add variable 'batchmode' which is set when command line option `-b' is active
|
|
|
|
|
+ enable backquote substitution for Visual Studio console apps
|
|
|
|
|
+ update how-to-ngspice-vstudio.txt
|
|
|
|
|
+ update visualc directory and project files, add XSPICE code model generation by VS2015
|
|
|
|
|
+ allow access to 4 GB memory of 32 bit ngspice on 64 bit Windows, 8 TB for 64 bit ngspice
|
|
|
|
|
+ new variable `interactive'
|
|
|
|
|
+ xspice, introduce cm_message_printf()
|
|
|
|
|
+ add variable `width' to command "print line ..."
|
|
|
|
|
+ support msys2
|
|
|
|
|
+ favor exponential temperatur equation if all parameters tc1, tc2 and tce are given for R
|
|
|
|
|
+ move libfftw3 sideways out of the ngspice tree
|
|
|
|
|
+ remove visual studio 2008 .vcproj files
|
|
|
|
|
+ visualc/sharedspice.vcxproj, updated and migrated with visual studio 2015
|
|
|
|
|
+ `E..table {expr} {pairs}', `G..', allow an optional `=' after `table'
|
|
|
|
|
+ `E..value=', `G..value=', allow `=' being optional
|
|
|
|
|
+ introduce TCE, exponential temperature coefficient for R
|
|
|
|
|
+ allow `temper' to be recognised when preceded by '='
|
|
|
|
|
+ allow cross-compilation, especially for MinGW-w64
|
|
|
|
|
+ allow "plot xlog ylog" (equiv to "plot loglog")
|
|
|
|
|
+ extend qa test to hisimhv version 2
|
|
|
|
|
+ update hisimhv model to version 2.2.0
|
|
|
|
|
+ update hisim model to version 2.8.0
|
|
|
|
|
+ .control variable "sqrnoise" to deliver noise data in squared representation
|
|
|
|
|
+ noise analysis, deliver results in V/sqrt(Hz) and A/sqrt(Hz)
|
|
|
|
|
+ add delvt0 for bsim4 models
|
|
|
|
|
+ bug fixes for diode model
|
|
|
|
|
+ allow a xspice circuit with exclusively xspice event nodes
|
|
|
|
|
+ man pages for cmpp ngmakeidx and ngproc2mod
|
|
|
|
|
+ implement `nint()'
|
|
|
|
|
+ everywhere: ln to the base e, log to the base e, log10 to the base 10
|
|
|
|
|
+ allow an optional '=' in ".func foo() = {expr}"
|
|
|
|
|
+ bsim4, update to version 4.8
|
|
|
|
|
+ update hisimhv to version 1.2.4
|
|
|
|
|
+ cmc quality check for bsim3 model
|
|
|
|
|
+ nested indexing for vectors
|
|
|
|
|
+ option savecurrents to save current through all devices
|
|
|
|
|
+ option interp to plot interpolated raw file data
|
|
|
|
|
+ MS VS 2010 project file added for compatibility
|
|
|
|
|
+ XSPICE: new callback function cm_get_path
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ many, many ... as always
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
Ngspice-26, Jan 4th, 2014
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- New features:
|
|
|
|
|
+ fft command may (optionally) use fftw3 library
|
|
|
|
|
+ add nint() rounding function
|
|
|
|
|
+ usage of 'temper' in behavioral devices
|
|
|
|
|
+ check for soa (safe operating area) in several device models
|
|
|
|
|
+ library processing rewritten completely to enhance ngspice
|
|
|
|
|
compatibility (.lib)
|
|
|
|
|
+ include file processing rewritten to allow nesting and various
|
|
|
|
|
absolute and relative path names (.inc)
|
|
|
|
|
+ asinh, acosh, atanh functions
|
|
|
|
|
+ shared ngspice option added: ngspice optionally compiles as
|
|
|
|
|
a shared object or dynamic link library
|
2014-01-02 19:50:14 +01:00
|
|
|
+ use a hash table to massively speed up parsing the netlist
|
2014-01-04 15:42:57 +01:00
|
|
|
+ implement a very basic .if/.else block
|
|
|
|
|
+ implement a signed power function `pwr' for controlled sources
|
|
|
|
|
+ implement multiplier `m' in F, G source
|
|
|
|
|
+ apply Area Calculation Method (ACM) to the bsim3v3.3 model
|
|
|
|
|
+ implement `tc1', `tc2' instance parameters
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ many, many ... please see
|
|
|
|
|
http://sourceforge.net/p/ngspice/ngspice/ci/master/tree/
|
|
|
|
|
and check the 'history' button on the upper right.
|
|
|
|
|
+ removed memory leaks
|
|
|
|
|
|
|
|
|
|
|
2012-12-23 12:10:34 +01:00
|
|
|
Ngspice-25, Jan 4th, 2013
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- New features:
|
2014-01-04 15:42:57 +01:00
|
|
|
+ add temperature coefficients for B source
|
|
|
|
|
+ commands "mdump", "mrdump" to dump matrix to file
|
|
|
|
|
+ allow `time', `temper', and `hertz' in expressions with behavioral R, L, C
|
|
|
|
|
+ Enable ctrl-c to interrupt a simulation also for Windows GUI
|
|
|
|
|
+ tests/bsim4: use the standard CMC model qa check
|
|
|
|
|
+ implement exit code for command "quit"
|
|
|
|
|
+ .nodeset all = value
|
|
|
|
|
+ memristor code model in extradev
|
|
|
|
|
+ new scalable diode model including tunnel component
|
|
|
|
|
+ variable xtrtol may override the XSPICE reduction of trtol
|
|
|
|
|
+ XSPICE example: delta-sigma converter
|
|
|
|
|
+ XSPICE: new d_source model
|
|
|
|
|
+ new option noopac
|
|
|
|
|
+ bsim3: make additonal parameters accessible with @mxx[par]
|
|
|
|
|
+ enable Mac OS X compilation
|
|
|
|
|
+ option reseries = val
|
|
|
|
|
+ commands "snsave", "snload"
|
|
|
|
|
+ update hisim to version 2.7.0, new qa tests
|
|
|
|
|
+ hisimhv update to version 1.2.3, new qa tests
|
|
|
|
|
+ allow Ctrl-d to quit
|
|
|
|
|
+ jfet model temperature extension, tcv and bex parameter
|
|
|
|
|
+ speed up vector handling by hash table for vector address storage and retrieval
|
|
|
|
|
+ update PSS code
|
2012-12-23 12:10:34 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
- Bug fixes:
|
2014-01-04 15:42:57 +01:00
|
|
|
+ many, many ... please see
|
|
|
|
|
http://ngspice.git.sourceforge.net/git/gitweb.cgi?p=ngspice/ngspice;a=shortlog;pg=0
|
2012-12-23 12:10:34 +01:00
|
|
|
+ remove memory leaks
|
|
|
|
|
+ update tclspice for MS Windows
|
2012-12-31 15:11:44 +01:00
|
|
|
+ adms3 removed due to licensing issues
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2012-12-23 12:10:34 +01:00
|
|
|
|
2012-01-27 23:24:00 +01:00
|
|
|
Ngspice-24, Jan 29th, 2012
|
|
|
|
|
============
|
|
|
|
|
|
2012-01-28 00:22:38 +01:00
|
|
|
- New features:
|
|
|
|
|
+ .csparam allows to tranfer a param into a vector in .control ... .endc
|
2014-01-04 15:42:57 +01:00
|
|
|
+ functions floor and ceil
|
|
|
|
|
+ syntax Gxxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
|
|
|
|
|
+ syntax Gxxx n1 n2 value={equation} or Exxx n1 n2 value={equation}
|
|
|
|
|
+ variable strict_errorhandling to exit ngspice with exit code 1
|
2012-01-28 00:22:38 +01:00
|
|
|
if any error occurs during circuit parsing
|
2014-01-04 15:42:57 +01:00
|
|
|
+ command altermod allows reading from file
|
|
|
|
|
+ command "devhelp" to show available devices and describe device parameters
|
2012-01-28 00:22:38 +01:00
|
|
|
+ command "inventory" to print the number of istances of each device.
|
2014-01-04 15:42:57 +01:00
|
|
|
+ function cph(vec) delivers phase from a vector without jumps at +-PI
|
2012-01-28 00:22:38 +01:00
|
|
|
+ enable 64 bit compilation in MS Visual Studio
|
|
|
|
|
+ --adms3 flag to compile with (experimental) adms code
|
2014-01-04 15:42:57 +01:00
|
|
|
+ still very experimental pss code
|
2012-01-28 00:22:38 +01:00
|
|
|
+ command 'remcirc' to remove a circuit from the list
|
2014-01-04 15:42:57 +01:00
|
|
|
+ command 'wrdata' aknowledges appendwrite and prints complex variables
|
|
|
|
|
+ allow comment lines inside of command files
|
|
|
|
|
+ path variable NGSPICE_INPUT
|
2012-01-28 00:22:38 +01:00
|
|
|
+ 'Filesource' code model
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2012-01-28 00:22:38 +01:00
|
|
|
- Bug fixes:
|
|
|
|
|
+ More on prototypes, type casts, reordering of functions, compiler warnings
|
2014-01-04 15:42:57 +01:00
|
|
|
+ fix a numerical problem in the hisim2 and hisimhv models
|
|
|
|
|
+ plot i(vdd) from a loaded rawfile
|
|
|
|
|
+ fix the guard for device generated internal nodes (via CKTmkVolt())
|
|
|
|
|
+ reduce memory leaks for command 'reset'
|
|
|
|
|
+ parameter processing for nested .subckt
|
|
|
|
|
+ bsim4/b4noi.c: correct init the correlated noise slot in noiseDens and lnNdens vector
|
|
|
|
|
+ Many small bugs
|
|
|
|
|
|
2011-05-28 19:35:56 +02:00
|
|
|
Ngspice-23, June 5th, 2011
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- New features:
|
|
|
|
|
+ Reduction of trtol to 1 only if 'A' devices in the circuit and xspice is enabled
|
|
|
|
|
+ command wrs2p to write a s-parameter file using Touchstone vers. 1 format
|
2014-01-04 15:42:57 +01:00
|
|
|
+ d_source d_state d_ram, test cases for those xspice codemodels
|
|
|
|
|
+ transient noise simulation added to independent voltage and current sources
|
|
|
|
|
+ Random telegraph noise added to independent voltage and current sources
|
|
|
|
|
+ 'time = nnn' in stop command added
|
|
|
|
|
+ random voltage generator option trrandom to independent voltage and current sources
|
|
|
|
|
+ ngspice build possible in a separate directory (e.g. in ng-spice-rework/release)
|
|
|
|
|
+ update FIND .. WHEN measurements
|
|
|
|
|
+ diode & bjt temperature model update with tlev and tlevc
|
|
|
|
|
+ merge bsim3v1a code with bsim3v0 and bsim3v1s code with bsim3v1
|
|
|
|
|
+ bjt2: removed - all GP extensions of this model are now in the bjt model
|
|
|
|
|
+ HiSIM_HV model vers. 1.2.1 added
|
|
|
|
|
+ bsim3v32: delvto and mulu0 as instance parameters
|
|
|
|
|
+ Replace HiSIM1 by HiSIM_2.5.1_Release_20110407
|
2011-05-28 19:35:56 +02:00
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ More on prototypes, type casts, reordering of functions, compiler warnings
|
2014-01-04 15:42:57 +01:00
|
|
|
+ allow models like 2N2904 or 2SK136 also in subcircuits
|
|
|
|
|
+ fix sensitvity calculation (for the dc-2+.cir testcase)
|
|
|
|
|
+ allow multiple call to setup w/ correct node collapsing
|
|
|
|
|
+ Many small bugs
|
|
|
|
|
|
2010-09-25 16:43:48 +02:00
|
|
|
Ngspice-22, Sept 26th, 2010
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- New features:
|
|
|
|
|
+ OpenMP multicore support for BSIM3, BSIM4, and BSIMSOI4
|
|
|
|
|
+ reinstate {$var} expansion in interactive interpreter
|
|
|
|
|
+ .TITLE line added
|
|
|
|
|
+ update to 'spectrum' script
|
|
|
|
|
+ par('expression') in .four, .plot, .print, .meas, .save commands
|
|
|
|
|
+ command 'option' for use in spinit, .spiceinit, and in scripts
|
|
|
|
|
+ adms procedure updated
|
|
|
|
|
+ new random number generator, random functions sunif() and sgauss()
|
2014-01-04 15:42:57 +01:00
|
|
|
+ ngspice manual updated
|
2010-09-25 16:43:48 +02:00
|
|
|
|
|
|
|
|
- Bug fixes:
|
2014-01-04 15:42:57 +01:00
|
|
|
+ Major code cleanup to reduce compiler/linker warnings: ansi function prototypes,
|
|
|
|
|
void/char pointers to named pointers, explicit type casts and many more
|
2010-09-25 16:43:48 +02:00
|
|
|
+ Many small bugs
|
|
|
|
|
|
|
|
|
|
|
2010-06-13 09:38:48 +02:00
|
|
|
Ng-spice-rework-21, Jun3, 13th 2010
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
- Updated Devices: BSIMSOI 4.3.1
|
2014-01-04 15:42:57 +01:00
|
|
|
|
|
|
|
|
- New features:
|
|
|
|
|
+ Compatibility: C, L, R, devices and E, G sources with expressions
|
|
|
|
|
Variables HERTZ, TIME, TEMPER added
|
2010-06-13 09:38:48 +02:00
|
|
|
+ E, G sources with pwl function
|
|
|
|
|
+ New manual
|
2014-01-04 15:42:57 +01:00
|
|
|
+ Plotting with Gnuplot,
|
|
|
|
|
+ Writing wrdata for simple text table to file
|
|
|
|
|
+ .measure improved
|
|
|
|
|
+ transmission line models improved
|
2010-06-13 09:38:48 +02:00
|
|
|
|
|
|
|
|
- Bug fixes:
|
|
|
|
|
+ Many small bugs, memory leaks, memory overflows
|
|
|
|
|
|
|
|
|
|
Ng-spice-rework-20, November, 16th 2009
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
Ngspice release 20 is the second release of the simulator in 2009.
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
- Fixes: model names starting with a number (1n4001) are now correctly parsed.
|
|
|
|
|
The .global command has been reinstated (it was previously disabled) and
|
2010-06-13 09:38:48 +02:00
|
|
|
error messages now display the corresponding line numberin the input deck.
|
2014-01-04 15:42:57 +01:00
|
|
|
- New Features: .measure command for transient, ac and dc analyses (still not
|
2010-06-13 09:38:48 +02:00
|
|
|
complete, e.g. DERIV is missing).
|
2014-01-04 15:42:57 +01:00
|
|
|
- Devices: Updated BISM4 model to revision 4.6.5. Added PWL (PieceWise Linear)
|
2010-06-13 09:38:48 +02:00
|
|
|
functionality for B (arbitrary generator) sources.
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2010-06-13 09:38:48 +02:00
|
|
|
Ng-spice-rework-19, April, 23rd 2009
|
|
|
|
|
============
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
Ngspice release 19 came early after release 18. It reveals an important work
|
2010-06-13 09:38:48 +02:00
|
|
|
in compile scripts, many bug fixes in memory management, interface, and work in device models.
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
- Compile scripts: tclspice and ADMS compiling fixes. Architecture compiling
|
2010-06-13 09:38:48 +02:00
|
|
|
fixes for SunOS, MS Visual Studio, MINGW, Cygwin.
|
2014-01-04 15:42:57 +01:00
|
|
|
- Memory management: fixed memory leaks, modifies memory management for
|
|
|
|
|
MS Windows, integration of espice bugfixes and enhancements, bug fixes in
|
2010-06-13 09:38:48 +02:00
|
|
|
plots and cli interface.
|
2014-01-04 15:42:57 +01:00
|
|
|
- Rework of BSim models, integration of EPFL-EKV model V2.63, ADMS models
|
|
|
|
|
mextram, hicum0, hicum2.
|
2010-06-13 09:38:48 +02:00
|
|
|
|
|
|
|
|
|
2008-11-05 17:16:03 +01:00
|
|
|
Ng-spice-rework-18
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
Rework-18 is introduces several new features into ngspice. This is a major
|
2008-11-07 10:29:53 +01:00
|
|
|
release that comes after more than three years. During the silent years
|
2008-11-05 17:16:03 +01:00
|
|
|
ngspice developers worked in CVS to stabilize and introduce new features
|
|
|
|
|
into the simulator.
|
|
|
|
|
|
|
|
|
|
- Tclspice simulator library has been merged with ngspice. Now you can
|
2008-11-07 10:29:53 +01:00
|
|
|
compile ngapice or tclspice by asserting a configure switch. See README.tcl
|
|
|
|
|
- New options have been introduced: brief, listing, autostop and scale
|
2008-11-05 17:16:03 +01:00
|
|
|
- Support for .lib file has been introduced. This allows the use of
|
|
|
|
|
third party model libraries in ngspice.
|
2008-11-07 10:29:53 +01:00
|
|
|
- .measure statements: avg, integ, rms, max, min, delay, param
|
|
|
|
|
- .global statements t support for global nodes whose name is not expanded
|
|
|
|
|
when flattening the netlist.
|
|
|
|
|
- .func macros for inlining functions into netlists.
|
|
|
|
|
- Improved the numparam library to support fully parametrized netlists.
|
|
|
|
|
- BSIM model binning.
|
|
|
|
|
- new multi-input gate VCVS using XSPICE extensions.
|
2008-11-05 17:16:03 +01:00
|
|
|
|
2010-06-13 09:38:48 +02:00
|
|
|
|
2005-08-30 09:54:40 +02:00
|
|
|
Ng-spice-rework-17
|
|
|
|
|
============
|
2010-06-13 09:38:48 +02:00
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
This is a bug fix release. Previous release tarball did not included
|
2005-08-30 09:54:40 +02:00
|
|
|
an include file necessary for compiling numparam library.
|
|
|
|
|
|
|
|
|
|
|
2005-08-26 19:01:18 +02:00
|
|
|
Ng-spice-rework-16
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
Rework-16 comes out after almost one year of CVS development (from
|
|
|
|
|
15-fixedRC3). This release improves ngspice in three ways:
|
|
|
|
|
|
|
|
|
|
- Bug fixing: most of the bugs that affected rework-15 have been fixed,
|
2014-01-04 15:42:57 +01:00
|
|
|
thus ngspice is more stable, especially the xspice extension, the
|
2005-08-26 19:01:18 +02:00
|
|
|
subcircuit (X devices) handling and the numparam library.
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2005-08-26 19:01:18 +02:00
|
|
|
- New features: netlist syntax has been expandend allowing for end-of-line
|
2014-01-04 15:42:57 +01:00
|
|
|
comments. A ".global" card has beed added to define global nodes, i.e.
|
|
|
|
|
nodes that are not expanded in subcircuits. It is possible to define TC
|
2005-08-26 19:01:18 +02:00
|
|
|
for resistors on the instance line. The editline library can be used
|
|
|
|
|
instead of readline (no more GPL license violation).
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
- Porting: ngspice now works (with xspice extension) on Windows using
|
|
|
|
|
MINGW/MSYS.
|
|
|
|
|
|
2005-08-26 19:01:18 +02:00
|
|
|
|
2005-04-29 08:51:52 +02:00
|
|
|
Ng-spice-rework-15
|
|
|
|
|
============
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
Rework-15 release is a giant leap forward for ngspice. It incorporates
|
|
|
|
|
many (read most) of the improvements implemented in tclspice during the
|
|
|
|
|
two years long "sleep" of ngspice and adds many others. The incomplete
|
|
|
|
|
list of new features incorporated are:
|
2005-04-29 08:51:52 +02:00
|
|
|
|
|
|
|
|
- Xspice simulator (with codemodel dynamic loading support):
|
|
|
|
|
a mixed signal simulator built upon spice3.
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2005-04-29 08:51:52 +02:00
|
|
|
- Cider simulator:
|
|
|
|
|
a mixed level simulator built upon spice3.
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2005-04-29 08:51:52 +02:00
|
|
|
- Numparam library:
|
|
|
|
|
a library that allows for parameter substitution at netlist level.
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2005-04-29 08:51:52 +02:00
|
|
|
- Improved models:
|
|
|
|
|
Diode model includes periphery effects and high level of injection effects,
|
|
|
|
|
BJT and BJT2 enhanced.
|
|
|
|
|
BSIM3 now includes ACM.
|
|
|
|
|
BSIM4 implementation corrected.
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2005-04-29 08:51:52 +02:00
|
|
|
-New models:
|
|
|
|
|
VBIC (3 Terminals, no excess phase and thermal network),
|
|
|
|
|
HiSIM.
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2005-04-29 08:51:52 +02:00
|
|
|
- Frontend leaks closed.
|
|
|
|
|
Now frontend works as it should.
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2005-04-29 08:51:52 +02:00
|
|
|
- Many new example file.
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2005-04-29 08:51:52 +02:00
|
|
|
- Xgraph plotting program included.
|
|
|
|
|
|
|
|
|
|
|
2001-12-07 16:02:45 +01:00
|
|
|
Ng-spice-rework-14
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
This is a major release in terms of bug-fixes. Some enhancements
|
2014-01-04 15:42:57 +01:00
|
|
|
have been included: BSIM4 model and support for EKV model. The
|
2001-12-07 16:02:45 +01:00
|
|
|
source code for the latter must be obtained from EKV web site
|
|
|
|
|
(see DEVICE for more info). To enable EKV support you have
|
|
|
|
|
to obtain the code first and then use the configure switch
|
2014-01-04 15:42:57 +01:00
|
|
|
"--enable-ekv".
|
2001-12-07 16:02:45 +01:00
|
|
|
|
|
|
|
|
The spice code contains an option to debug frontend code, now
|
|
|
|
|
this is available in configure as "--enable-ftedebug".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2000-10-26 22:33:11 +02:00
|
|
|
Ng-spice-rework-13
|
2000-11-05 17:19:51 +01:00
|
|
|
============
|
|
|
|
|
|
|
|
|
|
This is a major release in terms of fixes and enhancements.
|
|
|
|
|
A garbage collector support has been added. If the configuration
|
2014-01-04 15:42:57 +01:00
|
|
|
script detects that you have installed GC (Bohem-Weiser conservative
|
|
|
|
|
garbage collector), it will use it. Some memory leaks have been
|
2000-11-05 17:19:51 +01:00
|
|
|
fixed too.
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
Enhancements to the code comes from Alan's contribute code, a
|
2000-11-05 17:19:51 +01:00
|
|
|
description of improvements follows (extracted form Alan's mail):
|
|
|
|
|
|
|
|
|
|
Output File Format Changes -
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
(NOTE: Do not rely on this, we may revert to the old format
|
|
|
|
|
in the next release).
|
2000-11-05 17:19:51 +01:00
|
|
|
|
|
|
|
|
Text mode .OP results even though "rawfile" written.
|
|
|
|
|
|
|
|
|
|
Internal device nodes are not saved to "rawfile" (reduces
|
|
|
|
|
file size). Optionally, these internal nodes can be replaced
|
|
|
|
|
by device currents and saved.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DC Convergence Enhancements -
|
|
|
|
|
|
|
|
|
|
"Source-Stepping" algorithm modified with a "Dynamic" step size.
|
|
|
|
|
After each successful step, the node voltages are saved, the
|
|
|
|
|
source-factor is increased by the step-factor, and the step-factor
|
|
|
|
|
is increased (for the next step). If the step fails, i.e. the
|
|
|
|
|
circuit does not converge, the source-factor is set to the value
|
|
|
|
|
from the previous successful step, the previously stored node
|
|
|
|
|
voltages are restored, the step-factor is reduced, the source
|
2005-04-29 08:56:44 +02:00
|
|
|
factor is increased by this smaller step-factor, and convergence
|
2000-11-05 17:19:51 +01:00
|
|
|
is attempted again.
|
|
|
|
|
|
|
|
|
|
Same thing done for "Gmin-stepping" algorithm.
|
|
|
|
|
|
|
|
|
|
"Gshunt" option added. This sets the "diagGmin" variable used in
|
|
|
|
|
the gmin-stepping algorithm to a non-zero value for the final
|
|
|
|
|
solution. (Normally this is set to zero for the final solution).
|
|
|
|
|
This helps for circuits with floating nodes (and for some others
|
|
|
|
|
too).
|
|
|
|
|
|
|
|
|
|
The Gmin implementation across the substrate diodes of MOS1, MOS2,
|
|
|
|
|
MOS3, MOS6 and BSIM3 devices, and across BJT base-emitter and
|
|
|
|
|
base-collector diodes, was incorrect. Correcting this dramatically
|
2005-04-29 08:56:44 +02:00
|
|
|
improved DC convergence. (I think this also affects BSIM1 and 2
|
2000-11-05 17:19:51 +01:00
|
|
|
but I haven't fixed them yet !)
|
|
|
|
|
|
|
|
|
|
The gm, gmb and gds calculations in the MOS3 model were all wrong.
|
|
|
|
|
The device equations were fixed, leading to much improved
|
2005-04-29 08:56:44 +02:00
|
|
|
convergence.
|
2000-11-05 17:19:51 +01:00
|
|
|
|
|
|
|
|
The Vcrit value used for diode voltage limiting was calculated
|
|
|
|
|
without taking into account the device area (and in some cases
|
|
|
|
|
without using the temperature corrected saturation current).
|
|
|
|
|
This could cause floating point overflows, especially in device
|
|
|
|
|
models designed to be scaled by a small area, e.g. 2u by 2u diodes
|
|
|
|
|
(area=4e-12). This is now fixed for Diode, BJT, MOS1, MOS2, and
|
|
|
|
|
MOS3 models.
|
|
|
|
|
|
|
|
|
|
The diode voltage limiting was modified to add negative voltage
|
|
|
|
|
limiting. Negative diode voltages are now limited to 3*Vdp-10,
|
|
|
|
|
where Vdp is the voltage from the previous iteration. If Vdp is
|
|
|
|
|
positive, then the voltage is limited to -10V. This prevents some
|
|
|
|
|
more floating point overflows. (Actually, I'm still playing with
|
|
|
|
|
the best values for this).
|
|
|
|
|
|
|
|
|
|
The Spice3 "fix" for the MOS3 gds discontinuity between the
|
|
|
|
|
linear and saturated regions only works if the VMAX parameter
|
|
|
|
|
is non-zero. A "tweak" has been added for the VMAX=0 case.
|
|
|
|
|
|
|
|
|
|
|
2005-04-29 08:56:44 +02:00
|
|
|
Transient Convergence Enhancements -
|
2000-11-05 17:19:51 +01:00
|
|
|
|
|
|
|
|
Temperature correction of various diode capacitances was implemented
|
|
|
|
|
slightly incorrectly, leading to capacitance discontinuities in
|
|
|
|
|
simulations at temperatures other than nominal. This affected the
|
|
|
|
|
Diode and MOS3 models.
|
|
|
|
|
|
|
|
|
|
A mistake in the implementation of the MOS3 source-bulk capacitance
|
|
|
|
|
model resulted in a charge storage discontinuity. This has been fixed.
|
|
|
|
|
|
|
|
|
|
The level 2 MOSFET model seems to calculate Von and Vth values for
|
|
|
|
|
the threshold and subthreshold values respectively, but then uses
|
|
|
|
|
Vbin to calculate the Vdsat voltage used to find the drain current.
|
|
|
|
|
However, a jump statement uses Von to decide that the device is in
|
|
|
|
|
the "cutoff" region, which means that when this jump allows the
|
|
|
|
|
drain current to be calculated, Vdsat can already be well above
|
|
|
|
|
zero. This leads to a discontinuity of drain current with respect
|
|
|
|
|
to gate voltage. The code is now modified to use Vbin for the jump
|
|
|
|
|
decision. It looks like the code should actually use Vth as the
|
2011-05-31 06:58:11 +02:00
|
|
|
threshold voltage, but since other SPICE simulators follow the
|
2000-11-05 17:19:51 +01:00
|
|
|
original Berkeley code, this was left alone.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
New Model Parameters -
|
|
|
|
|
|
2011-05-31 06:58:11 +02:00
|
|
|
A device multiplier instance parameter "M" (i.e. M devices in
|
2000-11-05 17:19:51 +01:00
|
|
|
parallel) was added to the MOS1,2,3 and BSIM3 mosfet models.
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2000-11-05 17:19:51 +01:00
|
|
|
Input Read-in and Checking -
|
|
|
|
|
|
|
|
|
|
Numbers beginning with a + sign got the input routine confused.
|
|
|
|
|
Fixed now.
|
|
|
|
|
|
2005-04-29 08:56:44 +02:00
|
|
|
Attempts to nodeset (or .IC) non-existent nodes are flagged with a
|
2000-11-05 17:19:51 +01:00
|
|
|
warning.
|
|
|
|
|
|
|
|
|
|
PWL statements on Voltage or Current sources are now checked for
|
|
|
|
|
"non-increasing" time-points at the start of the simulation.
|
|
|
|
|
Previously each time-point was checked as it was reached during
|
|
|
|
|
the simulation, which could be very annoying if you made a mistake
|
|
|
|
|
which caused the simulation to fail after hours of run-time.
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2000-11-05 17:19:51 +01:00
|
|
|
A check which was performed at the end of each sub-circuit expansion
|
|
|
|
|
was moved to the top level. This check makes sure that all sub-circuits
|
|
|
|
|
have been defined, but in its original position, it meant that if a
|
|
|
|
|
sub-circuit included ANY .MODEL statements at all, then ALL the models
|
|
|
|
|
called in that sub-circuit must also be defined within that
|
|
|
|
|
sub-circuit. Now SPICE behaves as expected, i.e. a subcircuit may
|
|
|
|
|
define its own models, but may also use models defined at any level
|
|
|
|
|
above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Miscellaneous Fixes/Enhancements -
|
|
|
|
|
|
|
|
|
|
MOS devices reported only half of the Meyer capacitances, and did not
|
|
|
|
|
include overlap capacitances, when reporting to the .OP printout, or
|
|
|
|
|
when storing device capacitances to the "rawfile".
|
|
|
|
|
|
|
|
|
|
The ideal switch devices had no time-step control to stop their
|
|
|
|
|
controlling voltages/currents overshooting the switching thresholds.
|
|
|
|
|
The time-step control has been modified to use the last two time
|
|
|
|
|
points to estimate if the next one will move the controlling
|
|
|
|
|
voltage/current past a switching threshold. If this looks likely,
|
|
|
|
|
then the time-step is reduced.
|
|
|
|
|
|
|
|
|
|
The "rawfile" writing routines have been modified to print the
|
|
|
|
|
"reference value" to the console during the simulation. This lets
|
|
|
|
|
the user see exactly how far and how fast the simulation is
|
2014-01-04 15:42:57 +01:00
|
|
|
proceeding.
|
2000-11-05 17:19:51 +01:00
|
|
|
|
|
|
|
|
.OP printout tidied up a lot to make the printout clearer.
|
|
|
|
|
|
|
|
|
|
Analysis order changed to fix a "feature" where, if you ask for
|
|
|
|
|
a .OP and a .TRAN in the same simulation, the node voltages
|
|
|
|
|
printed out correspond to the .OP, but the device data was from
|
|
|
|
|
the last timepoint of the .TRAN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Etc. -
|
|
|
|
|
|
|
|
|
|
There are other minor bug fixes, and changes to reduce compiler
|
|
|
|
|
warnings. There are probably some more significant fixes which
|
|
|
|
|
I've forgotten :-)
|
2000-10-26 22:33:11 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
Ng-spice-rework-12
|
|
|
|
|
============
|
|
|
|
|
Arno did a great work this summer!
|
2014-01-04 15:42:57 +01:00
|
|
|
The pole-zero analysis has been corrected. The error was introduced
|
|
|
|
|
in an attempt to eliminate compiler warnings. The source has been
|
|
|
|
|
reworked and info file have been updated. As you may see, a new dir
|
2000-10-26 22:33:11 +02:00
|
|
|
called "spicelib" has been created, another step toward the separation
|
2014-01-04 15:42:57 +01:00
|
|
|
of the simulator from the frontend.
|
2000-10-26 22:33:11 +02:00
|
|
|
|
|
|
|
|
Ng-spice-rework-11
|
|
|
|
|
============
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
Resistor code (device) has been modified to conform to spice3 device
|
|
|
|
|
coding standard.
|
2000-10-26 22:33:11 +02:00
|
|
|
A new step function (U2) has been introduced.
|
|
|
|
|
Documentation updated.
|
|
|
|
|
|
2000-04-27 22:03:57 +02:00
|
|
|
Ng-spice-rework-10
|
|
|
|
|
============
|
|
|
|
|
|
2000-10-14 23:49:25 +02:00
|
|
|
Added BSIM4 model and closed a couple of serious bugs. Added DEVICES
|
|
|
|
|
file to distribution. This file contains the status of device models
|
|
|
|
|
in this simulator. Read it, this file can save you a lot of time.
|
2000-04-27 22:03:57 +02:00
|
|
|
|
|
|
|
|
Ng-spice-rework-9
|
|
|
|
|
============
|
|
|
|
|
|
2005-04-29 08:56:44 +02:00
|
|
|
Thanks to Arno Peters now all device models are dynamically loaded on
|
|
|
|
|
demand. They are linked as shared libraries. The next step is the
|
2000-10-14 23:49:25 +02:00
|
|
|
dlopen() one which will make possible to link devices without any
|
|
|
|
|
recompilation.
|
2000-04-27 22:03:57 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ng-spice-rework-8
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
Applied Arno's patch.
|
|
|
|
|
|
|
|
|
|
From his mail message:
|
|
|
|
|
|
|
|
|
|
Hi Paolo,
|
|
|
|
|
|
|
|
|
|
I have prepared a source cleaning patch.
|
|
|
|
|
|
|
|
|
|
Features:
|
|
|
|
|
|
|
|
|
|
+ patches don't get polluted with differences between automatically
|
|
|
|
|
generated Makefile.am files. Usually these make up the biggest part
|
|
|
|
|
of the patches. This allows me to read the patch on the mailing
|
|
|
|
|
list instead of sifting through 90% redundant and irrelevant changes.
|
|
|
|
|
|
|
|
|
|
+ the shell script autogen.sh automatically regenerates the required
|
|
|
|
|
files if the user has automake, autoconf and libtool installed.
|
|
|
|
|
|
|
|
|
|
+ this feature is only valuable to developers, not to end users.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Usage of this patch, once incorporated:
|
|
|
|
|
|
|
|
|
|
# create a working tree to work from
|
|
|
|
|
cp -a ng-spice-rework-x ng-spice
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2000-04-27 22:03:57 +02:00
|
|
|
[ Changes made to ng-spice ]
|
|
|
|
|
|
|
|
|
|
# clean up all the automatically generated files
|
|
|
|
|
cd ng-spice; make maintainer-clean
|
|
|
|
|
|
|
|
|
|
# extract the differences
|
|
|
|
|
diff -ruN ng-spice-rework-x ng-spice > my.patch
|
|
|
|
|
|
|
|
|
|
[ Patch sent to ng-spice mailing list or you ]
|
|
|
|
|
|
|
|
|
|
# incorporate changes into the tree
|
|
|
|
|
cd ng-spice-rework-x; patch -p1 < my.patch
|
|
|
|
|
|
|
|
|
|
# update the automatically generated files
|
|
|
|
|
cd ng-spice-rework-x; sh autogen.sh
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ng-spice-rework-7 (22 Mar 2000)
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
Bug fix release
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ng-spice-rework-6 (29 Jan 2000)
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
This porting includes:
|
|
|
|
|
|
2000-10-14 23:49:25 +02:00
|
|
|
1) BSIM3V3.1 model as level 49. This is the version modified by Serban
|
|
|
|
|
Popescu which understands the M parameter and implements HDIF.
|
2000-04-27 22:03:57 +02:00
|
|
|
|
|
|
|
|
2) BSIM3V3.2 model al Level 50. This is the standard Berkeley version.
|
|
|
|
|
|
2005-04-29 08:56:44 +02:00
|
|
|
3) Now the resistor model can accepts two different values for DC and
|
2000-10-14 23:49:25 +02:00
|
|
|
AC resistance.
|
2000-04-27 22:03:57 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ng-spice-rework-5 and 5_2 (Jan 2000)
|
|
|
|
|
============
|
|
|
|
|
|
2014-01-04 15:42:57 +01:00
|
|
|
Internal development release, buggy and not working.
|
2000-04-27 22:03:57 +02:00
|
|
|
|
|
|
|
|
Ng-spice-rework-4 (22/12/99)
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
This porting includes a new feature:
|
|
|
|
|
|
2000-10-14 23:49:25 +02:00
|
|
|
1) dynamically loading of some device code as an experimental feature
|
|
|
|
|
for the future GPL simulator. Thanks to Arno Peters and Manu Rouat.
|
2000-04-27 22:03:57 +02:00
|
|
|
|
2000-10-14 23:49:25 +02:00
|
|
|
2) Patched the following bug (thanks to Andrew Tuckey for having
|
|
|
|
|
supplied the patch).
|
2014-01-04 15:42:57 +01:00
|
|
|
|
2000-04-27 22:03:57 +02:00
|
|
|
* Wsw (current controlled switch) in subckt, parsing bug.
|
|
|
|
|
* scale factor in arbitrary source.
|
2005-04-29 08:56:44 +02:00
|
|
|
* bug in noise analysis.
|
2000-04-27 22:03:57 +02:00
|
|
|
* save segmentation faults.
|
2014-01-04 15:42:57 +01:00
|
|
|
|
|
|
|
|
|