Holger Vogt
33ec8dfc25
Write out the current in the old fashion
...
1 v1#branch current
when keep#branch is set in .spiceinit.
To make the raw file compatible with ICCAP.
2022-06-22 15:32:40 +02:00
Holger Vogt
7d2ea36fdf
Add a warning when Lundin's correction factor is not
...
calculated because the geometries are too small (< 1um).
2022-06-22 15:31:17 +02:00
Holger Vogt
8d2a6c2405
Add coil diameter dia to the inductor parameters.
...
dia (diameter) takes preference over csect (cross section)
2022-06-22 13:26:57 +02:00
Holger Vogt
10d4b34ec5
Add Lundin's geometry correction to the
...
inductance formula
2022-06-22 12:59:37 +02:00
Holger Vogt
5f0035ca91
Fix a bug in the inductance formula.
2022-06-20 14:22:55 +02:00
Holger Vogt
6818b52a87
Exit when executing the input fails,
...
if -o option (log file) is set and not in interactive mode.
Enables running the paranoia suite without hanging if
something goes wrong.
2022-06-19 17:29:05 +02:00
Holger Vogt
d02f2feee4
If the 'source' command fails, fall back to the input
...
only if in interactive mode. Otherwise exit.
2022-06-19 17:25:32 +02:00
Holger Vogt
1da6cc249e
Limit the number of messages 'Warning singular matrix: ...' to 6,
...
if not 'set ngdebug'
2022-06-18 19:56:12 +02:00
Holger Vogt
89fcc20570
Make error message more verbose:
...
State explicitely when transient op has failed.
2022-06-18 17:05:05 +02:00
Holger Vogt
f78adce641
Prevent a crash when line is empty
2022-06-18 17:04:20 +02:00
Holger Vogt
eaf8977ba2
Allow 'nulltype', which returns NULL pointer.
...
Thus prevent a crash in cieq.
2022-06-18 01:06:42 +02:00
Holger Vogt
dea9de72dc
Rename the internal circuit nodes generated by .probe
...
to probe_int_xxx to make it probe specific.
Don't save these nodes.
2022-06-18 00:29:48 +02:00
Holger Vogt
facbf3b524
Don't save the internal device node collCX, added
...
for a new quasi-saturation model of bjt
2022-06-18 00:26:33 +02:00
Holger Vogt
1dda42c1a2
When plotting the phase, standard now is "Radiant".
...
Only with 'set units=degrees" we plot with unit Degree.
2022-06-14 23:14:39 +02:00
Holger Vogt
53e25b735a
This is a fix to bug report 589 by Bohdan Tkhir:
...
Remove only mfg=something, icrating=, vceo=, type=,
not any combination of text like net_type=... .
Restrict this removal to compatibility modes ps or lt.
2022-06-10 15:35:21 +02:00
Holger Vogt
f0789ce3e4
not only de-allocate the vector, but also remove it from the list.
...
This is to prevent a crash when after simulating with a buggy input like:
save all @q1[nonesense] (non-existing parameter) a command 'print all'
is given.
2022-06-10 15:31:52 +02:00
Giles Atkinson
935ed58ce6
Fix bugs found while investigating Bug #585 (convergence failure only
...
on Linux). In dctran.c make it impossible for a transient simulation
to run far past its end time and fix an infinite loop attempting to remove
the automatically-inserted ending breakpoint. In outitf.c fix memory
corruption if the simulation does over-run (change suggested by Holger Vogt).
2022-06-08 16:33:43 +02:00
Holger Vogt
519cb8392c
dc sweep fails after transient sim:
...
keep MODEDCTRANCURVE as provided by commit
7d8236766 ("b3ld.c, b4ld.c, b3v32ld.c: enable capacitance calculation during dc sweep", 2012-10-03)
Instead exclude current integration when MODEDCTRANCURVE is selected.
Unify setting ChargeComputationNeeded in b4vdld.c,
make it as in other b4xxld.c.
2022-06-06 16:27:06 +02:00
Holger Vogt
78728d19ad
Add multiplier flag 'm' to behavioral capacitor and inductor
2022-06-01 16:54:12 +02:00
Holger Vogt
f16f24d6e8
Prevent crash by checking that the scale vector frequency in ac mode
...
is a complex vector.
2022-05-29 00:03:36 +02:00
Holger Vogt
75a6392b43
VIN 3 0 PULSE (-1 1 2NS 2NS 2NS 50 NS 100 NS) is now standard
...
(missing dc value).
So revert the warning message:
VIN 3 0 dc 0 PULSE (-1 1 2NS 2NS 2NS 50 NS 100 NS) yields
a note message (not a warning)
2022-05-19 12:04:44 +02:00
Holger Vogt
fa7ca4ad33
Update copyright info to 2022
2022-05-16 16:30:44 +02:00
holger
72d3f12ab5
add new header spardefs.h to noinst_HEADERS
2022-05-16 16:30:26 +02:00
holger
6b06b8ca0d
add *.h to the source files
...
to allow 'make dist' distributing them
2022-05-16 16:30:17 +02:00
Holger Vogt
1140af3e8b
Prepare ngspice-37
2022-05-16 16:30:09 +02:00
Holger Vogt
8f4e712a11
Preliminary fix to enable the core model with hysteresis.
...
Make error message more verbose.
2022-05-16 16:29:08 +02:00
Giles Atkinson
fbebfb708c
Two memory leaks found interactively with valgrind with safe fixes.
2022-05-10 08:29:54 +01:00
Giles Atkinson
4fd0a68fb2
Fix memory leak found by valgrind/paranoia.
2022-05-10 08:25:28 +01:00
Giles Atkinson
55e8975124
Suppress warning from gcc 10.2.1.
2022-05-09 10:51:18 +02:00
Giles Atkinson
11d6c41a7d
Fix memory leaks found by valgrind in the paranoia script.
2022-05-08 17:59:20 +02:00
Giles Atkinson
b26be81444
Fix XSPICE memory leaks found by valgrind.
2022-05-08 17:59:11 +02:00
Giles Atkinson
44c68183e8
Further change for #578 "Crash while plotting single complex vector".
...
Move the check on vector lengths to ensure all cases are covered.
2022-05-03 17:00:11 +02:00
Holger Vogt
074a2a6f11
Fix bug 581, reported by Adam Denton
2022-05-02 20:32:21 +02:00
Holger Vogt
60d349589d
Merge branch 'pre-master' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master
2022-05-02 11:27:01 +02:00
Holger Vogt
aeef25efaf
Enable compiling the shared ngspice library with S-parameters enabled
2022-05-02 11:26:32 +02:00
dwarning
4a6f61ad5a
more logical setup for absurd parameter input
2022-05-02 09:19:08 +02:00
dwarning
d692669bb9
prevent crash for absurd parameter input
2022-05-01 17:55:56 +02:00
Holger Vogt
6328f7ac13
Don't use bitwise operators, but logic operators
2022-04-30 23:39:24 +02:00
Holger Vogt
c094f2e979
Avoid circular redundant function declaration.
...
Include vsrcext.h only via vsrcdefs.h, so VSRCinstance is defined.
2022-04-30 23:17:46 +02:00
Holger Vogt
78ffba59d4
Remove unused (preliminary)
2022-04-30 16:58:24 +02:00
Holger Vogt
1576783017
add some missing prototypes
2022-04-30 16:58:01 +02:00
Giles Atkinson
e6bbbefa10
Suppress warnings from function pointer casts seen with gcc 10.2.1.
2022-04-30 15:26:57 +02:00
Holger Vogt
01266e48ea
Merge branch 'pre-master' of ssh://git.code.sf.net/p/ngspice/ngspice into pre-master
2022-04-29 23:33:42 +02:00
Holger Vogt
cf62c69aef
remove numerous unsigned int vs. int warnings
...
by setting all variables to type int.
Remove redundant function declarations by remmoving some includes
in span.c and vsrcdefs.h
In tmalloc convert int to size_t
2022-04-29 23:22:05 +02:00
dwarning
bc0f1a7a02
simplification of hicum2 model switches selfheat and nqs
2022-04-29 20:43:33 +02:00
dwarning
6dd5c5ad25
#bug 580: prevent crash in case of hicum2 default parameter set
2022-04-29 18:40:19 +02:00
dwarning
43e7c1eb17
#bug 580: prevent crash in case of hicum2 default parameter set
2022-04-29 18:33:48 +02:00
Holger Vogt
ea0cdbd6d7
Set {} to remove compiler warning (VS)
2022-04-29 14:32:11 +02:00
dwarning
8361cd8915
correct pnp type bipolar transistor current convention
2022-04-29 11:07:56 +02:00
Holger Vogt
1edc6b8a51
Fix a bug: remove excess ')'
2022-04-29 09:43:16 +02:00
Holger Vogt
86b22083f4
If XSPICE is not selected, still send CKTspDump(ckt, freq, spPlot),
...
but without ipc (spPlot instead of undefined acPlot)
2022-04-29 07:21:39 +02:00
Holger Vogt
52d0e69710
Add a note that wrs2p currently is limited to two ports only.
2022-04-28 14:14:13 +02:00
Holger Vogt
1d8dacedaa
S-parameters: Replace S11 by S_1_1 etc. to avoid ambiguity
...
when more than 10 ports are measured.
Update to S-parameter script and command wr2sp
2022-04-28 11:58:21 +02:00
Holger Vogt
dcf9c1027a
Add new flags to command devhelp:
...
-type (show parameter types)
-flags (show parameter flags)
Patches provided by Mikolaj Wielgus
2022-04-27 08:46:26 +02:00
Giles Atkinson
ce81dd7fd9
Rename a variable so that it does not clash with one in outer scope.
2022-04-25 21:12:57 +02:00
Holger Vogt
f12f31bed6
Searching for params: as plain identifier
2022-04-25 16:26:30 +02:00
Holger Vogt
7924af7f22
Remove the special handling of X... device names.
...
Subcircuit devices are saved with leading X in their names.
2022-04-25 15:18:25 +02:00
Giles Atkinson
dd7ec4470d
Fix Bug #577 "Zooming iplot drops vectors" and three crashes when
...
the iplot window is closed during simulation.
2022-04-25 13:53:41 +02:00
Holger Vogt
28a39a51d6
Search for "off" token in device instance lines not with
...
C standard fcn strstr, but with search_plain_identifier().
Thus allow model names that contain "off" (like offset)
2022-04-25 13:38:37 +02:00
Holger Vogt
7703c2d370
Add a function itoa10 and use it
...
instead of non-standard itoa.
2022-04-25 13:35:23 +02:00
Holger Vogt
4aa5d784ec
When calculating power, we need to exclude thermal nodes
...
of devices like diodes (d) and MOS (m)
2022-04-25 11:35:29 +02:00
Holger Vogt
458b6cf776
Add flag 'power' to fcn setallvsources()
...
Add code to calculate the power dissipation in a device
(top level instances, including X (subcircuit) invocations).
2022-04-23 20:07:52 +02:00
Holger Vogt
761da8ad0e
revert polarity of current mesurements:
...
current positive when flowing into device, e.g.
Ic, Ib of a positively biased npn.
Add current measurement for all nodes of a device,
e.g. .probe i(Q1) will measure Ic, Ib, Ie (and Is)
2022-04-22 17:46:55 +02:00
Giles Atkinson
2b1433e968
Fix numerous gcc warnings of duplicate declarations.
2022-04-21 15:48:58 +02:00
Giles Atkinson
724cf4e638
Fix Bug #402 "Crash related to aliases". Do not return freed pointer.
2022-04-21 15:48:50 +02:00
Holger Vogt
2aa950fe9c
Remove a conflict between the text variable substitution like
...
set text = "mytext"
set newtext = new.{$text}
echo $newtext
and the command circbyline, which may have to process strings
containing braces {...} without any change to the string.
Do not call cp_doglob() when command circbyline is executed.
2022-04-19 23:26:26 +02:00
Holger Vogt
7985b05aec
make comment more verbose
2022-04-19 23:22:17 +02:00
Holger Vogt
ae221a70c2
Remove a typo: runable --> runnable
2022-04-15 10:52:56 +02:00
Holger Vogt
cd01f4949e
Make error message more verbose
2022-04-11 12:05:54 +02:00
Holger Vogt
9deb9f51d8
In case of resistor valuues r150 (r + integer number),
...
return 150
R2 n1 n2 r150
In case of r23mod return error = 1 and val = 0, so
r23mod may be read as a model, not an instance parameter
R3 n3 n4 r23mod
2022-04-06 16:01:45 +02:00
Giles Atkinson
bf7efb18f9
Fix two crashes caused by trying to plot after circuit parsing failed.
2022-04-06 10:24:23 +02:00
Giles Atkinson
e16564edf7
Make "nogrid" plotting option work. The deleted code was in the original
...
commit, so the reason for it can not be traced.
2022-04-06 10:24:16 +02:00
Holger Vogt
df9859a5d0
function deriv: This is just a preliminary fix: prevent a crash
...
when base > 0.
But when is base supposed to be > 0 ? More invetigation is needed.
2022-04-06 10:13:52 +02:00
Holger Vogt
744eaece69
Patch to avoid false reads and writes due to inconsitent
...
structs SPAN and NOISEAN.
Prevent using non-initialized variables.
2022-04-04 17:41:28 +02:00
Holger Vogt
e33ebe5636
Compile only when RFSPICE is selected in config.h
2022-03-30 15:54:35 +02:00
Holger Vogt
d903eb45cd
Linking failed on openSUSE Linux gcc:
...
make the inline functions static to allow linking
2022-03-29 17:50:00 +02:00
Holger Vogt
95e1eaf396
Provide access to the necessary structs like cplx
2022-03-29 16:22:49 +02:00
Holger Vogt
39f43a1b1d
add missing noisesp.c
2022-03-29 16:00:10 +02:00
Holger Vogt
8bdcc94b95
Patch suggested by Alessio Cacchiatori at
...
https://sourceforge.net/p/ngspice/discussion/127605/thread/7a2655c86f/
2022-03-29 15:30:39 +02:00
Alessio Cacciatori
abd5b5ea04
S-parameters in ngspice
...
With this commit the patch provided by Alessio Cacchiatori the S-parameter is completed:
Noise simulation added with C matrix output
Y and Z matrix output enabled
To allow compiling with gcc, the dense.h inline functions have been put into denseinlines.h
2022-03-29 09:06:10 +02:00
Holger Vogt
86132f445d
We start not at 0, but use the mean value (given in PARAM2) as
...
start value
2022-03-28 18:00:14 +02:00
Vadim Kuznetsov
e52ea6109a
Patch allowing call to S parameter simulation also from .control section by using command 'sp'
2022-03-27 10:40:12 +02:00
Holger Vogt
ae3d171d91
Prevent a segfault when the parameter to command 'repeat' is given,
...
but cannot be evaluetd to a number.
2022-03-21 16:53:37 +01:00
Holger Vogt
714aae3d2f
.probe: replace (all) by alli (we only measure all currents)
2022-03-14 10:56:16 +01:00
Holger Vogt
dd2eb6c652
Make function search_plain_identifier non-static
...
Declare info on the compatibility mode as a 'Note'.
2022-03-14 10:54:47 +01:00
Holger Vogt
dec3fd0fd9
adding expressions in {} as pwl parameters
...
not complete, still requires caring about the FIXME above.
2022-03-13 11:39:06 +01:00
Holger Vogt
509c2347cc
Remove the "type" declaration from a .model line
2022-03-13 11:24:33 +01:00
Holger Vogt
8dc34b31a2
If XSPICE is not selected, still send CKTspDump(ckt, freq, spPlot),
...
but without ipc (spPlot instead of undefined acPlot)
2022-03-11 23:34:14 +01:00
Holger Vogt
d14ea924b3
Use #ifdef XSPICE to exclude findvec_alle() if
...
XSPICE is not selected.
2022-03-11 23:32:25 +01:00
Holger Vogt
b0a54137a9
exclude 'type=xxx' from model declaration
2022-03-11 23:31:26 +01:00
dwarning
e3b6deaf56
remove duplicate pointer allocation
2022-03-06 23:12:34 +01:00
Holger Vogt
31a0f3eaf6
d_pwm: Add a hybrid oscillator (analg control in, digital out) with PWM
...
(pulse width modulation) capability, oscillation frequency is a parameter.
The model has been derived from the d_osc example.
2022-03-04 11:43:18 +01:00
Holger Vogt
f21255ef1b
Fix regression bug #579
...
Accept numbers to ac statement in voltage (current) sources
also given as parameters.
2022-02-22 20:39:20 +01:00
Holger Vogt
20d5919e59
Terminal setting to X11 fails in macOS, and is not required
...
on Linux.
Setting terminal here is redundant, so remove this setting.
2022-02-22 15:22:21 +01:00
Holger Vogt
12a93c9fe6
Update to plotting of event nodes:
...
Distance is now 1.5, scaling and cutouts are possible
(with some lack of precision).
Still missing: y axis labeling (no numbers, but node names).
2022-02-21 20:19:56 +01:00
Holger Vogt
342a16d6e1
Add a flag 'alle' (all event nodes) to the plot command (and maybe others).
...
All event nodes with length greater than 1 are translated to vectors
with a common scale (named step) and are assembled in a new plot
named 'digital'. They may be plotted or otherwise used in a
.control section.
2022-02-21 20:16:20 +01:00
Holger Vogt
0557bc60bf
Prevent crash if nsp is evaluated to 0
2022-02-21 16:56:16 +01:00
dwarning
20abe9ca38
white spaces
2022-02-20 14:55:10 +01:00
Holger Vogt
917dab9da7
new flag 'digitop' for the 'plot' command:
...
Plot digital (event nodes) vertically, separated by 0.1
The grid is adapted acordingly.
set xbrushwidth=3 will yield good results.
2022-02-19 17:25:57 +01:00
Holger Vogt
7130097710
Prevent crash when no simulation has been run and
...
asking for plotting an event node
2022-02-19 17:23:36 +01:00
Holger Vogt
954cc86e59
Add new or upgraded functions as of 01-09-22.
...
Add a function prototype for cmod.
Rename function conj to conju because conj
is already defined differently in complex.h
2022-02-17 15:49:53 +01:00
Holger Vogt
94a73ffef2
Add changes from 01-09-22, but without the extra extern calls,
...
which have led to a bunch of warnings when compiling with gcc.
2022-02-17 15:49:33 +01:00
Holger Vogt
e99638c89f
Remove int <--> unsigned int warning
2022-02-17 15:49:20 +01:00
Holger Vogt
4e1ae255f6
Inlude code into #ifdef RFSPICE ... #endif
...
to allow compiling without pre-processor flag RFSPICE.
2022-02-17 15:49:09 +01:00
Holger Vogt
de572d2cdf
Remove in <--> unsigned int mismatch
2022-02-17 15:48:52 +01:00
Holger Vogt
c2d279a1ef
Remove trailing spaces.
2022-02-17 15:48:31 +01:00
Holger Vogt
648ba396ff
Add missing makefile.am in src/math/dense
...
and add src/math/dense to AC_CONFIG_FILES
in configure.ac
2022-02-17 15:48:25 +01:00
Holger Vogt
3b0eb41c74
Enable compiling with --enable-sp for RF SPICE
...
Set preprocessor flag RFSPICE
Add new files and directory 'dense' ('dense' is still buggy)
2022-02-17 15:48:19 +01:00
Holger Vogt
5b8ed0a84e
Remove redundant declarations
2022-02-17 15:48:10 +01:00
Alessio Cacciatori
2c10c4aebd
S parameter simulation
...
Command '.sp'
arbitrary number of ports
ports made with modified VSRC
Patch provided by Alessio Cacciatori
https://sourceforge.net/p/ngspice/discussion/127605/thread/7a2655c86f/
2022-02-17 15:48:00 +01:00
Brian Taylor
b774d03162
Change the y-axis direction for a 2d Cider gnuplot. The device surface is at the top and downwards is into the material, which is the normal presentation. Note that the x/y mesh commands in a Cider model also affect the orientation.
2022-02-17 15:45:28 +01:00
Holger Vogt
62f326b9d0
Fix a bug from previous commit: min -> MIN
2022-02-07 22:39:27 +01:00
Holger Vogt
0eb272243f
Enable RKM notation also for inductors (e.g. 1u2 for 1.2u)
2022-02-07 16:00:29 +01:00
Holger Vogt
640fa7e17b
bug 578 crash when scale is too short
...
Warning message if scale and vector length do not match.
Restrict number of points plotted to the smaller of both.
2022-02-07 15:59:43 +01:00
Holger Vogt
4f82a24df2
Add parameter 'isgrid' to plotting of arcs.
...
Smithgrid and polar plots could not discern between xgridwidth and
xbrushwidth. This is now available, similar to straight line plotting.
Tested also for PS and SVG.
2022-02-01 12:23:29 +01:00
Giles Atkinson
16f586b65e
Respect the "tstart" parameter when saving event node data (XSPICE).
...
Fixes Support Request #47 : "XSpice memory usage (TRAN TSTART effect)".
2022-01-28 12:25:36 +01:00
Giles Atkinson
6494befb2f
Request backing store for X11 plot windows. When supported by the X server
...
windows are redrawn vey quickly without replotting.
2022-01-28 12:24:58 +01:00
Giles Atkinson
f4285384e7
Add code in graf.c to merge connected lines with the same slope before
...
plotting. This speeds output and reduces file size when the vector
length is much larger than the number of pixels. It should help with
Feature Request #58 :
"Graph plotting under windows redraw very slow and hard to work with",
but is not a full fix.
2022-01-28 12:24:51 +01:00
Holger Vogt
ce9bc9fc64
The re-painting due to mouse-click under MS Windows is caused by line 561
...
of windisp.c. Upon left mouse button up the plot recangle is invalidated,
and a WM_PAINT message is generated (same on line 614 for right mouse
button up). If not re-pained, artifacts may be left on the canvas after
collecting coordinate data.
Shifting the command InvalidateRect to a place where it becomes active
only after the mouse has been moved, does the trick. Simple clicking
(right or left) will not cause a re-paint any more.
2022-01-28 12:11:39 +01:00
Kevin Zheng
857fbec985
Improve iteration limit options display
2022-01-17 12:06:35 +01:00
roman
74787f0c33
Fix EXTERNAL type in isrc
2022-01-17 11:32:01 +01:00
Holger Vogt
ced2128f58
.measure results from batch mode may be saved in a file
...
(in addition to the printout)
Add command
set measoutfile=<path/filename>
to .spiceinit or to a .control section in the netlist
2022-01-15 23:28:06 +01:00
dwarning
0c34ac019f
use total current for diffcap calculation
2022-01-15 16:22:42 +01:00
Holger Vogt
4ee0586cee
Enable output redirection for meas command
...
replace printf("... by fprintf(mout, "...
mout is routinely set to cp_out, which then allows redirection by > and >>
2022-01-15 16:02:20 +01:00
Holger Vogt
018713cc43
Bug 572 Error message 'function 'xyz' currently not supported' was buggy.
...
xyz had not been set.
Copy function name to the heap and free accordingly.
2022-01-15 14:43:44 +01:00
Holger Vogt
46696a6aaa
If function is not found, bail out if strict_errorhandling is set.
2022-01-15 14:09:50 +01:00
Holger Vogt
632f8c033d
Make numoparam error messages more user friendly.
...
Add line number of netlist to the message.
Original line number added to new lines in inpcom.c.
Internal error messages only when 'ngdebug' is set
2022-01-15 13:43:26 +01:00
Brian Taylor
08bc3ccdd6
Remove compiler warnings (writ_ifs.c ipcsockets.c).
2022-01-13 14:54:16 +01:00
Holger Vogt
1558c5abcb
Add a suitable error message and fallback to default temperature
...
if an error in the temperature entry is found.
2022-01-13 14:48:35 +01:00
Holger Vogt
5a065c1657
Originally only '.temp 125' had been accepted.
...
There has not been any error message if '=' was used,
the temperature just had been set to 0°C.
Now also '.temp=125' or .temp='param' are accepted.
2022-01-13 10:06:27 +01:00
Giles Atkinson
23e9df0181
Fix for ticket #570 : Interactive prompting is always active.
...
Control prompting with variable "interactive" and stop setting it by default.
Add code in main.c to set it for an interactve session.
2022-01-12 15:22:19 +01:00
Holger Vogt
c4e94cd59b
safeguard against a crash when the s line is buggy
2022-01-12 15:16:06 +01:00
Holger Vogt
64dba93b93
We are now developing ngspice-36+
2022-01-09 11:57:05 +01:00
Holger Vogt
f0e9a35eb6
Add 'esave' command to save only specific event nodes.
...
Add a prompt for esave/eprint/eprvcd.
2022-01-09 10:58:38 +01:00
Holger Vogt
9308c6b077
Reuse memory for queued events.
...
Patch #109 - 2 provided by Giles Atkinson
2022-01-03 22:11:03 +01:00
Holger Vogt
0c59a77fc4
During op evaluation we might use source stepping.
...
Independent V and I sources are stepped, the B source however is not.
Add source stepping to B source.
2022-01-02 13:53:38 +01:00
Carsten Schoenert
486dd587d0
spelling: Fix misspelled word Instnace
2022-01-02 13:51:44 +01:00
Holger Vogt
8263e2a4da
The AD and DA hybrid XSPICE bridges consume a lot of
...
memory (one state per time step added). Memory of
previous time steps is not recovered.
Patch #109 by Giles Atkinson reduces memory consumption
dramatically (> factor of 10).
2022-01-01 16:14:48 +01:00
Holger Vogt
1a6a9e6bb6
Add com_wr_ic.h to their makefile.am
...
to have them as part of make dist.
2021-12-30 15:23:22 +01:00
Holger Vogt
43f2182e56
Add com_optran.h and cplhash.h to their makefile.am
...
to have them as part of make dist.
2021-12-30 15:08:15 +01:00
Holger Vogt
c7bc84943a
plug a memory leak
2021-12-23 14:38:09 +01:00
Holger Vogt
a8d8600faa
plug a memory leak
2021-12-23 14:37:57 +01:00
Holger Vogt
cb0d8f18dc
Prepare for ngspice-36
2021-12-18 13:47:43 +01:00
Holger Vogt
4f73c27d86
Memory access error: don't free GENinst->GENname.
...
Use memcpy to overwrite old name by a (shorter) new name.
Compiler warnings are thus removed.
2021-12-16 08:04:54 +01:00
Holger Vogt
9be9f46f96
Remove unused function Evt_Data_destroy()
2021-12-16 08:04:44 +01:00
Holger Vogt
6ba484e5d2
Remove redundant redeclaration of ‘ft_getpnames_quotes’
2021-12-16 08:04:34 +01:00
Holger Vogt
5adbfc1c86
Remove compiler warnings associated with snprintf()
...
Use memory allocated on the heap instead.
2021-12-16 08:04:20 +01:00
Holger Vogt
b5b462506f
add a function prototype for com_wric()
2021-12-16 08:03:59 +01:00
Holger Vogt
3bac1ffabe
Allow adequate size for copying.
...
Add the missing character string to fprintf.
2021-12-13 22:31:19 +01:00
Holger Vogt
b636017359
add function prototype
...
for insert_new_line()
2021-12-13 22:09:17 +01:00
Brian Taylor
8e75cad453
Fix missing initializer warning.
2021-12-13 21:50:30 +01:00
Holger Vogt
11117912f9
typos
2021-12-13 21:50:20 +01:00
Holger Vogt
1605d293d0
Add function integ to control language
...
Trapezoidal rule for integrating a vector.
2021-12-13 21:49:45 +01:00
dwarning
2eaf35f633
fix a double application of device multiplier for certain diode parameter
2021-12-13 21:49:33 +01:00
Holger Vogt
422719200e
re-enable parameters in agauss function
...
fixes bug #564 reported by Stefan Schippers
If nested braces {..{ }...} have been created,
replace the inner { } by ( )
2021-12-13 21:49:18 +01:00
Holger Vogt
a68cfefb28
hcopywidth and hcopyheight failed with SVG plot
...
cp_getvar read CP_NUM, not CP_STRING
Patch #108 contributed by Giles Atkinson
Add hcopywidth and hcopyheight to example nmos_out_BSIM330_svg.sp
2021-12-13 21:49:01 +01:00
Holger Vogt
b749e62e31
Make error message more verbose
2021-12-13 21:48:29 +01:00
Holger Vogt
aaf586ae83
.probe: Add more safeguards to prevent crashes
...
in case of wrong user input
due to obtain empty lines in shared ngspice
2021-12-13 21:48:21 +01:00
Holger Vogt
bb9f1669f6
Enable math characters also in tokens like i(z/z) by
...
temporarily putting " around the token.
Improve error message on missing vector
2021-12-13 21:47:54 +01:00
Holger Vogt
b59d2aabd1
.probe: Add function call to modprobenames()
...
Function resides in inpc_probe.c.
The function renames all current measurement instances
vcurr_instance:node#branch to instance:node#branch by
modifying the global instance table (tab).
2021-12-13 21:47:37 +01:00
Holger Vogt
9dff15507d
.probe: Add call to function inp_probe() which resides
...
in inpc_probe.c.
Make function insert_new_line() non-static
Enable detecting the number of nodes in x-lines
(calls to subciruits) in function get_number_terminals()
2021-12-13 21:47:27 +01:00
Holger Vogt
7f1a3bea20
.probe: Add the new file inpc_probe.c to the VS project files
...
and makefile.am in ngspice/src/frontend
2021-12-13 21:47:11 +01:00
Holger Vogt
951be0ddb0
New dot command .probe:
...
Code to enable current measurements at all top level
device pins and to enable differential voltage measurements
between two (arbitrary, top level) device nodes.
Adds 0 V voltage sources for current measurements to selected or all
device nodes at top level (including X lines)
Adds an E source excited by two arbitrary nodes for differential
potential (aka voltage) measurements between these nodes
Function inp_probe() is called from inpcom.c
2021-12-13 21:46:57 +01:00
Holger Vogt
7f75b2a7b8
Update to previous commit: safeguard against no circuit loaded
2021-12-13 21:46:29 +01:00
Holger Vogt
54eb12de39
Fix a bug: Crash when 'settype @d1[id]' is given,
...
but simulation is not yet run.
Add a better check for having at least one simulation run
2021-12-13 21:46:15 +01:00
Holger Vogt
1ce0066d3b
Update to previous commit: corrected and enhanced warning messages
2021-12-13 21:46:03 +01:00
Holger Vogt
16fd8749cf
Fix a bug: Crash when 'settype @d1[id]' is given,
...
but simulation is not yet run.
Ask for the job before acknowledging settype on
a vector starting with @
2021-12-13 21:44:30 +01:00
Holger Vogt
2f98a5b305
evtprint: prevent a crash when eprint has been called
...
but there is no simulation run.
2021-12-13 21:44:02 +01:00
Holger Vogt
bff90f1498
Put the gmin reversal into the comment
2021-12-13 21:43:50 +01:00
Holger Vogt
5424fd0d43
Reverse the sequence of dynamic-gmin and new-gmin.
...
The old method dynamic-gmin now comes first,
new-gmin will follow when the former has failed to converge.
2021-12-13 21:43:30 +01:00
Holger Vogt
79c71a4ec3
Enable math characters in vector (node) names for command fft
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:42:36 +01:00
Holger Vogt
ccd9a217c3
Enable math characters in vector (node) names for logic comparison
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:42:25 +01:00
Holger Vogt
8895a6e633
Enable math characters in vector (node) names for command alter
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:42:12 +01:00
Holger Vogt
ee2f3a72f4
Enable math characters in vector (node) names for command fourier
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:58 +01:00
Holger Vogt
98b7074287
Enable math characters in vector (node) names for command spectrum
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:48 +01:00
Holger Vogt
c09839b209
Enable math characters in vector (node) names for commands
...
write and print
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:37 +01:00
Holger Vogt
57f6d41e69
Enable math characters in vector (node) names for plotting
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:28 +01:00
Holger Vogt
e93a19e3e8
Allow math characters in node names
...
Add a function ft_getpnames_quotes()
It puts quotes " around tokens xxx, when these are enclosed as
V(xxx) and contain arithmetic characters. V(R*C) becomes
V("R*C"). After settig up the parse tree, the quotes are removed again.
Thus these math character remain part of the node name and are not
parsed as parts of an equation.
2021-12-13 21:41:16 +01:00
Holger Vogt
d5dc757288
correct assignment of a variable value to a 1-bit-field
...
only by a logic comparison.
2021-12-13 21:40:57 +01:00
Holger Vogt
90377dcff9
struct TSKtask: group all single bit fields together
2021-12-13 21:40:38 +01:00
dwarning
26979079d4
prevent few compiler warnings
2021-12-13 21:40:15 +01:00
Holger Vogt
3f3936c728
Remove memory leaks
2021-12-13 21:34:07 +01:00
Holger Vogt
89eaf7739c
Remove unused variables
2021-12-13 21:33:09 +01:00
Holger Vogt
a420f58ef5
Plug a (potential) memory leak
...
Add missing memsaved
2021-12-13 21:32:46 +01:00
Holger Vogt
6b41ad433a
Remove memory leak
...
Free some tokens generated by CNVget_token
Initialize reset and clk
Still missing: free 'states'
2021-12-13 21:32:15 +01:00
Holger Vogt
36fa47a8a0
Remove memory leak
...
Add callback function free_local_data
Free some tokens generated by CNVget_token
2021-12-13 21:31:49 +01:00
dwarning
8f9bf94a38
Aware of sscanf return value
2021-12-13 21:30:55 +01:00
dwarning
ba6d8c871c
white spaces
2021-12-13 21:30:32 +01:00
dwarning
ba9f5be52c
Prevent arithmetic overflow and reduce operations
2021-12-13 21:29:37 +01:00
Brian Taylor
38848259e4
With the ngspice gnuplot command, enable x/y contour plots for 2d Cider save file data. Usage: gnuplot <file> xycontour <expr>. xycontour is a new flag which is ignored if the plot data is not from 2d Cider. For contours, only a single plotarg <expr> is allowed. With <expr1> vs <expr2>, only <expr1> is plotted and <expr2> is ignored.
2021-10-30 13:21:32 +02:00
dwarning
550e9f1a81
correct some scaling rules
2021-10-30 11:03:26 +02:00
dwarning
f638a63fba
save few calculation effort in diode load routine
2021-10-30 11:03:05 +02:00
dwarning
62242a5538
save few calculation effort in bjt load routine
2021-10-30 11:02:54 +02:00
dwarning
133f9c46e7
prevent unwanted fallthrough
2021-10-30 11:02:25 +02:00
dwarning
ae49043fe3
correct scaling for IBC parameter
2021-10-30 11:02:13 +02:00
dwarning
b15c7d29f1
correct temp update for IBE and IBC parameter
2021-10-30 11:01:51 +02:00
dwarning
01fb0ac18b
introduce IBE and IBC model parameter for more accurate current calculation
2021-10-30 11:01:36 +02:00
dwarning
231e6218a5
remove comment regarding ancient leakage current defaults
2021-10-30 11:01:24 +02:00
dwarning
5ff04ee85b
c2 and c4 are now aliases for B-E and B-C leakage saturation currents
2021-10-30 11:01:09 +02:00
Holger Vogt
fb98f7873b
remove some compiler warnings
2021-10-30 10:46:39 +02:00