Commit Graph

7792 Commits

Author SHA1 Message Date
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 429cba6593 Add .probe p(...) commands (including plotting and averaging) 2022-04-25 15:19:08 +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 9ac358fbf5 Add measuring power of the VDMOS devices with .probe p(device) 2022-04-25 13:39:23 +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 b7ae16838a Make SP (S-parameter) standrad during compile.
The configure flad --disable-sp will remove SP
2022-04-11 12:07:05 +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
Holger Vogt b7d811c306 Improve printout formatting 2022-04-06 15:58:31 +02:00
Holger Vogt 7a50c4b84a 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-06 10:32:18 +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
Giles Atkinson ca7bee7bf6 Make Mac and Linux build scripts executable. 2022-04-06 10:24:02 +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 e31d6a3c1c fix typo, remove unsuitable comment 2022-03-30 16:02:44 +02:00
Holger Vogt b70b04f22c Update to config.h
Move relevant entries up to the top of the file

S-parameter and periodic steady state may be selected in config.h

CIDER and XSPICE are always selected and cannot be excluded
(will not compile without).
2022-03-30 16:00:03 +02:00
Holger Vogt 415f5b396b Move selection of RFSPICE into config.h 2022-03-30 15:57:09 +02:00
Holger Vogt e33ebe5636 Compile only when RFSPICE is selected in config.h 2022-03-30 15:54:35 +02:00
Holger Vogt 67704d2a1e Update to the VS project files:
Add sp simulation to shared ngspice and fftw
Remove a few old, invalid *.h file entries
2022-03-30 12:02:04 +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 b2923ee7ff New examples: command 'sp' and three-port example 2022-03-29 15:51:04 +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 7de6d65e6d Fix internet address 2022-03-21 16:51:12 +01:00
Holger Vogt 9be02e7334 Replace (all) by alli 2022-03-14 11:05:10 +01:00
Holger Vogt 7f2229f024 replace (all) by alli 2022-03-14 10:58:05 +01:00