Commit Graph

7808 Commits

Author SHA1 Message Date
Giles Atkinson dbf4c16bc0 Fix XSPICE memory leaks found by valgrind. 2022-05-09 10:07:57 +02:00
Holger Vogt ac8f8ad65d New example: S-parameters of a Tschebyschef Low Pass filter 2022-05-09 10:07:48 +02:00
Holger Vogt 07feb637b5 New example for power measurement with .probe 2022-05-09 10:07:41 +02:00
Giles Atkinson 88481d4bfb Further change for #578 "Crash while plotting single complex vector".
Move the check on vector lengths to ensure all cases are covered.
2022-05-09 10:07:33 +02:00
Holger Vogt e80dad01fc Fix bug 581, reported by Adam Denton 2022-05-09 10:07:20 +02:00
dwarning 67508eab37 more logical setup for absurd parameter input 2022-05-09 10:07:05 +02:00
dwarning 720f29851a prevent crash for absurd parameter input 2022-05-09 10:06:55 +02:00
Holger Vogt 899cdbc281 Enable compiling the shared ngspice library with S-parameters enabled 2022-05-02 11:43:46 +02:00
Holger Vogt cc285741f5 Don't use bitwise operators, but logic operators 2022-05-01 10:30:18 +02:00
Holger Vogt ff3580d70f Avoid circular redundant function declaration.
Include vsrcext.h only via vsrcdefs.h, so VSRCinstance is defined.
2022-05-01 10:30:12 +02:00
Holger Vogt cb17062344 Remove unused (preliminary) 2022-05-01 10:30:02 +02:00
Holger Vogt be4df00678 add some missing prototypes 2022-05-01 10:29:52 +02:00
Giles Atkinson dc978a4193 Suppress warnings from function pointer casts seen with gcc 10.2.1. 2022-05-01 10:29:43 +02:00
dwarning d4f64da671 simplification of hicum2 model switches selfheat and nqs 2022-05-01 10:29:31 +02:00
dwarning 3d4d9b01d0 #bug 580: prevent crash in case of hicum2 default parameter set 2022-05-01 10:29:23 +02:00
dwarning 4038dd3a7f #bug 580: prevent crash in case of hicum2 default parameter set 2022-05-01 10:29:17 +02:00
Holger Vogt 0e46f6f8a1 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-05-01 10:29:08 +02:00
Holger Vogt d805674a94 Set {} to remove compiler warning (VS) 2022-05-01 10:28:51 +02:00
dwarning eaf67ac940 correct pnp type bipolar transistor current convention 2022-05-01 10:28:23 +02:00
Holger Vogt 3073d8c7d3 Fix a bug: remove excess ')' 2022-05-01 10:28:08 +02:00
Holger Vogt 8e80933cfa If XSPICE is not selected, still send CKTspDump(ckt, freq, spPlot),
but without ipc (spPlot instead of undefined acPlot)
2022-04-29 07:29:33 +02:00
Holger Vogt 764a651b73 Add a note that wrs2p currently is limited to two ports only. 2022-04-29 07:29:24 +02:00
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 aca85ec386 Add .probe p(...) commands (including plotting and averaging) 2022-04-26 10:37:10 +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 cd451bd5b3 Add measuring power of the VDMOS devices with .probe p(device) 2022-04-26 10:36:39 +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 088be81cf3 Make SP (S-parameter) standrad during compile.
The configure flad --disable-sp will remove SP
2022-04-26 10:33:49 +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
Holger Vogt a0ee275b08 Improve printout formatting 2022-04-26 10:33:01 +02:00
Holger Vogt 6b03aaa15f examples for loops.
The syntax is listed in the ngspice manual,
chapter 17.6 Control Structures. Practical examples
using a simple voltage divider circuit are given here.
2022-04-26 10:32:53 +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
Giles Atkinson b0798cf70e Make Mac and Linux build scripts executable. 2022-04-26 10:32:32 +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