Giles Atkinson
16aadef4c7
Add two new functions to the shared library API.
...
ngSpice_Raw_Evt() requests a callback that returns all the
XSPICE events for a specific node that occurred during the last timestep.
ngSpice_Decode_Evt() provides numeric and string versions of
the event data. Also fix some warnings in sharedspice.c.
2025-05-24 11:27:57 +02:00
Giles Atkinson
44b620658e
Event nodes can be plotted with offset by "iplot", like the
...
digitop option for "plot". Offsets may be explicit or automatic with "-o".
A variable to set the offset is shared with "plot". In plotcurv.c
suppress some warnings that should not apply to event nodes and do
not falsely claim that some vectors have only one x-value.
2025-05-24 11:27:37 +02:00
Giles Atkinson
78924a86a1
Support use of XSPICE event nodes with iplot.
...
In graf.c, local function set() is renamed setflag() to avoid conflict
with a newly-visible global function with the same name.
2025-05-24 11:27:28 +02:00
Giles Atkinson
d528c2a693
Do not strip event value member names (like "digital_node(strength")
...
from the name when creating a vector from event node history.
2025-05-24 11:27:16 +02:00
Giles Atkinson
5790dc2f4d
Add two new XSPICE functions: EVTnew_value_call() and
...
EVTcancel_value_call(). EVTnew_value_call() specifies a function
to be called for each confirmed new value produced on an XSPICE
event node. To be used to add event node support for iplot.
2025-05-24 11:27:03 +02:00
Holger Vogt
80d6e681f2
MS Windows: Get a canonical paths name: Important if
...
path length exceeds MAX_PATH, might happen when using PDKs
Patch provided by kreijstal
2025-05-24 11:26:31 +02:00
Holger Vogt
43c4c49e11
re-enable adding variables (path names) to list variable "sourcepath"
2025-05-24 11:26:18 +02:00
Holger Vogt
a2dbedff4e
Improved error message, not using internal 'circbyline'
2025-05-24 11:25:55 +02:00
Holger Vogt
f1381b43a1
Debug printout of start-up command line
2025-05-24 11:25:42 +02:00
Holger Vogt
cf934bca7d
New command 'save nointernals' to suppress outputting and
...
saving of internal device nodes, espicially needed for PSP
OSDI model. Output file size reduction is e.g. from 20GB to 200MB.
2025-05-24 11:24:57 +02:00
Holger Vogt
de7cec1735
AC noise: Update opertating point, if variable 'hertz' is given
2025-05-24 11:24:44 +02:00
Holger Vogt
338cc42dd0
PS compatibility: MOS level 5 and Bip level 2
...
will create an error. ngspice then bails out, as no
such models are available. Hint to use OpenVAF, OSDI.
2025-05-24 11:24:33 +02:00
Holger Vogt
d776a229e1
Create a vector thdnm from THD calculation, e.g. thd11
...
New vector fournosave: if set, suppress creation of
vectors thd11 and fourier, usefull when writing a raw file.
2025-05-24 11:24:25 +02:00
Giles Atkinson
629d1f5462
Fix a bug where a node name is mis-identified as the model for
...
an OSDI device and remove a limit on node count.
Problem was reported by user Sam in ngspice-users.
2025-05-24 11:24:11 +02:00
Giles Atkinson
b41b8a48c3
Tidy code in get_number_terminals(), removing unneeded copying.
2025-05-24 11:23:58 +02:00
Giles Atkinson
d18479b45b
Always check for GUI events during simulation, if any graphs exist.
...
Previously this check was only made if an iplot window existed.
The 100W.sp example displayed frozen windows with X11-based plotting.
2025-05-24 11:23:44 +02:00
Holger Vogt
7cc3280851
Enhance the search path for .spiceinit (spice.rc):
...
- in the directory from where the netlist has been loaded
- in a user provided path read from environmental variable SPICE_USERINIT_DIR,
- in the current directory,
- in the the HOME directory,
- in the USERPROFILE directory. */
In shared ngspice the first line shall read
- in the directory Infile_Path received from the caller (sent before initialization)
2025-05-24 11:23:26 +02:00
dwarning
7aa8ed0170
Involve optional d-s shunt in ac and pz analysis
2025-05-24 11:23:18 +02:00
dwarning
a271ac821a
Correct matrix entries for VDMOS pz analysis
2025-05-24 11:23:05 +02:00
dwarning
8a49164aec
ReleaseOMP x64 needs fftw-3.3-dll64 include directory
2025-05-24 11:22:58 +02:00
Holger Vogt
612a924ea3
Reformat spoutput.c
...
Replace tabs by spaces
2025-05-24 11:22:47 +02:00
Holger Vogt
46e4a67079
Some cosmetics for readability:
...
replace tabs by spaces
2025-05-24 11:22:37 +02:00
Holger Vogt
8d9988424b
Fixes bug by patch 124 offered by kreijstal
2025-05-24 11:22:30 +02:00
Brian Taylor
08aff1ee17
Fix memory leak of parm when there is a closing ).
2025-05-24 11:22:16 +02:00
dwarning
34046a29c1
VDMOS: use Vdsat in mobility reduction formula
2025-05-24 11:22:09 +02:00
Holger Vogt
243bdff377
Formatting: tabs to spaces
2025-05-24 11:22:01 +02:00
Holger Vogt
7cf0129254
Add a descriptive comment
2025-05-24 11:21:52 +02:00
Árpád Bűrmen
a8e54dfb31
Fixed MOS9 scaling.
2025-05-24 11:21:39 +02:00
Árpád Bűrmen
cc8183a96c
Fixed MOS3 scaling.
2025-05-24 11:21:32 +02:00
Árpád Bűrmen
fcbee261ac
Fixed MOS2 scaling.
2025-05-24 11:21:26 +02:00
Árpád Bűrmen
8e2859d30d
Fixed MOS1 noise scaling.
2025-05-24 11:21:19 +02:00
dwarning
fed39f18c9
diode: introduce few parameter aliases for compatibility to other simulators
2025-05-24 11:19:48 +02:00
Holger Vogt
ef00416ebf
Add a section without source info to the debug output.
...
Truncate .model lines in this section, as .model lines with
several hundred parameters may mask the relevant information.
2025-05-24 11:19:08 +02:00
Giles Atkinson
f8c9da5ed5
The VPI module path should be first in the lib_args parameter.
2025-05-24 11:18:47 +02:00
Giles Atkinson
6c518d4212
Fix an infinite loop with "eprvcd -a" and a misleading comment.
...
The command now works without any event nodes.
2025-05-24 11:18:37 +02:00
Giles Atkinson
027fb7e9e8
Code to suppress a spurious warning of a non-existent parameter,
...
missed from e858ca9465 .
2025-05-24 11:18:23 +02:00
dwarning
ae1437cb52
VBIC: simplify nqs derivatives
2025-05-24 11:18:08 +02:00
Holger Vogt
dd07008b55
Remove ADMS related code
2025-05-24 11:17:56 +02:00
Holger Vogt
216f462583
Automtically set optran step time for at least 50 iterations
2025-05-24 11:17:42 +02:00
Giles Atkinson
ddd14cf84c
Do not include term.h and curses.h in terminal.c without checking that
...
they exist. Modern ncurses does not need curses.h to compile term.h
so that header has been removed. Also make ncurses the last choice
when looking for tputs().
2025-05-24 11:17:25 +02:00
Giles Atkinson
5cfd87d6ad
Do not link with the libraries needed for Ngspice itself.
2025-05-24 11:14:38 +02:00
Holger Vogt
f553469224
Remove adms, ingnore option
...
Clears bug 736
2025-05-24 11:14:12 +02:00
Holger Vogt
2862d243d7
Add two simple Skywater PDK examples, inverter and ISCAS85 C7552
2025-05-24 11:13:43 +02:00
dwarning
20334c495c
VBIC: lean and mean code revision
2025-05-24 11:05:58 +02:00
dwarning
22ef170bac
VBIC: fix NQS problems in transient simulation by implementing adjunct network for excess phase
2025-05-24 11:05:50 +02:00
Giles Atkinson
c7c85ecadc
Add co-simulation with VHDL, using the GHDL compiler and d_cosim.
2025-05-24 11:05:33 +02:00
Giles Atkinson
a50562430c
Add .dylib file extension and improve some messages in d_cosim.
...
On Macos, the command "ghdl -e -shared ..." creates .dylib files.
2025-05-24 11:05:22 +02:00
Giles Atkinson
f471461035
When parsing a XSPICE string-valued model parameter, break only
...
on a closing quote, string end or white space (if unquoted) and
unquoted ']' when parsing an array. That allows generic value overrides
for GHDL models to pass through: "-gVar=value". Previously, the string
was terminated on '='. Also remove some dead and non-functional code.
2025-05-24 11:05:13 +02:00
Giles Atkinson
9786d3b8e2
Improve checking of XSPICE model parameters and tidy code.
...
Checking for null values moves from per-instance code to
per-device code, potentially removing duplicate error messages.
Limits on parameter values and sizes of array parameters that are
specified in the IFS files are now actually checked.
2025-05-24 11:04:55 +02:00
Brian Taylor
4149edd146
Fix circuits so that gtkwave tests run on MacOS. Add encoder/decoder example.
2025-05-24 11:04:13 +02:00