What's new since Spice3f4
What Spice3f5 adds to Berkeley's Spice3f4, the last release from the University of California.
The Qt front end
- A Qt window replaces the X11 and MFB terminal graphics, and nutmeg's data analysis is part of the one program.
- Circuit windows with syntax highlighting, where circuits can be edited, saved and reloaded; several circuits can be open at once. The main window
- Menus to load and save circuits, find and replace, run analyses from dialogs and build plots; recent files; command history with the Up and Down keys; right-click Plot and Print for a selected node; Help › User Manual.
- New plot windows: zooming with the mouse, wheel and keys, callouts showing values, copying to the clipboard, saving as an image or CSV, colour themes and grid options, and
multiplotfor a chart per vector. - Files named on the command line are opened in the window.
Circuit input
- .param, and expressions in single quotes as element and model values.
- Parameterised subcircuits, and .GLOBAL nodes.
- .LIB sections of HSPICE-style model libraries, with the directories of included files added to the search path.
- The
mfactor for MOSFETs, and HSPICE-style model binning, so foundry model libraries can be used directly. - SPICE2 POLY(n) dependent sources.
- Resistor, capacitor and inductor values may be written
r=,c=orl=.
HSPICE model libraries
Foundry libraries written for HSPICE, such as TSMC's, can be used as they are:
- .param cards in any order, functions defined with
.param, and temper. - Subcircuit parameters as in HSPICE: each call has its own parameters and
.params, usable in expressions and model cards, and followed by.step. - HSPICE's operators and functions:
c ? a : b,==,!=,&&,||,**,pwr,sgn,int,tanh, the Monte Carlo functionsagauss,gauss,aunifandunif, and HSPICE logarithms withset hspicelog. - The .OPTIONS SCALE and GEOSHRINK for device geometries, and junction diodes with sidewall parameters.
- Large libraries load quickly:
.LIBsections are found through an index, and parameters looked up by hash.
Device models
- BSIM3 version 3.3.0 (level 8) and BSIM4 (level 14), with HSPICE's level numbers 49 and 54 accepted for them. A MOSFET model without a level is BSIM4. The level may be written as a floating point number, such as
level = 4.00000e+000, as model extraction programs write it. - The Parker-Skellern JFET and MESFET model as JFET level 2. A JFET model without a level is level 1, as before.
- Fixes to the diode, BJT, JFET, MOS1, MOS2, MOS3 and MOS6 models, including discontinuities, derivative and charge errors, and their distortion coefficients.
Analyses and results
- .meas: LTspice-style measurements of rise times, delays, crossings, averages and more, stored as vectors.
- .step: run a circuit over a set of parameter, device, model or temperature values, with the results merged into multi-dimensional vectors.
- .optimise: adjust device and model parameters to minimise, maximise or hit a target.
- DC sweeps of resistors and of the temperature.
- Fixes to the noise (integrated noise), pole-zero, distortion and sensitivity analyses.
The interpreter
- Vectors written with
(1; 2; 3)orlet a = [1 2 3], and indexing such asj[2]. Function names in expressions may be in either case, as inprint I(V1). - compose makes linear and logarithmic sweeps and uniform, gaussian and random values.
- altermod changes model parameters, and alter accepts
@dev valuewithout the=. - listcirc, and a delcirc that works.
- Fixes to
alter,foreach,set, history andunixcomon Windows;rusageandversionreport memory use.
Reliability
- Many memory leaks, crashes and buffer overflows fixed, including crashes in batch mode.
- Builds with Visual Studio on Windows and with qmake and Qt on Linux and macOS.
The full list of changes is in README.txt in the source tree. Known limitations are listed under bugs.