Commit Graph

7681 Commits

Author SHA1 Message Date
Holger Vogt 7a6b9092f5 Use 'esave none' to reduce memory consumption.
Only analg nodes are to be saved.
2022-01-07 11:54:23 +01:00
Holger Vogt 9e8732e299 Add 'esave' command to save only specific event nodes.
Add a prompt for esave/eprint/eprvcd.
2022-01-07 11:53:32 +01:00
Holger Vogt eb4b141f4b Obtain memory and simulation time
Add rusage information command
2022-01-03 21:57:38 +01:00
Holger Vogt fb92ac8f16 Reuse memory for queued events.
Patch #109 - 2 provided by Giles Atkinson
2022-01-03 21:28:47 +01:00
Holger Vogt 720e679bc7 The AD and DA hybrid XSPICE bridges consume a lot of
memory (one state per time step added). Memory of
previous time steps is not recovered.

Patch #109 by Giles Atkinson reduces memory consumption
dramatically (> factor of 10).
2021-12-30 14:50:48 +01:00
Holger Vogt e95307b916 Revert "The ad bridge (type 78) and the DA bridge (type 79) used to consume a lot"
This reverts commit 7bc2e8fa57.
2021-12-30 14:46:18 +01:00
Holger Vogt 3e113da5e3 Revert "Fix a typo"
This reverts commit 83cde564cd.
2021-12-30 14:46:06 +01:00
Holger Vogt 49439195ac Revert "a readme for this branch"
This reverts commit 79c1bc91b5.
2021-12-30 14:45:45 +01:00
Holger Vogt 0a5f6ea35a Revert "backup for AD and DA hybrid bridges will crash."
This reverts commit 2e7a4068f0.
2021-12-30 14:45:28 +01:00
Holger Vogt 2e7a4068f0 backup for AD and DA hybrid bridges will crash.
Exclude backup for these devices.
2021-12-28 18:37:12 +01:00
Holger Vogt 79c1bc91b5 a readme for this branch 2021-12-28 18:35:55 +01:00
Holger Vogt ffa61c9505 readme added for this branch 2021-12-28 13:31:39 +01:00
Holger Vogt 83cde564cd Fix a typo 2021-12-28 13:31:02 +01:00
Holger Vogt 7bc2e8fa57 The ad bridge (type 78) and the DA bridge (type 79) used to consume a lot
of memory, because for each time step a new state had been created and
added to the state linked list.
During evaluation, however, only the two last stated are used. Therefore the
following code deletes a state from the head of the ist, when there are more than
two states.
FIXME: this could be done more efficiently (e.g. by not mallocong  new states),
but one carefully has to update relevant indices. */
2021-12-28 13:27:14 +01:00
Holger Vogt c7bc84943a plug a memory leak 2021-12-23 14:38:09 +01:00
Holger Vogt a8d8600faa plug a memory leak 2021-12-23 14:37:57 +01:00
Holger Vogt 2b19e924dd prepare ngspice-36 2021-12-20 11:27:41 +01:00
Holger Vogt e87fcbabdf Prepare ngspice-36 2021-12-18 14:14:58 +01:00
Holger Vogt cb0d8f18dc Prepare for ngspice-36 2021-12-18 13:47:43 +01:00
Holger Vogt 5805697ae0 Prepare for ngspice-36 2021-12-18 13:46:19 +01:00
Holger Vogt b164f5d2c6 Prepare for ngspice-36 2021-12-18 13:45:53 +01:00
Holger Vogt 8bf28b5aee Comment out non-ngspice compatible commands
Otherwise error messages would have beeen generated
2021-12-16 08:12:29 +01:00
Holger Vogt 4f73c27d86 Memory access error: don't free GENinst->GENname.
Use memcpy to overwrite old name by a (shorter) new name.
Compiler warnings are thus removed.
2021-12-16 08:04:54 +01:00
Holger Vogt 9be9f46f96 Remove unused function Evt_Data_destroy() 2021-12-16 08:04:44 +01:00
Holger Vogt 6ba484e5d2 Remove redundant redeclaration of ‘ft_getpnames_quotes’ 2021-12-16 08:04:34 +01:00
Holger Vogt 5adbfc1c86 Remove compiler warnings associated with snprintf()
Use memory allocated on the heap instead.
2021-12-16 08:04:20 +01:00
Holger Vogt b5b462506f add a function prototype for com_wric() 2021-12-16 08:03:59 +01:00
Holger Vogt 3bac1ffabe Allow adequate size for copying.
Add the missing character string to fprintf.
2021-12-13 22:31:19 +01:00
Holger Vogt b636017359 add function prototype
for insert_new_line()
2021-12-13 22:09:17 +01:00
Brian Taylor 8e75cad453 Fix missing initializer warning. 2021-12-13 21:50:30 +01:00
Holger Vogt 11117912f9 typos 2021-12-13 21:50:20 +01:00
Holger Vogt 45ceeee509 small updates to example files 2021-12-13 21:50:10 +01:00
Holger Vogt b714f0bea9 Add other integration methods to the example
We have: meas, integ, and code model INTEG
2021-12-13 21:50:00 +01:00
Holger Vogt 1605d293d0 Add function integ to control language
Trapezoidal rule for integrating a vector.
2021-12-13 21:49:45 +01:00
dwarning 2eaf35f633 fix a double application of device multiplier for certain diode parameter 2021-12-13 21:49:33 +01:00
Holger Vogt 422719200e re-enable parameters in agauss function
fixes bug #564 reported by Stefan Schippers

