Brian Taylor
1fb533a3d4
Stopped memory leak in continuation cards when removing old cards.
2022-10-07 12:51:18 +02:00
Brian Taylor
89c698d4ea
Slight cleanup. Some work ensuring that generated names do not collide may be necessary.
2022-10-07 12:51:03 +02:00
Brian Taylor
219ca23635
For debug tracing, list the cards before and after udevice replacements.
2022-10-07 12:50:51 +02:00
Brian Taylor
18e17cefdf
Add pullup/down. Skip spurious '*' line.
2022-10-07 12:50:30 +02:00
Brian Taylor
813c73966d
Add support for oa/oai compound gates.
2022-10-07 12:50:10 +02:00
Brian Taylor
7b5c780043
Fix a memory leak. Cleanup the code a bit. All-digital Pspice subckts with U* devices for most used gates/ff can be handled. More extensive test cases are necessary. Also, interfacing subckts with analog ports is not implemented.
2022-10-07 12:49:46 +02:00
Brian Taylor
96a1b528fd
Replace Pspice U* and .model cards with their Xspice equivalent statements. There are still memory leaks which will be plugged next. The .subckts have only digital ports, which will need to addressed for mixed A/D designs.
2022-10-07 12:49:29 +02:00
Brian Taylor
2c3c632349
Add translation of ao/aoi compound gates.
2022-10-07 12:49:06 +02:00
Brian Taylor
a2fd346b1a
Trial run at scanning cards for Pspice U* devices and models. #define INTEGRATE_UDEVICES to turn it on. No new cards are created yet, just lots of debugging info.
2022-10-07 12:48:51 +02:00
Brian Taylor
9bbcf20584
Add brief usage notes and makefile. asserts will need to be removed after integration is complete.
2022-10-07 12:48:36 +02:00
Brian Taylor
b367434c78
Add default zero delay models d0_gate, d0_eff, d0_gff, d0_tgate. Use tprintf.
2022-10-07 12:48:21 +02:00
Brian Taylor
620c15a981
Initial files for translating Pspice u.. instances and timing models into Xspice equivalents. Standard gates, tristate gates, dff, jkff, dlatch are supported. Compound gates and pullup/down are not done. Makefile and frontend/inpcom.c changes have not been finished. These modifications will be needed to complete integration.
2022-10-07 12:47:59 +02:00
Holger Vogt
564a3cb2f7
No error message when Optran returned 0
2022-10-07 12:40:49 +02:00
Holger Vogt
d3a436b7dd
re-format indmask.c
2022-10-07 12:39:49 +02:00
Holger Vogt
0387a95218
Add missing parameter retrival
2022-10-07 12:39:35 +02:00
Holger Vogt
b4a2c85b54
Asl Lundin's correction only when suitable modelparameters are given.
2022-10-07 12:39:10 +02:00
Holger Vogt
360b7dc7ed
Make warning message on missing init file more verbose.
2022-10-07 12:38:38 +02:00
Holger Vogt
f1d944e4c4
remove typo
2022-10-07 12:38:02 +02:00
Holger Vogt
f698ce6281
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-10-07 11:39:18 +02:00
Holger Vogt
879030bbd8
Add a warning when Lundin's correction factor is not
...
calculated because the geometries are too small (< 1um).
2022-10-07 11:37:55 +02:00
Holger Vogt
500d72f270
Add coil diameter dia to the inductor parameters.
...
dia (diameter) takes preference over csect (cross section)
2022-10-07 11:37:37 +02:00
Holger Vogt
79ef586fef
Add Lundin's geometry correction to the
...
inductance formula
2022-10-07 11:37:13 +02:00
Holger Vogt
4a96691b49
Fix a bug in the inductance formula.
2022-10-07 11:36:50 +02:00
Holger Vogt
6b83a57a18
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-10-07 11:36:31 +02:00
Holger Vogt
c76efd47ed
If the 'source' command fails, fall back to the input
...
only if in interactive mode. Otherwise exit.
2022-10-07 11:36:07 +02:00
Holger Vogt
b46dd5effd
Limit the number of messages 'Warning singular matrix: ...' to 6,
...
if not 'set ngdebug'
2022-10-07 11:35:38 +02:00
Holger Vogt
f7c5c93635
Make error message more verbose:
...
State explicitely when transient op has failed.
2022-10-07 11:35:11 +02:00
Holger Vogt
1e304c6e53
Prevent a crash when line is empty
2022-10-07 11:34:39 +02:00
Holger Vogt
e460b18f97
Allow 'nulltype', which returns NULL pointer.
...
Thus prevent a crash in cieq.
2022-10-07 11:34:25 +02:00
Holger Vogt
fc83328952
Rename the internal circuit nodes generated by .probe
...
to probe_int_xxx to make it probe specific.
Don't save these nodes.
2022-10-07 11:34:04 +02:00
Holger Vogt
9619b52180
Don't save the internal device node collCX, added
...
for a new quasi-saturation model of bjt
2022-10-07 11:33:46 +02:00
Holger Vogt
d93295136b
When plotting the phase, standard now is "Radiant".
...
Only with 'set units=degrees" we plot with unit Degree.
2022-10-07 11:33:24 +02:00
Holger Vogt
eb79e91175
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-10-07 11:32:56 +02:00
Holger Vogt
a2beac6741
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-10-07 11:32:30 +02:00
Giles Atkinson
aaa6798950
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-10-07 11:32:02 +02:00
Holger Vogt
e5c162f126
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-10-07 11:31:06 +02:00
Holger Vogt
838ad2b10c
Add multiplier flag 'm' to behavioral capacitor and inductor
2022-10-07 11:30:25 +02:00
Holger Vogt
4c8324f166
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-10-07 11:29:53 +02:00
Holger Vogt
0faf386d45
We developing towards ngspice-38
...
The intermediate stage is named 37+
2022-06-23 08:33:01 +02:00
Holger Vogt
7e8e9ef001
Update copyright info to 2022
2022-05-14 16:32:01 +02:00
holger
6d3f92cec6
add new header spardefs.h to noinst_HEADERS
2022-05-12 17:35:16 +02:00
holger
cf15e904e2
add *.h to the source files
...
to allow 'make dist' distributing them
2022-05-12 17:24:26 +02:00
Holger Vogt
303cf0c92b
Prepare ngspice-37
2022-05-11 13:48:33 +02:00
Giles Atkinson
40c2419a43
Two memory leaks found interactively with valgrind with safe fixes.
2022-05-10 15:30:08 +02:00
Giles Atkinson
7511bef7d4
Fix memory leak found by valgrind/paranoia.
2022-05-10 15:29:59 +02:00
Giles Atkinson
8c7b7789d9
Suppress warning from gcc 10.2.1.
2022-05-10 15:29:43 +02:00
Giles Atkinson
daad3fb3c5
Fix memory leaks found by valgrind in the paranoia script.
2022-05-09 10:08:06 +02:00
Giles Atkinson
dbf4c16bc0
Fix XSPICE memory leaks found by valgrind.
2022-05-09 10:07:57 +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
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