Commit Graph

9602 Commits

Author SHA1 Message Date
Giles Atkinson 5e27a8f6de Fix file name quoting for .LIB. Reported by Tom Hajar in ngspice-users. 2026-06-30 10:23:59 +01:00
Holger Vogt 64bf572264 Add examples for the IHP Open Source PDK 2026-06-30 09:45:49 +02:00
Brian Taylor d881158a41 Paranoia_Parallel: a test suite for more than 100 test circuits,
running in parallel on a multi-core machine (12 min execution time
on a i9 9900, ngspice compiled with gcc, debug mode enabled.
Linux with Valgrind and Parallel are required.
2026-06-29 17:35:00 +02:00
Giles Atkinson 2988b5db66 Correct three comments. 2026-06-29 14:45:15 +02:00
Giles Atkinson d56e3abd0e In a shared library build, the option -fvisibility=hidden may be set
when compiling making entry point Cosim_setup inaccessible.  The problem
was reported at https://github.com/iic-jku/IIC-OSIC-TOOLS/issues/287,
but not reproduced.
2026-06-29 14:45:07 +02:00
Holger Vogt 67fbaa9e6a Make the name of the added voltage source more verbose
(to avoid already existing source names).
2026-06-12 17:38:07 +02:00
Giles Atkinson 1ff2ae384e Fix Bug #775 - "Missing LDFLAGS in vlnggen", and add an option
(-stc c++14) that was needed in testing on Windows.
2026-06-12 17:07:33 +02:00
Giles Atkinson aca07bbe6d Feature Request 72 - "Printing hidden errors to terminal" suggests
showing errors in XSPICE code model support functions by default.
But errors may occur routinely and be handled by code.
To aid developers, setting variable "noisyxspice" will display the messages.

Also fix an error report in cm_event_queue(), remove XSPICE parse error
messages that are now shown twice and fix errors in d_source that
were seen with the new error reporting.
2026-06-12 17:07:28 +02:00
Giles Atkinson 65b0133591 Add new capabilities to the adc/dac_bridge XSPICE code models.
If either bridge has a single analog connection and two or more digital
connections it will act as a conventional multi-bit ADC or DAC.
When the low threshold is higher than the high threshold, adc_bridge
acts as a Schmitt trigger.
2026-06-12 17:07:19 +02:00
Giles Atkinson 34cf37e190 Simplify adc_bridge, also removing excess white space. 2026-06-12 17:07:15 +02:00
Holger Vogt 3db9f132a2 New behavioral capacitor model:
- Replace E source by G source with parallel resistor to improve
  convergence.
- Add parallel resistor to avoid floating nodes
- Reduce refecrence C to 1u (and thus the max. current).
2026-06-12 16:43:58 +02:00
Holger Vogt 65fb8e245b Prepare for ngspice-47 2026-06-09 22:38:13 +02:00
Holger Vogt 21907e5bf7 Add error message if scale and data vector lengths do not match 2026-06-09 17:57:39 +02:00
dwarning 3d02373664 DEVpred() of charge node needs state vector update before 2026-06-09 08:08:41 +02:00
Holger Vogt f395bc49b2 Update the copyright notice 2026-06-08 22:41:46 +02:00
Holger Vogt 461ab8c46a Replace lengthy call to CKTcircuit by new TSTOP and TSTEP macros 2026-06-07 19:22:40 +02:00
Holger Vogt 007453ef89 Set TSTEP and TSTOP also when MIF_DC, as this is needed
when initialising a code model during op before a tran sim.
2026-06-07 19:21:19 +02:00
Holger Vogt f2805e15fb Add two macros TSTEP and TSTOP to XSPICE 2026-06-07 14:26:20 +02:00
Holger Vogt fad198de7b Improve the error messages when reading a state file.
Bail out when the read has not been successfull.
2026-06-06 16:15:24 +02:00
Holger Vogt 58c312f733 Add MODEDCTRANCURVE to enable returning capacitance upon dc sweep.
Exclude integration if MODEDCTRANCURVE is active (forward,
self-heat and reverse diode)..
2026-06-06 14:36:06 +02:00
Holger Vogt 2a0a3ab403 Add MODEDCTRANCURVE to enable returning capacitance upon dc sweep.
Exclude integration if MODEDCTRANCURVE is active.
2026-06-06 14:34:52 +02:00
Holger Vogt ae06dfe978 No integration, if dc sweep is to return cpacitances 2026-06-06 14:33:05 +02:00
Holger Vogt 88e94b26c4 Reset ckt->CKTag[0] and ckt->CKTag[1] upon successful return
from transient simulation.
2026-06-06 14:28:56 +02:00
Holger Vogt 507351ae01 A digital NAND gate 9-stage ring oscillator (less than 30ms simulation time) 2026-06-06 14:26:25 +02:00
Holger Vogt b1717822d2 Revert "A digital NAND gate 9-stage ring oscillator (less than 30ms simulation time)"
This reverts commit 2ef046704e.
2026-06-06 12:46:43 +02:00
Holger Vogt 2ef046704e A digital NAND gate 9-stage ring oscillator (less than 30ms simulation time) 2026-06-03 16:40:45 +02:00
Holger Vogt 72620328a1 Excluded integration during self-heating as well. 2026-06-01 19:48:50 +02:00
Holger Vogt d029ed02db Diode: No integration if dc sweep, but keep calculating capacitances 2026-06-01 11:02:45 +02:00
Holger Vogt 973b6b6d49 No integration if dc sweep, but keep calculating capacitances 2026-05-31 15:57:26 +02:00
Holger Vogt e53325583b Don't check for tperiod, which is not used when the
distributed pulse is applied.
2026-05-26 16:02:36 +02:00
Holger Vogt 037b6578f8 gain cell as an example for the declarative small signal noise approach 2026-05-24 09:58:53 +02:00
Holger Vogt b03f3cc8fe title update 2026-05-23 15:03:12 +02:00
Holger Vogt afac24be24 Re-format 2026-05-22 21:20:58 +02:00
Holger Vogt 7b045a99b2 improve comment 2026-05-22 21:16:16 +02:00
Holger Vogt 1ec7f8168f Make structure equal to dllitf.h
Fixes bug 840
2026-05-22 21:15:50 +02:00
Holger Vogt 8b32c743ae Update to the SEEgenerator as describes in README.SEEgenerator 2026-05-22 17:32:46 +02:00
Brian Taylor abcbcbd724 Completed and cleaned up memory leak fixes in:
inpc_probe.c outitf.c inpcom.c niiter.c
cherry-pick of this one commit should be OK.
2026-05-19 10:50:35 +02:00
Holger Vogt 7911d0870d Correct paths in example file 2026-05-15 01:00:56 +02:00
Holger Vogt 6b7cde537d Reset plot list to const plot. 2026-05-11 15:10:21 +02:00
Holger Vogt 3dce275b16 reset time to 0 upon initialisation of shared ngspice 2026-05-11 15:09:32 +02:00
Holger Vogt 95cf8738da Avoid compiler warning (VS2022) 2026-05-10 16:36:35 +02:00
Holger Vogt 760b12b14e Enable soundfile support for VS2022/2026 builds. 2026-05-10 16:36:11 +02:00
Holger Vogt 201ae8cac7 Allow building without soundfile libraries.
Emit error message if soundfile source is requested.
2026-05-10 16:35:28 +02:00
Giles Atkinson 7cba7ddee0 Allow building without soundfile libraries. 2026-05-10 15:31:58 +02:00
Giles Atkinson 96c81fd58c Add CPP macros to allow XSPICE macros to be used in local functions. 2026-05-10 15:31:52 +02:00
Giles Atkinson 785be3194c Fix two bugs in the "let" command:
"let plot.vec = ..." fails when creating a new vector;
 if the new vector does not exist, "let" may modify a "const" value.
It is likely that existing scripts rely on the second one,
so variable "sanelet" must be set to enable the fix.
2026-05-10 15:31:48 +02:00
Giles Atkinson 954242616d Filter duplicate entries in sourcepath. 2026-05-10 15:31:44 +02:00
Giles Atkinson 93567da529 Do not report an error when correctly indexing a length-1 vector. 2026-05-10 15:31:40 +02:00
Giles Atkinson 07ca1354eb Disable output redirection for "let" so that normal comparison
operators may be used.
2026-05-10 15:31:30 +02:00
Giles Atkinson 06afc7c1da Command "setplot new" may set name and description of the new plot. 2026-05-10 15:31:25 +02:00