If nested braces {..{  }...} have been created,
replace the inner { } by ( )
2021-12-13 21:49:18 +01:00
Holger Vogt a68cfefb28 hcopywidth and hcopyheight failed with SVG plot
cp_getvar read CP_NUM, not CP_STRING
Patch #108 contributed by Giles Atkinson

Add hcopywidth and hcopyheight to example nmos_out_BSIM330_svg.sp
2021-12-13 21:49:01 +01:00
Holger Vogt b749e62e31 Make error message more verbose 2021-12-13 21:48:29 +01:00
Holger Vogt aaf586ae83 .probe: Add more safeguards to prevent crashes
in case of wrong user input
due to obtain empty lines in shared ngspice
2021-12-13 21:48:21 +01:00
Holger Vogt d41379177f .probe: various example netlists 2021-12-13 21:48:09 +01:00
Holger Vogt bb9f1669f6 Enable math characters also in tokens like i(z/z) by
temporarily putting " around the token.

Improve error message on missing vector
2021-12-13 21:47:54 +01:00
Holger Vogt b59d2aabd1 .probe: Add function call to modprobenames()
Function resides in inpc_probe.c.
The function renames all current measurement instances
vcurr_instance:node#branch to instance:node#branch by
modifying the global instance table (tab).
2021-12-13 21:47:37 +01:00
Holger Vogt 9dff15507d .probe: Add call to function inp_probe() which resides
in inpc_probe.c.

Make function insert_new_line() non-static

Enable detecting the number of nodes in x-lines
(calls to subciruits) in function get_number_terminals()
2021-12-13 21:47:27 +01:00
Holger Vogt 7f1a3bea20 .probe: Add the new file inpc_probe.c to the VS project files
and makefile.am in ngspice/src/frontend
2021-12-13 21:47:11 +01:00
Holger Vogt 951be0ddb0 New dot command .probe:
Code to enable current measurements at all top level
device pins and to enable differential voltage measurements
between two (arbitrary, top level) device nodes.

Adds 0 V voltage sources for current measurements to selected or all
device nodes at top level (including X lines)

Adds an E source excited by two arbitrary nodes for differential
potential (aka voltage) measurements between these nodes

Function inp_probe() is called from inpcom.c
2021-12-13 21:46:57 +01:00
Holger Vogt 7f75b2a7b8 Update to previous commit: safeguard against no circuit loaded 2021-12-13 21:46:29 +01:00
Holger Vogt 54eb12de39 Fix a bug: Crash when 'settype @d1[id]' is given,
but simulation is not yet run.

Add a better check for having at least one simulation run
2021-12-13 21:46:15 +01:00
Holger Vogt 1ce0066d3b Update to previous commit: corrected and enhanced warning messages 2021-12-13 21:46:03 +01:00
Holger Vogt 16fd8749cf Fix a bug: Crash when 'settype @d1[id]' is given,
but simulation is not yet run.

Ask for the job before acknowledging settype on
a vector starting with @
2021-12-13 21:44:30 +01:00
Holger Vogt 2f98a5b305 evtprint: prevent a crash when eprint has been called
but there is no simulation run.
2021-12-13 21:44:02 +01:00