Commit Graph

7859 Commits

Author SHA1 Message Date
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 d8119aaca4 Don't set interactive mode 2022-10-07 12:40:07 +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 c4efe2e3ac Update, link on device models (public domain or TI)
Download adresses for TI models.
2022-05-15 18:36:35 +02:00
Holger Vogt a4e6d0eef5 Remove headers: both are available in VS 2019 and VS 2022.
Local stdint.h will lead to a compile error in VS 2022.
2022-05-14 16:33:17 +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
Holger Vogt db1da5070a Prepare ngspice-37 2022-05-11 13:38:21 +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 2e329986b8 Fix filename case. 2022-05-10 15:29:51 +02:00
Giles Atkinson 8c7b7789d9 Suppress warning from gcc 10.2.1. 2022-05-10 15:29:43 +02:00