Commit Graph

3452 Commits

Author SHA1 Message Date
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 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 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 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 838ad2b10c Add multiplier flag 'm' to behavioral capacitor and inductor 2022-10-07 11:30:25 +02:00
Holger Vogt 7e8e9ef001 Update copyright info to 2022 2022-05-14 16:32:01 +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 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
Giles Atkinson dc978a4193 Suppress warnings from function pointer casts seen with gcc 10.2.1. 2022-05-01 10:29:43 +02:00
Holger Vogt d805674a94 Set {} to remove compiler warning (VS) 2022-05-01 10:28:51 +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 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
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
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