Commit Graph

64 Commits

Author SHA1 Message Date
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.
2023-10-18 14:34:16 +02:00
Holger Vogt 3af627db44 Change error messages to warning messages, because simulator moves on
and command is ignored.
Make messages more verbose (which command?).
2022-10-08 16:44:30 +02:00
Giles Atkinson b1341c8e30 Insert XSPICE bridging devices automatically when an analogue node
has the same name as an XSPICE event node (including digital nodes).
The function Evtcheck_nodes() is replaced by a new version in its
own file.
2022-10-07 13:19:59 +02:00
Holger Vogt 8de513e8e9 ngspice.exe and .dll (.so): seperate the main files:
main.c now belongs to exe, sharedspice.c to dll (so)
2021-01-26 18:17:59 +01:00
Holger Vogt c2513af3e8 remove code that leads to crash if tran simulation is
interrupted and reset is sent (KiCAD)
2020-04-04 14:21:49 +02:00
Holger Vogt 1a9c1b8c24 remove unused code snippet 2020-04-04 14:21:33 +02:00
Holger Vogt 027b342a9c prevent crash if premature exit (without ckt) 2020-03-15 08:51:17 +01:00
Holger Vogt 10c312856e re-enable making nutmeg 2020-03-15 08:51:16 +01:00
Holger Vogt 2f23c58585 plug a memory leak (pll-xspice.cir) 2020-03-15 08:51:16 +01:00
Holger Vogt 1085512be5 Do not start a spurious thread with empty controls 2019-09-28 12:00:48 +02:00
Holger Vogt 0828a8e706 new command bg_ctrl initializing the .control executing thread
pthreads: using detached threads only
keep controls during 'reset', delete only upon 'quit'
2018-12-17 23:05:25 +01:00
dwarning 42d29ef49f remove the entire file buffer modification which was never come in effect
Take over this task to the OS which will handle this properly.
2018-11-18 15:44:53 +01:00
dwarning f0f19f87a3 In case the file open failed we have no need to set the IO buffer size.
And this should also not be done with a NULL pointer into setvbuf.
2018-11-18 15:44:40 +01:00
dwarning 6b99bc8f7a prevent pass null pointer into setvbuf 2018-10-27 11:33:48 +02:00
Holger Vogt b6b66c71bd plug a small memory leak (switch-oszillators.cir) 2018-08-25 23:12:17 +02:00
Holger Vogt c5cea6d6c1 remove ft_curckt->ci_meas upon removing the current circuit ft_curckt 2018-08-24 22:58:02 +02:00
Holger Vogt d1a8637a29 store deck for command mc_source for each circuit in ft_curckt->ci_mcdeck
remove this storage during remcirc

