Holger Vogt
129893b399
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-29 07:29:14 +02:00
Holger Vogt
67726f7f8b
Add new flags to command devhelp:
...
-type (show parameter types)
-flags (show parameter flags)
Patches provided by Mikolaj Wielgus
2022-04-28 09:29:02 +02:00
Giles Atkinson
41e48b954d
Rename a variable so that it does not clash with one in outer scope.
2022-04-26 10:37:28 +02:00
Holger Vogt
b6abcb0436
Searching for params: as plain identifier
2022-04-26 10:37:19 +02:00
Holger Vogt
6153f2c887
Remove the special handling of X... device names.
...
Subcircuit devices are saved with leading X in their names.
2022-04-26 10:37:03 +02:00
Giles Atkinson
519915202f
Fix Bug #577 "Zooming iplot drops vectors" and three crashes when
...
the iplot window is closed during simulation.
2022-04-26 10:36:55 +02:00
Holger Vogt
0be163d8d8
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-26 10:36:24 +02:00
Holger Vogt
08a12b5355
Add a function itoa10 and use it
...
instead of non-standard itoa.
2022-04-26 10:36:10 +02:00
Holger Vogt
d04445e085
When calculating power, we need to exclude thermal nodes
...
of devices like diodes (d) and MOS (m)
2022-04-26 10:35:56 +02:00
Holger Vogt
2fabc53f4f
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-26 10:35:44 +02:00
Holger Vogt
a165556088
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-26 10:35:29 +02:00
Giles Atkinson
b3fd63ea88
Fix numerous gcc warnings of duplicate declarations.
2022-04-26 10:34:52 +02:00
Giles Atkinson
39b837a405
Fix Bug #402 "Crash related to aliases". Do not return freed pointer.
2022-04-26 10:34:45 +02:00
Holger Vogt
16f619818e
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-26 10:34:35 +02:00
Holger Vogt
b798076415
make comment more verbose
2022-04-26 10:34:21 +02:00
Holger Vogt
597bc9edd0
Remove a typo: runable --> runnable
2022-04-26 10:34:11 +02:00
Holger Vogt
287406459a
Make error message more verbose
2022-04-26 10:33:41 +02:00
Holger Vogt
2915f8e991
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-26 10:33:31 +02:00
Giles Atkinson
9ac4dab81a
Fix two crashes caused by trying to plot after circuit parsing failed.
2022-04-26 10:32:47 +02:00
Giles Atkinson
c65155880c
Make "nogrid" plotting option work. The deleted code was in the original
...
commit, so the reason for it can not be traced.
2022-04-26 10:32:39 +02:00
Holger Vogt
26c50de68b
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-25 21:34:41 +02:00
Holger Vogt
321d53a4e9
Patch to avoid false reads and writes due to inconsitent
...
structs SPAN and NOISEAN.
Prevent using non-initialized variables.
2022-04-25 21:34:32 +02:00
Holger Vogt
61797c9317
Compile only when RFSPICE is selected in config.h
2022-04-25 21:33:37 +02:00
Holger Vogt
768e4870c6
Linking failed on openSUSE Linux gcc:
...
make the inline functions static to allow linking
2022-04-25 21:32:57 +02:00
Holger Vogt
32a707fd22
Provide access to the necessary structs like cplx
2022-04-25 21:32:43 +02:00
Holger Vogt
d961c7c91d
add missing noisesp.c
2022-04-25 21:32:10 +02:00
Holger Vogt
7c57c9adbd
Patch suggested by Alessio Cacchiatori at
...
https://sourceforge.net/p/ngspice/discussion/127605/thread/7a2655c86f/
2022-04-25 21:31:49 +02:00
Alessio Cacciatori
4ebf4901b9
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-04-25 21:31:28 +02:00
Holger Vogt
b1e73370ed
We start not at 0, but use the mean value (given in PARAM2) as
...
start value
2022-04-25 21:31:00 +02:00
Vadim Kuznetsov
b73939e379
Patch allowing call to S parameter simulation also from .control section by using command 'sp'
2022-04-25 21:30:52 +02:00
Holger Vogt
99f2414caf
Prevent a segfault when the parameter to command 'repeat' is given,
...
but cannot be evaluetd to a number.
2022-04-25 21:30:27 +02:00
Holger Vogt
56a3771d9a
.probe: replace (all) by alli (we only measure all currents)
2022-04-25 21:29:39 +02:00
Holger Vogt
4cc6222230
Make function search_plain_identifier non-static
...
Declare info on the compatibility mode as a 'Note'.
2022-04-25 21:29:25 +02:00
Holger Vogt
696736b2b3
adding expressions in {} as pwl parameters
...
not complete, still requires caring about the FIXME above.
2022-04-25 21:28:52 +02:00
Holger Vogt
242a1d796a
Remove the "type" declaration from a .model line
2022-04-25 21:28:32 +02:00
Holger Vogt
a1eb0cc63d
If XSPICE is not selected, still send CKTspDump(ckt, freq, spPlot),
...
but without ipc (spPlot instead of undefined acPlot)
2022-04-25 21:28:16 +02:00
Holger Vogt
36868e0b0f
Use #ifdef XSPICE to exclude findvec_alle() if
...
XSPICE is not selected.
2022-04-25 21:28:03 +02:00
Holger Vogt
ed2d48756c
exclude 'type=xxx' from model declaration
2022-04-25 21:27:53 +02:00
dwarning
45d5d9a764
remove duplicate pointer allocation
2022-04-25 21:27:39 +02:00
Holger Vogt
246f9f5e9e
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-04-25 21:27:26 +02: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