Brian Taylor
4530cde8e2
Use Xspice cm_message_send to report errors rathen than printing to stderr and calling exit. When a d_process model has errors found in start(), sendheader(), and dprocess_exchangedata() these are reported, but if the model is run a SIGINT is raised. There must be a better way of stopping the simulator.
2 years ago
Brian Taylor
182764a894
Add examples/xspice/d_process.
2 years ago
Brian Taylor
df28fabc42
Restore the deleted unused params to be backword compatible. Handle the case where the d_process instance has a null in vector, so that N_din is zero. This allows the model to be just a pattern generator. Add include to cmproto.h to avoid a forward ref. to an enum type.
2 years ago
Brian Taylor
307ba1985b
Remove unused reset_state param; do not allow null in and out, so there is at least 1 input and 1 output.
2 years ago
Brian Taylor
7820940be3
Remove the unused reset_delay param.
2 years ago
Brian Taylor
e762047fc2
Add array bounds check, fix typos.
2 years ago
Brian Taylor
022a340ddb
Fix VisualC and Mingw compiler warnings.
3 years ago
Brian Taylor
cccb4a1559
Add callback to free process memory.
3 years ago
Brian Taylor
33780055ee
Add MODIFICATIONS note, cleanup white space.
3 years ago
Brian Taylor
5c4352d02f
Add __MINGW64__ defines for builds on mingw with msys.
3 years ago
Brian Taylor
3bb6e86015
Add Windows Visual Studio support for the Isotel d_process xspice digital model. The Isotel mixedsim-master/examples/embedded/motorforce C code needs to have minor changes for _MSC_VER defines, and are not included with this commit. The changes relate to using #pragma pack(push, 1)...#pragma pack(pop) around some structs, and setting stdin/stdout in binary mode. It is doubtful that the cfunc.mod will compile on mingw or cygwin since I don't know if they support pipe/fork/exec/spawn calls. The code builds and runs on Windows, Linux, and MacOS. In the future, Giles Atkinson is looking at allowing Xspice models to load shared libraries (.dll, .so) which will avoid creating and communicating with an external program.
3 years ago
Holger Vogt
046be0cdc8
Use the PSP103 model pspnqs103va (including nqs option)
as this is the standard in the IHP Open PDK.
2 years ago
Holger Vogt
efdf332061
Prevent a crash if hash model table was not generated,
e.g. due to missing valid models.
2 years ago
Holger Vogt
ce82c839e3
dependent project klu_complex added
2 years ago
Holger Vogt
10d7297798
Add cm_cecit(). If the input file could not be opened, stop ngspice.
2 years ago
Holger Vogt
19ebfb1887
Add a code model function cm_exit(const int exitcode).
This function calls controlled_exit(exitcode) to shut
down gracefully.
2 years ago
Holger Vogt
f26dda8616
Formatting
2 years ago
Holger Vogt
39443fafdd
Removing unused models takes much more time than keeping them
for large circuits.
Probably a hash table may help here (t.b.d.).
2 years ago
Holger Vogt
8ef0aece58
During setup of the models thre have been search scans in the
linked model list modtab. The time used here grows approx.
quadratically with the number of models. If the numbers get large,
e.g. with the IHP Open PDK, setup time make simulation impractical.
Therefore the linked list modtab has been enhanced by a hash table
modtabhash, which allows linear search time and makes simulation
of a 200k transistor circuit with IHP PDK possible. Already
the setup time for 15k transistor circuits has been reduced.
2 years ago
Holger Vogt
9702557f81
Evaluate function gauss() in B sources. This is required when
in .model files the tokens 'temper' and gauss() coexist, because
then the B Source function parser is applied.
2 years ago
Holger Vogt
4b226bf11c
add output for all noise sources
2 years ago
Holger Vogt
77c4cb5452
new bipolar noise example
2 years ago
Holger Vogt
eb36084700
re-formatting (indentation, tabs removed)
2 years ago
Holger Vogt
9edf34495e
Don't say 'issue in line no. 0', as this 'info' does not tell
where the line with position 0 really is in the input deck.
2 years ago
Holger Vogt
7c3cb8169c
This is a re-write of the PWM generator.
It is modelled according to the new d_OSC by Giles Atkinson.
Here frequency is fixed and duty cycle is controlled by an
analog input.
2 years ago
Holger Vogt
ecb416b800
This patch fixes a bug when shared library uses XSPICE:
Don't subtract delta twice, when breakpoint is active
and step is rejected.
https://sourceforge.net/p/ngspice/patches/106/
Thanks to Vyacheslav Shevchuk
2 years ago
Holger Vogt
9944a4869f
typo
2 years ago
h_vogt
7ab929e945
klu and osdi are becoming standard now.
3 years ago
Holger Vogt
53315ed764
Prevent crash when no input file given.
3 years ago
Holger Vogt
4f79105b06
Add comment
3 years ago
Holger Vogt
233f9daba4
Remove unused instance parameter ic (initial condition of controlling source).
3 years ago
Holger Vogt
b1f367bc07
Remove adms
Add KLU and OSDI
3 years ago
Holger Vogt
28b495318d
Update to command 'wrnodev':
Prevent crash if tran is not (yet) run.
Open output file only when data are available.
Enhanced comment and warning message.
3 years ago
Holger Vogt
e449c894ce
Prepend title line by '*' if printed by 'listing r'.
This allows skipping all pre-processing.
3 years ago
Holger Vogt
76f837b0b7
skip all pre-processing for expanded input files created by 'listing r'
3 years ago
Giles Atkinson
a5704c8453
Fix a "make check" failure, by restoring the dollar-1 test to its
state before a70e708 as that change is no longer needed after 2790fd6 .
3 years ago
Giles Atkinson
2790fd68bb
Make the special "noglob" variable work. To preserve previous behaviour
change the default value from true to undefined (meaning false).
Also fix a misleading comment in glob.c.
3 years ago
Giles Atkinson
a70e708114
Make special interpreter variable "noglob" behave as documented:
globbing is off by default. An incompatible change, but previous
behaviour can be restored by "unset noglob" in .spiceinit.
3 years ago
Giles Atkinson
41c61604c5
Handle SIGTTIN and SIGTTOU on Unix-like OSs with X11 graphics.
That makes it possible to push ngspice into the background while
plot windows are open: the windows remain responsive.
Discussion on ngspice-users, starting 2023-09-01,
title: "`quit` in Interactive Mode."
Also restore terminal state when forcing exit with SIGINT (control-C).
3 years ago
Giles Atkinson
588116af48
Fix a bug in the "help" command. Some commands have no action function,
so the function pointer should not be used to detect the end of the table.
Use the command name instead.
3 years ago
Giles Atkinson
423f9a9db2
Fix a build bug for XSPICE: files generated for code models are
not removed when doing 'make clean' from release/src/xspice or above.
3 years ago
Holger Vogt
930bd12dc2
Enable degug mode in shared ngspice with KLU
3 years ago
Holger Vogt
f3eb46e76d
Fix bug in fprintf
3 years ago
Holger Vogt
b034332e84
Improve warning message during evaluating .probe
3 years ago
Giles Atkinson
62471ecede
Fix two bugs in cmpp: an unmatched right bracket in cfunc.mod
causes an infinite parsing loop (mod_yacc.y) and XSPICE macros
are replaced in string literals (mod_lex.l).
3 years ago
Holger Vogt
dbc5042263
Prevent a crash if port cntrl is set to NULL
3 years ago
Holger Vogt
01bdd44ef9
Modify the previous commit a616a0abe:
no spaces in the first column
3 years ago
Vogt
a616a0abe3
Add variable wr_onspace to allow printing the vetor name with
one space delimiter
3 years ago
Holger Vogt
daa58f4125
Fix previous commit [acb7f2]
Allow frequency 0 Hz (make check will do agian).
3 years ago
Holger Vogt
acb7f2cd97
Make .ac error messages more verbose, prevent some crash,
enable default values.
3 years ago