Commit Graph

7604 Commits

Author SHA1 Message Date
Holger Vogt 1fdab4357c F.-request 85: save currents in subcircuits
Separate handling .ic/.nodeset and .save .
Add i(Vxx) to  address translation.
Vxx#branch is not supported.
2021-10-20 13:56:43 +02:00
Holger Vogt b4e5a7a721 Feature request 85: Enable .save within subcircuits
inp.c: Add .save to wl_first only after subcircuit expansion
subckt.c: treat .save like .ic
2021-10-19 11:44:47 +02:00
Holger Vogt aa32a84e7f remove compiler warnings 2021-10-11 17:11:45 +02:00
Holger Vogt f3b3f15a60 README.optran: optran is now standard. 2021-10-10 12:08:01 +02:00
Holger Vogt 61460bdd29 cpl gc: Add missing files to project file 2021-10-10 11:44:12 +02:00
Holger Vogt 8bfdaf0b25 Make optran standrad by calling com_optran during ngspice initialization. 2021-10-10 11:41:28 +02:00
Holger Vogt d5129a5ad5 if step size in optran command is set to 0,
optran is deselected.
2021-10-10 11:40:53 +02:00
Holger Vogt 46c7b5269f remove optran command from spinit 2021-10-10 11:40:00 +02:00
Holger Vogt 53d1f3e490 cpl gc: Add missing files to project file 2021-10-10 11:39:26 +02:00
Holger Vogt 86201a85a2 Redo the transformation vswitch -> pswitch
Parsing takes default values into account, when
parameter is missing.
S vswitch --> pswitch code model
S_ST vswitch (with hysreresis) --> SW switch
S iswitch --> aswitch code model
S_ST iswitch (with hysreresis) --> CSW switch

Use string handling for replacements: allow parameter
equations in .model lines.
2021-10-09 23:20:34 +02:00
Holger Vogt a41cbad50e Revert "Redo the transformation vswitch -> pswitch"
This reverts commit b78bb48ead.
2021-10-08 20:34:59 +02:00
Holger Vogt b78bb48ead Redo the transformation vswitch -> pswitch
Parsing takes defaults into account
S switch --> pswitch code model
S_ST switch (with hysreresis) --> SW switch

iswitch not yet done
2021-10-06 23:58:03 +02:00
Holger Vogt e5ca96b039 Improved error message:
when argument out of range, name the term
2021-10-06 23:53:41 +02:00
Holger Vogt d6307122ff Pswitch: Fix a bug in resistance calculation when cntl_on < cntl_off
Correct setting of parens
2021-10-06 23:52:37 +02:00
Holger Vogt ce693efa67 Revert "Revert "Neew pswitch with patch 0001-pswitch-fix.patch from Jube 3rd, 21 at""
This reverts commit 1f03335230.
2021-10-06 23:17:39 +02:00
Holger Vogt 1f03335230 Revert "Neew pswitch with patch 0001-pswitch-fix.patch from Jube 3rd, 21 at"
This reverts commit d36fcaf34c.
2021-10-06 23:11:49 +02:00
Holger Vogt b909a6a240 Updated links 2021-10-06 11:13:14 +02:00
Holger Vogt 01280a8a6e There is no f (femto or Farad) in a resistor line 2021-10-05 18:10:54 +02:00
Holger Vogt 0cfd634423 is_a_modelname() to detect a model 1N4148, if compt LT is set.
Rewrite is_a_modelname(), when LT is set: only check element lines
beginning with r and c for RKM notation of a number.

