Commit Graph

9542 Commits

Author SHA1 Message Date
Holger Vogt a0af7065a8 Add internal plotting via command
plot  n_one clk n_zero msb lsb digitop
2026-04-29 13:03:12 +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 7e2056462c Example for small signal noise in code model OTA 2026-04-25 17:16:50 +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 bc7eb4fdd4 Show equal x axes 2026-04-24 20:49:14 +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
Holger Vogt 3e4df63d05 Add ota to VC analog project 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 72f2b8d6e1 Add missing 2026-04-20 22:49:31 +02:00
Holger Vogt da9371a3ef Add missing, fixes bug 839, reported by Mamoru Tasaka 2026-04-20 22:46:45 +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 a3102a7041 Some tiny updates for pss examples 2026-04-20 17:02:10 +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
Holger Vogt 1a621eb08e load both standard and nqs PSP models 2026-04-12 11:53:52 +02:00
Holger Vogt e1bc444380 Update van der Pol oscillator
Add oscillators with .control section
2026-04-12 11:47:14 +02:00
Holger Vogt a2a22c0cee Improve PSS error messages 2026-04-11 14:49:32 +02:00
Holger Vogt 8351188e60 PSS: new breakpoint deletion, copied from dctran.c:
no more endless loop.
Tiny updates to comments
PSSDEBUG flag added
2026-04-11 14:23:20 +02:00
Holger Vogt b9221a07a3 Fix a bug when evaluating -0.5^3.
Use code which has been up to now only applied with LT compatibility.
2026-04-11 14:12:52 +02:00
Holger Vogt afd4eb64ed Fix a bug introduced by yesterday's commit
8abfb5aeb0/
2026-04-07 22:25:27 +02:00
Holger Vogt 8abfb5aeb0 Remove unused ft_gidb
Add debug ft_shvecsearch
Make ft_codemodelerror more verbose.
2026-04-06 14:15:42 +02:00
Keith OHara 0638aaa160 Continue Newton iteration until currents settle.
For each type of device, a *convTest function determines if the
current through that device is converged within tolerance,
and sets CKTnoncon if the current is not yet converged.

ASCRconvTest() erroneously subtracted old current from old,
rather than old from new, when evaluating convergence.

Also, since at least 3f5, the calling function NIconvTest assumed
that the worker functions indicated non-convergence through their
return value, so was ignoring the reports of current nonconvergence.
2026-04-06 00:01:12 +02:00
Holger Vogt 55189b01fe Remove obsolete adms branch 2026-04-04 15:25:06 +02:00
Holger Vogt 864ee815bc Update VSRC and ISRC pulse sources
Enable PW=0, improve 'incomplete' pulse specifications

TR negative or 0 --> TR = ckt->CKTstep
TF negative or 0 --> TF = ckt->CKTstep
if PW not given, but TR and TF --> PW = 0
PW < 0 --> PW = ckt->CKTfinalTime
PER <= 0 --> PER = ckt->CKTfinalTime
2026-04-04 15:23:01 +02:00
Holger Vogt 18cbaad36c Revert "V Pulse delivers erratic outputs, when not parameterized properly."
This reverts commit 7159d6aa4b.
2026-04-04 13:50:43 +02:00
Holger Vogt 5eb1b0a510 Revert "Move comment"
This reverts commit dd2a5fd062.
2026-04-04 13:50:36 +02:00
Brian Taylor 14b94b5f15 Corrections to voltage pulses. 2026-04-04 13:37:32 +02:00