keep most recent deck in recent_deck
2018-08-18 11:26:42 +02:00
Holger Vogt 09c876550f prevent string overflow by adding the string length
to the cp_getvar parameters. Used only with CP_STRING
2018-07-22 14:57:49 +02:00
h_vogt 1066bf0a7b Store the numparam dicoS structure for each circuit in a list.
Functions to add, remove, retrive dicoS from the list
and to update dicoS, if the circuit has been changed.
Keeping dicoS is necessary because it may be used by measure.
This patch prevents (huge) memory leaks by overwriting
dicoS if multiple calls to the 'source' command are executed.
2018-05-19 17:45:45 +02:00
rlar 4ec2717079 struct card, #5/6, rewrite from type "card" to "struct card" 2018-02-17 19:15:53 +01:00
rlar 511cdd7188 struct card, #3/6, rename members from struct line to struct card 2018-02-17 19:15:53 +01:00
rlar e35429a222 inpcom.c, introduce rem_tlist() 2017-04-09 14:03:11 +02:00
h_vogt 29cb659235 runcoms2.c, com_remcirc(), remove a memory leak 2016-07-20 20:02:18 +02:00
h_vogt 0609d231c0 runcoms2.c: prevent crash after 'remcirc' if no circuit is loaded 2014-01-29 21:21:16 +01:00
h_vogt 02555fbe99 bug reported by Yamamaya: revert deleting dicoS structure in inp.c and measure.c:
still to be used by 'listing param'
deletion moved to com_remcirc()
2013-12-31 16:26:01 +01:00
h_vogt 3dff06228e dctran.c, runcoms2.c: shared ngspice: remove plot data upon 'bg_halt' and 'remcirc' 2013-12-31 16:19:08 +01:00
h_vogt 9520044a0f runcoms2.c: remove ci_options upon remcirc 2013-12-31 16:19:04 +01:00
h_vogt 5f6f53f9ad runcoms2.c: plug memory leak during remcirc 2013-12-31 16:19:03 +01:00
h_vogt 9e8219da67 runcoms2.c: plug memory leak during 'remcirc' 2013-12-31 16:18:58 +01:00
h_vogt fceefb700c runcoms2.c: plug setup memory leak 2013-12-31 16:18:54 +01:00
h_vogt e308f52e26 runcoms2.c: set freed pointers to NULL 2013-12-31 16:13:25 +01:00
h_vogt 4865f7c2af runcoms2.c: update for dbs after remcirc 2013-12-31 12:56:54 +01:00
h_vogt 7bc879726d make database dbs local to each circuit 2013-12-31 12:56:53 +01:00
h_vogt c15608c903 unique modtab for each circuit, store in ckt structure 2013-12-31 12:56:38 +01:00
Francesco Lannutti fd4c492562 white space changes 2012-10-22 23:06:25 +02:00
Francesco Lannutti c23bd59c44 removed ancient PARALLEL_ARCH feature
removed variables
  ARCHme
  ARCHsize

removed functions
  SMPcombine()
  SMPcCombine()
  CKTpartition()

removed files
  spcombin.c
  cktpartn.c

removed struct slots
  STATcombineTime
  STATtranCombTime
  STATacCombTime
  GENowner
  <MODEL>owner
2012-10-22 23:06:25 +02:00
rlar fe1acd3757 src/frontend/** remove superfluous `return' invocations 2012-09-22 19:33:55 +02:00
rlar ab98f03622 src/frontend/** whitespace, indentation, ...
checked for object file invariance on linux
2012-09-22 19:33:50 +02:00
rlar 7454a6d486 src/frontend/**, whitespace, indentation, ...
untabify
delete-trailing-whitespace
braces
...

checked for object file invariance on linux
2012-09-20 20:30:53 +02:00
rlar f3b5336d3a cleanup some macros, try to be more careful 2012-09-19 20:16:27 +02:00
rlar 0b5042e7da remove CVS `Id',`log' etc. keyword incantations 2011-12-13 19:57:45 +00:00
rlar 10346e055c #1/4 #include <ngspice/...> --> #include "ngspice/..." 2011-12-11 18:05:00 +00:00
h_vogt f82ec99542 command 'remcir' to remove a circuit updated 2011-11-27 10:29:44 +00:00
rlar 026a471d51 use unlink() instead of remove() 2011-08-21 08:55:58 +00:00
rlar d26015586c #1/7 use a subdirectory "ngspice" for includes to create a uniq namespace 2011-08-20 17:27:09 +00:00
h_vogt dea300d88d command 'remcirc' 2011-07-19 23:06:29 +00:00
rlar 23056573d8 code cleanup, drop NULL pointer casts 2011-04-28 15:59:36 +00:00
rlar 05441d5823 Nr 5/5 (x = ...) == NULL , swallow warnings 2010-11-19 18:54:40 +00:00
rlar abb87a6115 rename `IGNORE()' --> `NG_IGNORE()' 2010-11-16 20:38:24 +00:00
rlar 80286e0032 pour `IGNORE()' all over the source 2010-11-16 19:11:32 +00:00