Commit Graph

7864 Commits

Author SHA1 Message Date
Markus Mueller 5aa495ecf6 (testing) multiple devices test improvement 2022-08-12 16:08:03 +02:00
Markus Mueller 92aea309ec (testing) simplify test cases, fix bug 2022-08-12 16:08:03 +02:00
DSPOM deb33cbe8e update to osdi 0.3 2022-08-12 16:08:02 +02:00
DSPOM 68b8e41def fix: missing linker script 2022-08-12 16:08:02 +02:00
DSPOM dbc6c80133 fix: don't generate ddt matrix/rhs in DC sweep 2022-08-12 16:08:02 +02:00
DSPOM 80ce6d25bb feat: implement log message callback 2022-08-12 16:08:02 +02:00
DSPOM ad7661849c fix: do not ignore first parameter 2022-08-12 16:08:02 +02:00
DSPOM 687c251e29 test: update tests to new command 2022-08-12 16:08:02 +02:00
DSPOM 469dc127bf feat: use osdi command to load files
Previously OSDI shared object files were loaded from fixed directories.
This was unreliable, inconvenient and caused conflicts with XSPICE.

This commit remove the old loading mechanism and instead introduces the
`osdi` command that can load (a list of) osdi object files (like the
codemodel command for XSPICE). A typical usecase will use this as a
precommand in the netlist:

.control
pre_osdi foo.osdi
.endc

If the specified file is a relative path it is first resolved relative
to the parent directory of the netlist. If the osdi command is invoked
from the interactive prompt the file is resolved relative to the current
working directory instead.

This commit also moves osdi from the devices folder to the root src
folder like xspice. This better reflects the role of the code as users
may otherthwise (mistakenly) assume that osdi is just another
handwritten model.
2022-08-12 16:08:02 +02:00
Markus Mueller 4036e4ec26 (testing) add res, cap and multiple devices test 2022-08-12 16:08:02 +02:00
Mario Krattenmacher daee9857ed Create .gitlab-ci.yml file 2022-08-12 16:08:02 +02:00
Mario afce91bd71 preparing CI 2022-08-12 16:08:02 +02:00
Mario 6626593606 added diode_va.c to the repo 2022-08-12 16:08:02 +02:00
Mario 5494704aec deleting old stuff and always rebuilding the shared object 2022-08-12 16:08:02 +02:00
Mario db59c25590 added the build of the diode shared object to the python test script 2022-08-12 16:08:02 +02:00
Mario 10c2c129a9 ignoring test results 2022-08-12 16:08:02 +02:00
Mario 7b15213668 removed netlist 2022-08-12 16:08:02 +02:00
DSPOM c44f22b116 feat: OSDI integration prototype
This initial prototype is capable of performing DC, transient and AC
analysis. Not all features of OSDI are supported yet and there are still
some open questions regarding ngspice integration. However, simple
example like a level 0 diode are working well

test: test case for diode DC working with SH

test: add transient analysis to osdi_diode test

test: added docu text to osdi_diode test

test: added test case directories

fix: bug in osdi_load

test: small change to netlist

fix: implement DEVunsetup

fix: correct behaviour for MODEINITSMSIG

test: osdi diode enable all analysis modes
2022-08-12 16:08:02 +02:00
DSPOM 5ada0cce8b tmp(devops): add compile_commands.json for lsp 2022-08-12 16:08:02 +02:00
Holger Vogt 6d564e77c0 Make warning message on missing init file more verbose. 2022-08-12 16:08:02 +02:00
Holger Vogt 4e27683922 remove typo 2022-08-12 16:08:02 +02:00
Holger Vogt b00050dfc4 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-08-12 16:08:02 +02:00
Holger Vogt d7c78759b4 Add a warning when Lundin's correction factor is not
calculated because the geometries are too small (< 1um).
2022-08-12 16:08:02 +02:00
Holger Vogt a1574c9d35 Add coil diameter dia to the inductor parameters.
dia (diameter) takes preference over csect (cross section)
2022-08-12 16:08:02 +02:00
Holger Vogt f497a89a33 Add Lundin's geometry correction to the
inductance formula
2022-08-12 16:08:02 +02:00
Holger Vogt 2c8c5b11b1 Fix a bug in the inductance formula. 2022-08-12 16:08:02 +02:00
Holger Vogt 55d96ad2c2 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-08-12 16:08:02 +02:00
Holger Vogt 3a3056311d If the 'source' command fails, fall back to the input
only if in interactive mode. Otherwise exit.
2022-08-12 16:08:02 +02:00
Holger Vogt 78939ca13c Limit the number of messages 'Warning singular matrix: ...' to 6,
if not 'set ngdebug'
2022-08-12 16:08:02 +02:00
Holger Vogt eb63459fe1 Make error message more verbose:
State explicitely when transient op has failed.
2022-08-12 16:08:02 +02:00
Holger Vogt 7be36292c1 Prevent a crash when line is empty 2022-08-12 16:08:02 +02:00
Holger Vogt 96f0d12959 Allow 'nulltype', which returns NULL pointer.
Thus prevent a crash in cieq.
2022-08-12 16:08:02 +02:00
Holger Vogt 6f07b3f2ea Rename the internal circuit nodes generated by .probe
to probe_int_xxx to make it probe specific.
Don't save these nodes.
2022-08-12 16:08:02 +02:00
Holger Vogt 4e9ae26e53 Don't save the internal device node collCX, added
for a new quasi-saturation model of bjt
2022-08-12 16:08:02 +02:00
Holger Vogt bcee2b14ab When plotting the phase, standard now is "Radiant".
Only with 'set units=degrees" we plot with unit Degree.
2022-08-12 16:08:02 +02:00
Holger Vogt 22e1af4855 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-08-12 16:08:02 +02:00
Holger Vogt 17cf791115 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-08-12 16:08:02 +02:00
Giles Atkinson da509db236 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-08-12 16:08:02 +02:00
Holger Vogt 326245d60e 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-08-12 16:08:02 +02:00
Holger Vogt 217cc5715a Add multiplier flag 'm' to behavioral capacitor and inductor 2022-08-12 16:08:02 +02:00
Holger Vogt 9dd30c1073 Prevent crash by checking that the scale vector frequency in ac mode
is a complex vector.
2022-08-12 16:08:02 +02:00
Holger Vogt 5ab14e03aa 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-08-12 16:08:02 +02:00
Holger Vogt eb69dcc3ec Preliminary fix to enable the core model with hysteresis.
Make error message more verbose.
2022-08-12 16:08:02 +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