So don't use a RKM number (e.g. 4k7) for naming a resistor model.
2021-10-05 18:10:45 +02:00
Holger Vogt 7df845edfd Some typos 2021-10-05 18:10:33 +02:00
Holger Vogt 4e56176e13 bug 497: Prevent a crash in CPL
Forbiddeb combination of model parameters.
Details are not yet available.
2021-10-03 18:41:30 +02:00
Holger Vogt 8019e69baa Update to Garbage Collector for cpl
Update some comments
Insert the deleting functions
Reset pool_vi and ndn_btree
Add an example with 20 call to cpl in sequence
2021-10-03 15:58:51 +02:00
Holger Vogt 756318f794 No more meory leaks with existing cpl examples:
Add cpldelete.c and cplmdel.c
Delete the model parameters.
Add 2 missing memsaved().
2021-10-03 15:58:37 +02:00
Holger Vogt e3cdb676e1 Issue a warnong only when ngdebug is set. 2021-10-03 15:58:06 +02:00
Holger Vogt d27c5b1796 Add memsaved() to TMALLOC, calloc and replace CPLTFREE for tfree 2021-10-03 15:57:30 +02:00
Holger Vogt 2edad6da01 Add memsaved or memdelete to macros 2021-10-03 15:57:09 +02:00
Holger Vogt 50d1e7101d Re-format cplsetup.c 2021-10-03 15:56:47 +02:00
Holger Vogt 8af3f7a5de Add memsaved() to TMALLOC 2021-10-03 15:56:28 +02:00
Holger Vogt d8c18559ff Each TMALLOC is accompanied by fcn memsaved(). 2021-10-03 15:56:15 +02:00
Holger Vogt 795d32652a Add mem_init() and mem_delete() to setup and unsetup functions 2021-10-03 15:55:57 +02:00
Holger Vogt 4afdd9dc21 Add cplhash.h to project 2021-10-03 15:55:40 +02:00
Holger Vogt a986bc8f9d Add header with extern function prototypes 2021-10-03 15:55:22 +02:00
Holger Vogt 640bef9249 Update intro text 2021-10-03 15:54:58 +02:00
Holger Vogt dd05ec0fee New readme for this branch 2021-10-03 15:54:35 +02:00
Holger Vogt ffd9890946 Add missing function nghash_delete_special(),
developed for branch gc-local
2021-10-03 15:54:20 +02:00
Holger Vogt 48736e3623 add missing headers 2021-10-03 15:53:50 +02:00
Holger Vogt 8ab6633325 add cplhash.c to compile 2021-10-03 15:53:29 +02:00
Holger Vogt 9f0e9ad02b hash functions for cpl garbage collector 2021-10-03 15:53:02 +02:00
Holger Vogt e1e97a4822 Revert "Revert ".control and `B' parser, fix precedence of '-' versus '^'""
This reverts commit adc1546e59.
2021-10-03 15:51:42 +02:00
Holger Vogt 1cabf50b14 Revert "revert according to"
This reverts commit e0e9cc72f0.
2021-10-03 15:51:28 +02:00
Holger Vogt 0afdac301e BSIMCMG in ADMS: Bug with the calculation of gds in NMOS and PMOS.
Extend the output characteristics plot by 0.1 into
theinvers direction to demonstrate the problem.
2021-10-02 10:52:18 +02:00
Holger Vogt 7888b687b7 New names for the (experimental) ramp-time capacitor and inductor code models 2021-09-29 23:17:24 +02:00
Holger Vogt ab92983684 Rename the capacitor and inductor code models to capacitoric and inductoric
8e4db9109 ("adms bsimbulk and bsimcmg implementation based on work from Robert Larice", 2020-12-17)
changed inptypelk.c, line 37 from strcmp to strcasecmp.
Thus Capacitor (model for C) and code model capacitor are no longer
distinguished. Model parsing for the code models fails.

These code models are used very infrequently, thus renaming them
is a valid fix.
2021-09-29 23:14:05 +02:00
Holger Vogt a116325139 Compiling for macOS
New compile scripts for ngspice executable and shared library,
using gcc-11 from Homebrew.
All relevant options are included (readline, openmp, X11 graphics etc.)
2021-09-29 12:24:41 +02:00
Holger Vogt 22a878e49e RKM for C: Revert reading f, it is again femto
Examples files include expected results
2021-09-27 17:56:12 +02:00
Holger Vogt 4bb1d84f9f Update to RKM if ngbehavior=lt is set:
Reading C and R values follow the RKM convention with 2 exceptions:

    Upper case and lower case letters are not distinguished.

    Letters m, M denote milli (1e-3), letters Meg or meg denote 1e6.
2021-09-27 16:42:26 +02:00
Holger Vogt d922ca5ae6 Remove double assigment to s[1]
Assignment Is either done in the loop or by *y = '\0';
2021-09-26 00:05:30 +02:00
Holger Vogt 32e26a5849 Enable RKM notation for R and C, when ngbehavior LT is selected.
Add 2 evaluation functions specific for R and C respectively.
R has code letters L, R, K, M, G, T enabled. M here is Meg!
C has code letters p, n, u or µ, m, F. F here is unity, femto is
not available, m is still milli!
Two examples files show all cases.
2021-09-25 23:50:35 +02:00
Holger Vogt 189126c029 When checking for µ, truncated the line, when shifted.
Enable R470, when newcompat LT is selected.
2021-09-25 23:43:36 +02:00
Holger Vogt 83a9d48638 ngspice input deck may contain special characters like µ (mu).
Detect mu for ANSI and UTF-8 and translate it to u.
2021-09-25 13:50:16 +02:00