Justin Fisher
8fd86075c1
Reviewer: Please look at openva_location.txt and justins_osdi_modification.txt
2026-07-06 17:52:16 +02:00
Justin Fisher
39a5ea338b
parser: 5-node count for bsimbulk/bsimcmg_va in model_numnodes
...
Without this entry, OSDI BSIM-BULK / BSIM-CMG models fall through
to model_numnodes()'s default 'return 4'. The two consumers in
INP2M() (the 'too many nodes' check and the node-binding loop)
then set up only 4 GENnode slots on the instance. The OSDI
runtime's node_mapping[] reads its 5-port descriptor and picks
up a stale/wrong node index for port 5 — effectively rewiring
the body (or temperature) terminal to a random node.
Symptom: PMOS body diode forward-biased through the supply.
A simple CMOS inverter draws amperes in steady state and fails
to switch rail-to-rail. This branch demonstrates the bug
(without this commit) and the fix (with it).
Also add bsimcmg_va to the model-type allowlist in INP2M() for
consistency with bsimbulk (which was added in the previous
commit).
2026-06-01 14:39:52 +02:00
Justin Fisher
4db43d9612
parser: fix BSIM-BULK (level 77) model type lookup for OSDI MOSFETs
...
inpdomod.c: Add case 77 to the MOS level switch so that .model lines
with level=77 resolve to the bsimbulk OSDI device type instead of
leaving INPmodType=-1. Without this, BSIM-BULK model cards are
registered with an invalid type and instances later fail to load.
inp2m.c: Add bsimbulk to the model-type allowlist in INP2M() so that
MOSFET instances using an OSDI BSIM-BULK model (M-prefix) are accepted
instead of rejected with 'incorrect model type'.
This is the minimum subset needed for a single-model BSIM-BULK test
case to parse. The multi-bin handling change to inpgmod.c that
accompanied the original fix is omitted here — it is unrelated to the
PMOS-polarity wiring demonstration this branch is for.
2026-06-01 14:38:40 +02:00
Justin Fisher
fe6476f9f6
Add pre_osdi alias and set sourcepath case preservation
...
- commands.c: register pre_osdi as alias for osdi command so existing
scripts using pre_osdi continue to work
- inpcom.c: add set sourcepath to the preprocessor case-preservation
exception list; the lowercasing pass was corrupting uppercase letters
in paths (e.g. VA_test -> va_test), causing source to fail on
case-sensitive filesystems
2026-05-27 09:23:12 +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