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
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
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
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
Brian Taylor
492bb64d92
By default, use the shortest typical delay estimate. This makes the digi_74LS90_74LS42.cir testcase for bug641 behave almost the same as MicroCap 12. In ngspice and MicroCap, the only signal with a glitch is not_y8. The other not_* signals look the same. Setting ps_use_mntymx in .spiceinit will change the delay estimates. See the function set_u_devices_info in src/frontend/udevices.c for the various settings of ps_use_mntymx.
3 years ago
Holger Vogt
d5ceced24d
We are developing towards ngspice-42
3 years ago
Pascal Kuthe
499634df47
integrate OSDI with KLU
3 years ago
Francesco Lannutti
13e74751cc
Fixed a MLK for XSPICE and commented out an unused array
3 years ago
Francesco Lannutti
b08eb2266a
Added initial KLU support for node collapsing
3 years ago
Francesco Lannutti
3c15993fe5
Fixed the case when DiagGmin has to not be loaded again and the case when refactoring returns 1
6 years ago
Francesco Lannutti
fe89da2b2c
Getting rid of SPARSE for Initial Circuit Matrix creation. Now KLU is totally independent from SPARSE. This opens up the interface for other solvers as well
SPARSE can still used through '.options sparse', but it isn't possible to switch from KLU to SPARSE and viceversa at run-time
6 years ago
Francesco Lannutti
49f6444957
Added "klu_memgrow_factor" option to control the KLU memory grow factor
6 years ago
Francesco Lannutti
8a8adfe451
First KLU support of CIDER TWOD simulations
6 years ago
Francesco Lannutti
11fb209ee6
First KLU support of CIDER ONED simulations
6 years ago
Francesco Lannutti
4c351f51bd
Moved the KLU binding structures to be property of the XSPICE connections, instead of XSPICE instances
6 years ago
Francesco Lannutti
534394c0bb
First attempt of KLU support for XSPICE
6 years ago
Francesco Lannutti
a5885f0e95
Compacted the flag for KLU matrix being Real or Complex to one single bit
6 years ago
Francesco Lannutti
463e2db25a
Fixed Sensibility Analysis for KLU - First Trial
10 years ago
Francesco Lannutti
e77879ae50
Implement klu_z_print()
10 years ago
Francesco Lannutti
0afda7f89c
Implement spMatrix_CSC_dump()
10 years ago
Francesco Lannutti
4d37c32a14
Implemented spDeterminant_KLU
10 years ago
Francesco Lannutti
4489f2b0b2
klu_extract_Udiag, Fixed the PZ Analysis for KLU - Added a missing KLU node in VSRC which exists only in case of PZ Analysis - Other fixes
10 years ago
Francesco Lannutti
f25b22e56a
Fixed a bug in SMPpreOrder and let KLU digest an empty matrix
10 years ago
Francesco Lannutti
ce18d6846f
KLU Integration from scratch #4 , changed files
10 years ago
Francesco Lannutti
cf5991ae81
KLU Integration from scratch #1 , new files
12 years ago
Francesco Lannutti
60b4c3cda7
move include files to src/include/ngspice/
12 years ago
holger
57c880b6a3
Prepare ngspice-41
3 years ago
Holger Vogt
d4c54123d4
Revert "Add code in ivars.c to look for a SPICE_ROOT environment variable"
This reverts commit 6b0ab44f1e .
3 years ago
Giles Atkinson
6b0ab44f1e
Add code in ivars.c to look for a SPICE_ROOT environment variable
that gives the location of the ngspice installation. That allows
binaries to be installed in a different directory to the one
compiled in. The spinit startup file is made location-independent
by passing a variable giving the location of loadable modules,
so this fixes Bug #615 -
"spinit contains arch dependent paths, but is installed as noarch DATA".
3 years ago
Holger Vogt
18911b06b6
re-enable rcheck debug output with WINGUI
3 years ago
Holger Vogt
fe3222a118
Add an option nginfo to enable a status report during simulation
(currently available only with MS Windows GUI version).
3 years ago
Giles Atkinson
5114d6c2f4
Add an option to the iplot command: -d sets the number of simulation
steps before the window is shown. The value can be chosen to
limit rapid resizing when starting and that is used in the PLL examples.
3 years ago
Giles Atkinson
e5a931e537
Improve commands for vector scales. "setscale" can now change
or clear the scale of an individual vector and "compose" can
explicitly create a vector from XSPICE event node history.
3 years ago
Holger Vogt
0ee5e3f32a
Add a control language function cvector, to create a complex vector.
Let vec1 = cvector(50)
will generate a complex vector, with the real part values
increasing from 0 to 49, the imaginary values are set to 0.
Useful in ac loops to store result data.
3 years ago
Pascal Kuthe
e5d1885e39
make accessible
3 years ago
Holger Vogt
b6e9ba20b9
Add another error qualifier to decribe the current policy
when a doubling token exists (or is created) in the netlist.
3 years ago
Holger Vogt
d53acbed8e
Add noise capability to XSPICE code models
Coded according to acan., AC analysis
MIF_NOI is not yet supported by any code model, so
MIF_AC is used (code models behave like in ac mode,
they are noiseless.
3 years ago
Holger Vogt
95c4c0f587
Add inertial.h to the distributable headers
3 years ago
Holger Vogt
311ddeac0d
Prepare for ngspice-40
3 years ago
Giles Atkinson
240a2b9406
Add missed file inertial.h.
3 years ago
Giles Atkinson
2643e3b17f
New code-model library functions cm_schedule_output() and cm_getvar().
To be used in the inertial delay code for digital code models.
3 years ago
Giles Atkinson
c1659a64c3
Change output event setup in evtload.c so that, when making an event call
to a code model, there is no longer a reference to the value of the event
at the head of the free list. That allows all such free lists (with the
same data type) to be combined, probably improving performance.
This is in preparation for full implementation of inertial delay for
digital nodes.
3 years ago
Holger Vogt
71571a1432
Add function atanh to .control section
3 years ago
Holger Vogt
d4ee9af2e6
We are developing towards ngspice-40
3 years ago
Holger Vogt
5cb5d218c9
Remove the obsolete RETSIGTYPE, replace by void
3 years ago
Brian Taylor
56d0c72924
Add port directions when logicexp or pindly are present.
3 years ago
holger
b3676bb763
enable make dist
3 years ago
Holger Vogt
167c708e69
Add searchpath for *.osdi relative to ngspice executable
3 years ago
Holger Vogt
71002aa42f
Prepare for ngspice-39
3 years ago
Pascal Kuthe
5791a2d449
ensure config.h is always included in cktdefs.h to ensure correct
type signature
3 years ago