Giles Atkinson
0f0f80f34f
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-07-08 22:45:21 +02:00
Giles Atkinson
37b6fda497
Simplify adc_bridge, also removing excess white space.
2026-07-08 22:44:59 +02:00
Holger Vogt
62f0b2d8cc
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-07-08 22:44:49 +02:00
Holger Vogt
c961118650
Add error message if scale and data vector lengths do not match
2026-07-08 22:44:28 +02:00
Holger Vogt
8c68d55067
Update the copyright notice
2026-07-08 22:44:21 +02:00
Holger Vogt
d7db4192a8
Replace lengthy call to CKTcircuit by new TSTOP and TSTEP macros
2026-07-08 22:44:10 +02:00
Holger Vogt
28df521b11
Set TSTEP and TSTOP also when MIF_DC, as this is needed
...
when initialising a code model during op before a tran sim.
2026-07-08 22:43:56 +02:00
Holger Vogt
e2f397f9b5
Add two macros TSTEP and TSTOP to XSPICE
2026-07-08 22:43:50 +02:00
Holger Vogt
1caee7903e
Improve the error messages when reading a state file.
...
Bail out when the read has not been successfull.
2026-07-08 22:43:42 +02:00
Holger Vogt
9a79af8a3e
Add MODEDCTRANCURVE to enable returning capacitance upon dc sweep.
...
Exclude integration if MODEDCTRANCURVE is active (forward,
self-heat and reverse diode)..
2026-07-08 22:43:26 +02:00
Holger Vogt
e073718c0e
Add MODEDCTRANCURVE to enable returning capacitance upon dc sweep.
...
Exclude integration if MODEDCTRANCURVE is active.
2026-07-08 22:43:19 +02:00
Holger Vogt
95414ec09b
No integration, if dc sweep is to return cpacitances
2026-07-08 22:43:08 +02:00
Holger Vogt
08f2541d34
Reset ckt->CKTag[0] and ckt->CKTag[1] upon successful return
...
from transient simulation.
2026-07-08 22:43:02 +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
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
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
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
Giles Atkinson
9ad729ec15
CMPP: also skip over single-quoted strings in code-model source.
2026-05-10 15:31:17 +02:00
Giles Atkinson
0f693a55d0
Fix Bug #776 -
...
"vlnggen fails to find verilator in MSYS2/MINGW64 on Windows 10".
Patch by Chaojun.
2026-05-10 15:31:13 +02:00
Holger Vogt
55dc72a01f
Restrict time step equalising: don't do it with next breakpoit
...
at TSTOP, as simulations with may fail with ever decreasing time step.
2026-05-10 11:07:31 +02:00
dwarning
b4ecedc616
vdmos bulk diode with smart recovery model
2026-05-09 15:55:27 +02:00
Holger Vogt
19217bf018
Fix a bug reported by Dmitriy, take 2: use 1 to length-1
2026-05-08 10:53:02 +02:00
Holger Vogt
288b2808ab
Fix a bug reported by Dmitriy: use length-1
2026-05-06 16:14:10 +02:00
Holger Vogt
3f3194babf
Update to meas: stdout-->stderr, remove unusable error message,
...
reported by Dmitriy
2026-05-04 16:54:53 +02:00
Linus Torvalds
a1cd8d0565
Allow loading the entire audio file at vsjack_open() time,
...
get the actual oversampling, to allocate the sample space.
2026-04-30 13:06:31 +02:00
Linus Torvalds
b672580181
Add some reset to -re-enable consecutive simulations
2026-04-30 13:06:31 +02:00
Linus Torvalds
6694fd882d
Patch fixes bug in the original linear interpolation,
...
along with generating a proper "streaming" resampled output.
2026-04-30 13:06:31 +02:00
Holger Vogt
70a1c3fc6e
Improve error messages.
...
Oversampling default is 4.
2026-04-30 13:06:30 +02:00
Holger Vogt
f3a243fd1f
Make types compatible, change from int to size_t
2026-04-30 13:06:30 +02:00
Holger Vogt
d71146a37a
Formatting
...
Replace tabs by spaces
2026-04-30 13:06:30 +02:00
Holger Vogt
9f2f8bd567
Oversampling default is 1
2026-04-30 13:06:30 +02:00
Holger Vogt
d26c19f984
Remove source of memory errors: read and write beyond boundaries
...
caused segfaults.
2026-04-30 13:06:29 +02:00
Holger Vogt
5bf1e82ac3
Just a small fix
2026-04-30 13:06:29 +02:00
Holger Vogt
f4c56990f8
prevent a segfault when TSTOP less than TSTART in tran command
2026-04-30 13:06:28 +02:00
Holger Vogt
17665eb843
allow other simulation types, e.g. ac
...
prevents crash
2026-04-30 13:06:28 +02:00
Holger Vogt
831754e71a
Enable standard search paths for *.wav file search.
2026-04-30 13:06:28 +02:00
Holger Vogt
44a625e4df
add dot commands .sndprint, .sndparam in inp.c
2026-04-30 13:06:28 +02:00
Holger Vogt
852c48194b
Formatting: tabs to spaces
2026-04-30 13:06:27 +02:00
Holger Vogt
50c5a8e2ea
Remove unused
2026-04-30 13:06:27 +02:00
Holger Vogt
ab32d47860
replace exit() by controlled_exit()
2026-04-30 13:06:26 +02:00
Holger Vogt
93dbc846a3
declare functions and variables static, if so
2026-04-30 13:06:26 +02:00
Holger Vogt
c1a35dbb92
reformat vsjack.c
2026-04-30 13:06:26 +02:00
Holger Vogt
f6c78d8e9e
Use the current method to set the coefficients
2026-04-30 13:06:26 +02:00
Holger Vogt
3d82891a87
reformat, set better error message for src_process()
2026-04-30 13:06:26 +02:00
Holger Vogt
feb89e07dc
add progress report when entering wav output stage
2026-04-30 13:06:26 +02:00
Holger Vogt
8c157b887e
add commands sndprint, sndparam with
...
associated functions com_sndprint and com_sndparam
2026-04-30 13:06:25 +02:00
Holger Vogt
fd254d7620
add dotcards .sndparam and .sndprint
2026-04-30 13:06:25 +02:00
Holger Vogt
80b93edfe5
ngspice.h and controlled_exit() instead of exit()
2026-04-30 13:06:25 +02:00
Holger Vogt
9fad8e3934
add sound capability to vsrc
...
see https://sourceforge.net/p/ngspice/patches/13/
2026-04-30 13:06:25 +02:00
Holger Vogt
e1e0d08ad5
add files sndprint, vsjack
2026-04-30 13:06:25 +02:00
Holger Vogt
d20315309f
Do not replace GND by 0 f if GND is used inside of the subcircuit
...
and is referenced on the .subckt line, and ps is set.
This will allow using this subcircuit with non-zero reference
voltage.
2026-04-30 11:26:17 +02:00
Holger Vogt
b8e595a0e7
cosmetics
2026-04-29 13:34:43 +02:00
Holger Vogt
2a246632bb
Add instance parameters td anr to the ISRC pwl source,
...
like has been available with voltage source VSRC.
2026-04-29 13:34:22 +02:00
Holger Vogt
51ebf841ac
Make the memory printout more portable and readable.
...
Avoid integers, uses doubles.
2026-04-28 20:17:01 +02:00
Holger Vogt
cb1a29b8c0
If newcompat.ki is enabled, allow /gnd and /0 (local ground symbols
...
in KiCad and replace them by true ngspice ground 0 .
2026-04-28 16:19:12 +02:00
Holger Vogt
9ef52c10b9
newcompat.ki has already been set in sharedspice.c
2026-04-28 16:17:35 +02:00
Holger Vogt
eb751c5767
Add a function get_calling_process_nameto retrieve
...
the name of the calling process.
Use this function to identify Eeschema as caller for
automatically setting the compatibility flag ki.
2026-04-28 14:35:09 +02:00
Holger Vogt
5333bf658c
Use updated eng() to print frequency with k, M, G prefixes.
2026-04-28 11:51:55 +02:00
Holger Vogt
7cf526ce4c
Update memory check:
...
Only for WINDOWS baile out if requested memory is larger than existing.
For other OSs issue a warning, but then move on.
2026-04-28 11:50:46 +02:00
Holger Vogt
2c461c4441
Update the eng() function.
...
Allow outputting bytes in multiples of 1024.
Reformatting of file.
2026-04-28 11:49:13 +02:00
Holger Vogt
b00d8daf58
In case of error allow portable printing of 64bit integers
2026-04-28 11:43:27 +02:00
Holger Vogt
9007ffab23
Enable printing outputs with engineering exponents
2026-04-26 12:08:08 +02:00
Holger Vogt
be9d1df1d2
Improve error message
2026-04-25 17:17:09 +02:00
Holger Vogt
2c0aabd760
Remove linker warnings (VS2022)
2026-04-25 11:46:35 +02:00
Holger Vogt
1636ca3ce1
Show that the external process 'gnuplot' is running (Windows only)
2026-04-24 23:30:00 +02:00
Holger Vogt
35b487108c
Update to notes and error messages
...
Use stderr or stdout adequately
Reported by Dmitriy
2026-04-24 21:00:51 +02:00
Holger Vogt
b0a625a496
Use controlled exit
...
Bug reported by Dmitriy
2026-04-24 21:00:07 +02:00
Holger Vogt
c9aac14fc1
Fix a bug reported by Dmitriy, replace = by ==
2026-04-24 20:59:35 +02:00
Holger Vogt
e6e3d62118
Fix a bug in the SFFM current source, reported by Dmitriy.
...
Enable TD.
2026-04-24 19:53:45 +02:00
Holger Vogt
24240d0e9a
All paths return a value
2026-04-24 19:52:22 +02:00
Holger Vogt
665a4944eb
Fix a bug, reported by Dmitriy
2026-04-24 17:58:09 +02:00
Holger Vogt
597358f4a8
remove linker warning.
2026-04-24 15:58:05 +02:00
Paul Campbell
5490c3c33d
ngspice crashes in eprvcd with 3 or more analog parameters.
...
Fixed by changing the parameter sequence and zeroing the initial array.
2026-04-24 15:28:49 +02:00
Holger Vogt
08accebcd3
Move the memory check to a place where it is called once only per plot
2026-04-24 15:21:34 +02:00
Holger Vogt
215dd0e136
Status display 'shell', if shell command takes its time.
2026-04-24 14:47:15 +02:00
Seth Hillbrand
6bb89dac01
Implement MIFnoise(), the generic noise callback for all XSPICE code
...
models. Two discovery modes are supported: declarative, where models
define reserved parameter names (noise_voltage, noise_current,
noise_corner, noise_exponent) and get automatic noise sources and
programmatic, where models register sources via cm_noise_add_source()
during MIF_NOI analysis calls.
2026-04-22 08:45:28 +02:00
Seth Hillbrand
5afef46b5c
OTA (operational transconductance amplifier) code model as a
...
reference implementation that exercises the programmatic noise interface.
2026-04-22 08:45:28 +02:00
Seth Hillbrand
013408ac08
Implement MIFnoise(), the generic noise callback for all XSPICE code
...
models. Two discovery modes are supported: declarative, where models
define reserved parameter names (noise_voltage, noise_current,
noise_corner, noise_exponent) and get automatic noise sources and
programmatic, where models register sources via cm_noise_add_source()
during MIF_NOI analysis calls.
Also add an OTA (operational transconductance amplifier) code model as a
reference implementation that exercises the programmatic noise interface.
2026-04-22 08:45:27 +02:00
Holger Vogt
4614452f19
Info message to stdout, not stderr
2026-04-21 20:01:48 +02:00
grayfox
4cf82e6a52
Fix NULL dereference of getpwuid() result and missing tfree()
2026-04-21 20:00:46 +02:00
Holger Vogt
668329ca3e
PSS updates:
...
Remove 1e6 factor from lines 647-653: this will re-enable convergence.
Exclude division by pred[i] if it is 0.
If predsum is 0, go out sucessfully.
Improve comments.
Add updates from dctran.
2026-04-20 17:06:53 +02:00
Holger Vogt
21b3131e12
Implement getrusage() with ru_maxrss permanently for Apple ARM.
2026-04-18 13:27:07 +02:00
Holger Vogt
7859aa0db9
Updating the 'available memory' measurement for Apple ARM 64 bit
2026-04-17 17:10:31 +02:00