Commit Graph

1485 Commits

Author SHA1 Message Date
rlar 23d0f41e66 ft_find_analysis_parm(), change signature 2013-12-31 16:12:55 +01:00
rlar 4d65fb908d use type `IFparm' to abbreviate some expressions 2013-12-31 16:12:53 +01:00
rlar fc2dd436fe abstraction, new function `ft_find_analysis_parm()' 2013-12-31 16:12:51 +01:00
rlar 9d0500027c abstraction, new function `ft_find_analysis()' 2013-12-31 16:12:49 +01:00
h_vogt 88cd0f324d bug fix, `#250 "<<NAN, error = 7>>" in op analysis'
http://sourceforge.net/p/ngspice/bugs/250/
2013-12-31 16:12:45 +01:00
rlar 6050e2e0ea cleanup some extra parentheses 2013-12-31 16:12:44 +01:00
rlar bedbdb65bb cleanup some line wraps 2013-12-31 16:12:43 +01:00
rlar ed6d7df0ce inpdoopt.c, bug fix, `i' incremented twice when searching for "options" 2013-12-31 16:12:41 +01:00
rlar 852bb7a89f minor, prepare for automatic indentation 2013-12-31 16:12:40 +01:00
rlar 7381081226 ciderlib, proper types for newCard(), setCardParm(), askCardQuest() 2013-12-31 16:12:39 +01:00
rlar ccb600f3c1 drop `NIL' macro 2013-12-31 16:12:37 +01:00
rlar f973e7107f memory.h, polish macros 2013-12-31 16:12:36 +01:00
rlar ade2f8c2c2 CKTmodCrt(), cleanup 2013-12-31 16:12:33 +01:00
rlar 86264b9879 CKTmodCrt(), cleanup, always assign to `*modfast'
for all invocations of CKTmodCrt() alias newModel()
the following is true
   (modfast != NULL) && (*modfast == NULL)
see
    (grep "git --no-pager grep -nH -e 'CKTmodCrt\\|newModel'")
2013-12-31 16:12:32 +01:00
rlar df5c785a84 drop `INPmodUsed' which is redundant to `INPmodfast' 2013-12-31 16:12:31 +01:00
rlar 468b4b973c nghash_delete() models and instances in CKTdltMod() 2013-12-31 16:12:30 +01:00
rlar f0d36d956e CKTfndMod(), cleanup 2013-12-31 16:12:27 +01:00
rlar e7def1a0bc CKTfndMod(), drop unused arguments `type' and `modfast' 2013-12-31 16:12:26 +01:00
rlar 7b495e0a7b CKTfndMod(), use a hashtable 2013-12-31 16:12:24 +01:00
rlar 59309e196b CKTfndMod(), cleanup 2013-12-31 16:12:23 +01:00
rlar b32c15d85f CKTfndMod(), dont pass the `type' argument by reference any more 2013-12-31 16:12:22 +01:00
rlar 494ef3f628 CKTfndMod(), cleanup 2013-12-31 16:12:20 +01:00
rlar 247ae92ae8 CKTfndMod(), unuse the `type' argument 2013-12-31 16:12:19 +01:00
rlar f46dbc883b CKTfndMod(), this wont happen any more and `*type' will be overwritten anyway 2013-12-31 16:12:18 +01:00
rlar 213304f745 CKTfndMod(), rewrite error expressions 2013-12-31 16:12:16 +01:00
rlar f0882dbdfd CKTfndMod(), return the found model instead of error code 2013-12-31 16:12:15 +01:00
rlar b97c2ba5d1 CKTfndMod(), express error return value outside of this function 2013-12-31 16:12:14 +01:00
rlar 4cc57bdfd6 CKTfndMod(), this will never happen, when this series of rewrites is finished 2013-12-31 16:12:12 +01:00
rlar bd7e93de6c CKTfndMod(), assert some facts 2013-12-31 16:12:11 +01:00
rlar e79135c556 CKTfndDev(), cleanup 2013-12-31 16:12:10 +01:00
rlar ddc78067cc CKTfndDev(), drop `type' and `fast' argument 2013-12-31 16:12:08 +01:00
rlar 6a9a246526 CKTfndDev(), rewrite invocations where `*fast == NULL' 2013-12-31 16:12:07 +01:00
rlar f375ec6c10 CKTfndDev(), rewrite invocations where `type == NULL' 2013-12-31 16:12:06 +01:00
rlar 6c80cb4062 CKTfndDev(), unuse the type argument 2013-12-31 16:12:04 +01:00
rlar 390dccd44b CKTfndDev(), rewrite error expressions 2013-12-31 16:12:03 +01:00
rlar 5daa676163 CKTfndDev(), return the found instance instead of error code
now if (fast != NULL)
  CKTfndDev(,,fast, )
is equivalent to
  *fast = CKTfndDev(,,fast, )
2013-12-31 16:12:01 +01:00
rlar 7bacfc73d1 CKTfndDev(), express error return value outside of this function
if (fast != NULL) then
     err = CKTfndDev(,, fast, );
is equivalent to
     err = CKTfndDev(,, fast, );
     err = *fast ? OK : E_NODEV;
2013-12-31 16:12:00 +01:00
rlar 6e7d70e4bb CKTfndDev(), assert some facts 2013-12-31 16:11:59 +01:00
rlar d9fbb36ac7 CKTfndDev(), unuse `type' argument 2013-12-31 16:11:57 +01:00
rlar 7048bf7c15 CKTfndDev(), cleanup usage of `type' argument 2013-12-31 16:11:56 +01:00
rlar 8a98c784f6 CKTfndDev(), cleanup usage of impossible error codes 2013-12-31 16:11:55 +01:00
rlar 0ab6a6e463 CKTfndDev(), drop unused argument `modfast' 2013-12-31 16:11:53 +01:00
Henrik Forstén 771d1fa697 CKTfndDev(), rewrite 2013-12-31 16:11:52 +01:00
Henrik Forstén b96be8d576 CKTfndDev(), use a hashtable to speed up this function 2013-12-31 16:11:51 +01:00
rlar 503f5d5c26 simplify #ifdef nesting #4/4 2013-12-31 16:11:48 +01:00
rlar 2c33cd49b2 simplify #ifdef nesting #3/4 2013-12-31 16:11:47 +01:00
rlar 71e953e1b9 simplify #ifdef nesting #2/4 2013-12-31 16:11:45 +01:00
rlar b1a2eef4d0 simplify #ifdef nesting #1/4 2013-12-31 16:11:44 +01:00
h_vogt 89ae9e36a6 shared ngspice, dctran.c fcn to add breakpoints 2013-12-31 16:11:41 +01:00
h_vogt 8147b03465 shared ngspice: external voltage source 2013-12-31 16:11:40 +01:00
rlar 96e1d7eec6 cleanup OUTattributes() invocations
checked for object file invariance
2013-12-31 16:11:38 +01:00
rlar 29c57dd857 cleanup IFnewUid() invocations
checked for object file invariance
2013-12-31 16:11:37 +01:00
rlar 2f2da2bab2 cleanup OUTpBeginPlot() invocations
checked for object file invariance
2013-12-31 16:11:36 +01:00
rlar 40414ead49 cleanup stuttered semicolon 2013-12-31 16:11:34 +01:00
rlar 11abda7a6b noisean.c, cleanup comment 2013-12-31 16:11:33 +01:00
rlar 31ff2ee073 polish `LITERR' macro
checked for object file invariance
2013-12-31 16:11:30 +01:00
rlar 1b3e77ca32 polish `GCA' macro
checked for object file invariance
2013-12-31 16:11:29 +01:00
rlar d52c9e401a polish `IFC' macro
checked for object file invariance,
different code for inppas3.c, seems to be ok
2013-12-31 16:11:28 +01:00
rlar 14a6bd9314 polish `MERROR' macro
checked for object file invariance
2013-12-31 16:11:26 +01:00
dwarning 1bb270e301 inp2y.c, TXL bug fix
reported by John Reuben P on the ngspice-users mailing list
need to insert instance names into the symbol table with INPinsert()
2013-12-31 16:11:24 +01:00
rlar 4ad4877e30 CKTfndDev(), drop unused argument `modname' which is always NULL 2013-12-31 16:11:23 +01:00
rlar 156c9ea086 cleanup CKTfndDev(), findInstance() invocation 2013-12-31 16:11:21 +01:00
rlar 7c15b99ebc CKTfndDev(), #6/6, cleanup 2013-12-31 16:11:19 +01:00
rlar a2b50f5c1e CKTfndDev(), #5/6, cleanup 2013-12-31 16:11:17 +01:00
rlar 235283d96a CKTfndDev(), #4/6, cleanup 2013-12-31 16:11:16 +01:00
rlar 52c0731b69 CKTfndDev(), #3/6, cleanup 2013-12-31 16:11:15 +01:00
rlar 8c91149625 CKTfndDev(), #2/6, cleanup 2013-12-31 16:11:13 +01:00
rlar 8a69f5c1c8 CKTfndDev(), #1/6, whitespace 2013-12-31 16:11:12 +01:00
rlar 025c1e751e abstraction, new function `find_instance()' 2013-12-31 16:11:11 +01:00
Henrik Forstén 30d7647378 search just once for basic device types 2013-12-31 16:11:08 +01:00
dwarning ae78dd06ef devices/mos*: prevent NaN in sqrt for negative value of model parameter `PHI' 2013-12-31 16:11:04 +01:00
Henrik Forstén 97d99067a6 inpsymt.c, use "Daniel J. Bernstein" hash function
instead of a simple sum.

just for note,
there is a wealth of newer hash functions.

For example "The FNV Non-Cryptographic Hash Algorithm"
from http://tools.ietf.org/html/draft-eastlake-fnv-03
2013-12-31 16:11:02 +01:00
rlar 2eb5a7ac00 avoid `(IFuid) 0' cast 2013-12-31 16:11:00 +01:00
rlar daf4fba6db convert K&R function definitions to ansi style 2013-12-31 16:10:59 +01:00
rlar 9b9bf075d1 fix for automatic indention
this part of

> commit f9144f90b3
> Author: pnenzi <pnenzi>
> Date:   Tue May 23 20:04:32 2000 +0000
>
>     Applied Widlok patch

is hostile to automatic indention
2013-12-31 16:10:58 +01:00
dwarning 0fd9956a56 devices/res: use model parameter `r' and `res' as default for instances w/o value
and set minimal resistor value to 1 mOhm
2013-12-31 16:10:55 +01:00
dwarning f120c30ae4 devices/res: whitespace cleanup 2013-12-31 16:10:54 +01:00
h_vogt 6ce0412690 cktop.c: indentation 2013-12-31 16:10:51 +01:00
rlar 14687910d9 rewrite `TSTALLOC()' macro for auto indentation
checked for object code invariance
2013-12-31 16:10:34 +01:00
dwarning e0a4373553 add `rgeomod' as model parameter for bsim4 2013-12-31 16:10:26 +01:00
dwarning 2dcea6d7c1 parser/*.c: correct the `pwr' derivative 2013-12-31 16:10:24 +01:00
dwarning 91ab0a3c74 parser/*.c: implement a signed power function `pwr' for controlled sources 2013-12-31 16:10:12 +01:00
h_vogt a469aa9387 devices/vccs: implement multiplier `m' (G source) 2013-12-31 16:09:58 +01:00
h_vogt 2ccf0a7097 devices/cccs: implement multiplier `m' (F source) 2013-12-31 16:09:57 +01:00
Francesco Lannutti d84f3af2d3 vcvsset.c, cleanup order of TSTALLOC() invocations 2013-12-31 16:09:46 +01:00
dwarning b9a954df60 inpptree.c, ptfuncs.c: whitespace cleanup 2013-12-31 16:09:45 +01:00
dwarning 2b6737e164 devices/bsim3, devices/bsim3v32: add `nqsmod' as model parameter 2013-12-31 16:09:18 +01:00
dwarning 0a5ac78e8a devices/hisimhv1: correct the `qme2' rangecheck 2013-12-31 16:09:14 +01:00
dwarning d5e3f1978a devices/bsim3: whitespace cleanup 2013-12-31 16:09:13 +01:00
dwarning b51f84e0ff devices/bsim3: complete the ACM parameter set with xl and xw 2013-12-31 16:09:12 +01:00
dwarning 708fcbaed1 devices/bsim3: apply Area Calculation Method (ACM) to the bsim3v3.3 model 2013-12-31 16:09:10 +01:00
dwarning c7c89c28a9 devices/bsim3: reposition sourceConductance block 2013-12-31 16:09:09 +01:00
dwarning 02dc233bc5 devices/bsim3: reposition DrainSatCurrent block 2013-12-31 16:09:08 +01:00
h_vogt 31405ed9cb hsm2set, hsmhvset.c: error message 2013-12-31 16:09:06 +01:00
h_vogt 7387d59b1a dctran.c, bug fix `#235 When Using .TRAN analysis with UIC, ...'
add a breakpoint for UIC

#235 When Using .TRAN analysis with UIC, unconnected pulse bug
http://sourceforge.net/p/ngspice/bugs/235/
2013-12-31 16:09:05 +01:00
Francesco Lannutti fee628b6df unify, use #include "vccsext.h" the same way as in all other models 2013-12-31 16:09:02 +01:00
h_vogt 07a662b271 traninit.c, cleanup indentation 2013-12-31 16:08:43 +01:00
h_vogt bba1d2f5b9 b4v4getic.c, cleanup indentation 2013-12-31 16:08:41 +01:00
dwarning ff6a4990bd devices/bsim3v32: whitespace cleanup 2013-12-31 16:08:35 +01:00
dwarning 7b2bd10b64 devices/bsim3v32: apply Area Calculation Method (ACM) to the bsim3v3.2.4 model 2013-12-31 16:08:33 +01:00
dwarning 959ee9cfbb devices/bsim3v32: reposition DrainSatCurrent block 2013-12-31 16:08:32 +01:00
dwarning 05a9a8931d devices/bsim3v32: remove duplicate `SourceSatCurrent' block 2013-12-31 16:08:30 +01:00
dwarning af0361d5b4 devices/bsim3v32: single out duplicate `SourceSatCurrent' block 2013-12-31 16:08:29 +01:00
dwarning 85b072f2bb devices/bsim3v32: remove duplicate `DrainSatCurrent' block 2013-12-31 16:08:28 +01:00
dwarning 751c642db2 devices/bsim3v32: single out duplicate `DrainSatCurrent' block 2013-12-31 16:08:27 +01:00
dwarning ecbaf5063a devices/bsim3v32: correct `rdc' and `rsc' definition 2013-12-31 16:08:25 +01:00
dwarning 0aee9a07c4 devices/bsim3v32: whitespace cleanup 2013-12-31 16:08:21 +01:00
dwarning 6801f77cc1 devices/isrc: implement multiplier `m' for current sources 2013-12-31 16:08:20 +01:00
dwarning 08df80cebe alternative geometry correction `del' for semiconductor capacitors 2013-12-31 16:08:14 +01:00
dwarning 661314a397 someone gives version=3.30e+00 in bsim models 2013-12-31 16:08:13 +01:00
h_vogt f102bd985d devices/ind: implement multiplier `m' 2013-12-31 16:08:09 +01:00
h_vogt edce7230c2 resload.c: `m' already set in ressetup.c 2013-12-31 16:08:07 +01:00
h_vogt 025c0870d9 devices/res: whitespace cleanup 2013-12-31 16:08:06 +01:00
h_vogt 155e082641 devices/ind: whitespace cleanup 2013-12-31 16:08:05 +01:00
h_vogt b63cae8798 devices/cap: whitespace cleanup 2013-12-31 16:08:03 +01:00
h_vogt 4a1cdf0ada devices/ind: implement `tc1', `tc2' instance parameters 2013-12-31 16:08:02 +01:00
h_vogt b50f9b97bb devices/cap: implement `tc1', `tc2' instance parameters 2013-12-31 16:08:01 +01:00
h_vogt 0facd43319 move instance m-factor into ressetup 2013-12-31 16:07:59 +01:00
h_vogt 4b8f031971 resload.c, restemp.c: tc1, tc2 instance parameters override model parameters 2013-12-31 16:07:58 +01:00
dwarning 08beef9152 bsim3: fix incorrect version printout 2013-12-31 16:07:57 +01:00
dwarning 8cc75de0b5 this is the delvto/mulu0 instance extension to bsim3v3 2013-12-31 16:07:55 +01:00
dwarning 5f0a6aa0fb devices/bsim3: whitespace cleanup 2013-12-31 16:07:54 +01:00
dwarning ba0529cef0 devices/cap, devices/res: some parameter aliases for compatibility 2013-12-31 16:07:51 +01:00
dwarning bef25a8b58 adapt the sense2 code to ngspice
workaround, make the opaque struct MatrixElement partially visible

this struct is private to the `sparse' world,
  and lives in "maths/sparse/spdefs.h"
which can't be included here, because
  it is incompatible to the rest of ngspice.

this is the same problem as in
  ciderlib/oned/oneprint.c
  ciderlib/twod/twoprint.c
2013-12-31 16:07:33 +01:00
dwarning 4ef874bdae fix a wrong GMIN implementation 2013-12-31 16:07:30 +01:00
dwarning f26d28b5bd fix SENSDEBUG related code 2013-12-31 16:07:26 +01:00
h_vogt 89c4c16829 swload.c: reinstate the truncation code from swtrunc.c
which was removed in the following commit:

commit 0dae4607a0
Date:   Wed Apr 25 18:28:20 2001 +0000

    Added a patch to csw and sw from Jon Engelbert dealing with negative histeresys
2013-12-31 16:07:25 +01:00
h_vogt 8ac5f64500 txldefs.h: update some comments 2013-12-31 16:07:24 +01:00
Francesco Lannutti 581e0a6d11 fix sense2, which is unsupported code 2013-12-31 16:07:12 +01:00
Francesco Lannutti 1dd0535ecf whitespace, align TSTALLOC calls in the setup routine of the MES model 2013-12-31 16:07:05 +01:00
Francesco Lannutti 0ea7a56e21 whitespace, align TSTALLOC calls in the setup routine of the JFET2 model 2013-12-31 16:07:04 +01:00
Francesco Lannutti 451294bcf5 whitespace, align TSTALLOC calls in the setup routine of the JFET model 2013-12-31 16:07:02 +01:00
Francesco Lannutti 42a78b0ac7 whitespaces 2013-12-31 16:07:00 +01:00
Francesco Lannutti e63ba69888 remove a duplicate entry in the setup routine of the BSIM3SOIPD model 2013-12-31 16:06:59 +01:00
Francesco Lannutti 37f952f370 remove a duplicate entry in the setup routine of the BSIM3SOIDD model 2013-12-31 16:06:57 +01:00
h_vogt bfb2eeebbe dctran.c: better rounding for status report 2013-12-31 12:57:00 +01:00
h_vogt df65fa28cf separate progress report from having Windows GUI 2013-12-31 12:56:59 +01:00
h_vogt 5a44b3f7f8 fix `SetAnalyse()' re-declaration 2013-12-31 12:56:58 +01:00
h_vogt d7e291c53a HAS_WINDOWS --> HAS_WINGUI
allow compilation on MS Windows without GUI
2013-12-31 12:56:57 +01:00
h_vogt c15608c903 unique modtab for each circuit, store in ckt structure 2013-12-31 12:56:38 +01:00
rlar 3ea7a23394 fix bug `#233 cktdojob: Uninitialized variable: ANALmaxnum'
this is WANT_SENSE2 specific

http://sourceforge.net/p/ngspice/bugs/233/
2013-12-31 12:56:36 +01:00
rlar 14ae087ec5 fix bug `#232 soi3cap.c: wrong array index alpha_args[2]'
though incorrect, this didn't lead to misbehavior.

http://sourceforge.net/p/ngspice/bugs/232/
2013-12-31 12:56:36 +01:00
rlar 8a154a7a9a use SP_VOLTAGE instead of literal value `3'
(grep "git --no-pager grep -nH -e '->[ \t]*type.*[0-9]'")
2013-12-31 12:56:29 +01:00
rlar b3847817a1 retire #define NODE_VOLTAGE, use SP_VOLTAGE instead
(grep "git --no-pager grep -nH -e '\\(SP_\\|NODE_\\)\\(VOLTAGE\\|CURRENT\\)'")
2013-12-31 12:56:22 +01:00
dwarning d823272a1b jfet: new noise model selector nlev=3 for correct noise in non-saturated region 2013-12-31 12:54:45 +01:00
dwarning ef2614d014 jfet: whitespace cleanup 2013-12-31 12:54:44 +01:00
rlar 4184aa8c10 cleanup, use array operator
checked for object file invariance on linux with
   ./configure --enable-debug=no --enable-maintainer-mode --with-readline=yes --enable-cider --enable-ndev --enable-pss --enable-xspice
2013-12-31 12:54:43 +01:00
rlar 6c8f002eea unify #ifndef include wrapper 2013-12-31 12:54:32 +01:00
rlar 8cafeed8f0 rename #ifndef include wrapper CKT_H 2013-12-31 12:54:30 +01:00
rlar c377b7a6b3 avoid leading underscore in preprocessor macros 2013-12-31 12:54:27 +01:00
Francesco Lannutti d448378f58 Fixed a memory leak in dcpss.c on the "err_conv" array 2013-01-12 14:10:21 +01:00
dwarning 752ab78bd8 b4soinoi.c: Correct the flicker noise model with device multiplier 2013-01-01 17:29:02 +01:00
rlar d6354598b9 fix commit "update hisim to version 2.7.0"
missing #include "ngspice/config.h"

thats required for consistent interpretation of the type
  struct IFdevice
from ngspice/ifsim.h
included from ngspice/devdefs.h

(invisible XSPICE definition leading
   to different size and layout of this struct)
2012-12-31 11:26:20 +01:00
h_vogt 82c5d5b3be dcpss.c: Allow XSPICE usage without excessive debug message 2012-12-30 15:34:24 +01:00
h_vogt 0ecd633334 dcpss.c : compatibility to MS Visual Studio C
vngspice.vcproj, config.h: add PSS to Vc project
2012-12-28 21:19:20 +01:00
Stefano Perticaroli 79bffc78a1 next version of PSS2
which was reviewed and rewritten on branch `PSS-2-try-to-rebase+4'
by Stefano Perticaroli and Francesco Lannutti
2012-12-28 18:15:37 +01:00
rlar 0be61b3e5a remove PSS2 2012-12-28 18:10:05 +01:00
h_vogt 1b4c17a464 rename spicelib/parser/inp.h to inpxx.h
since we have another "inp.h" in src/frontend
2012-12-27 14:25:43 +01:00
Francesco Lannutti 574d39e29c remove almost empty src/maths/ni/nipred.h 2012-12-25 02:27:04 +01:00
dwarning 5dd6351773 distclean and maintainer-clean shall remove generated Makefile.am files in adms directories 2012-12-25 16:41:57 +01:00
Francesco Lannutti e27d43cd0c remove empty src/maths/ni/*.h include files 2012-12-24 11:28:30 +01:00
h_vogt 2a9723e06d inpdpar.c: remove memory leak 2012-12-22 20:20:00 +01:00
h_vogt 8a1cec25a5 vsrc, isrc TRNOISE: allow repeated calls to 'tran' 2012-12-22 17:57:31 +01:00
h_vogt 237fd538d1 cktntask.c: remove meory leak 2012-12-22 10:39:15 +01:00
h_vogt 8b86617e2d isrcload.c: remove memory read beyond array boundary 2012-12-18 23:22:45 +01:00
rlar e67e9da202 inperror.c, release errMsg when it has been consumed 2012-12-15 21:51:59 +01:00
h_vogt ba6dd7b1af main.c, inperror.c: unify errMsg 2012-12-15 20:03:57 +01:00
h_vogt 07ec7bd412 inperror.c: indentations 2012-12-15 19:51:56 +01:00
dwarning 0f2794267c jfet model temperature extension, tcv and bex parameter 2012-12-04 20:58:01 +01:00
rlar 83e3100917 remove unused variables 2012-12-01 16:05:20 +01:00
rlar b4b4e63611 hisimhv1, avoid warnings 2012-12-01 16:05:20 +01:00
h_vogt b216db8ffd cplsetup.c: indentations etc. 2012-12-01 13:32:27 +01:00
h_vogt d747f0de50 cplsetup.c: remove memory leaks 2012-12-01 13:28:28 +01:00
rlar b45c4ea78b ltraacct.c, shortcutting the bug fix
use following fact at the artificial timestep time[-1]
   voltage[-1]  ===  voltage[0]
to shortcut the expressions
2012-12-01 11:00:14 +01:00
rlar e4cc63417b ltraacct.c, bug fix
reported by Gary Hennigan
on tracker
  http://sourceforge.net/tracker/index.php?func=detail&aid=3591132&group_id=38962&atid=423915

access to uninitialized memory,
  trying to acquire the "time" of a projected auxiliary timestep in the past.

now using the following auxiliary timestep t[-1]

  voltage(t[-1])  ===  voltage(t[0])
and
  t[-1]   ===   t[0]  -  (t[1] - t[0])

the details are not understood,
  but thats certainly better than accessing uninitialized memory.
2012-12-01 10:38:35 +01:00
dwarning 51ec28d174 hisimhv update to version 1.2.3 2012-11-26 23:17:11 +01:00
dwarning c1705e32ae change model name from hisimhv to hisimhv1 2012-11-25 17:59:50 +01:00
dwarning 67aaf6a26e rename directories hisimhv --> hisimhv1 2012-11-25 17:52:46 +01:00
dwarning 79119b3372 update hisim to version 2.7.0 2012-11-21 20:36:52 +01:00
Francesco Lannutti 0d0426e05c b3ld.c, b4ld.c, b3v32ld.c: charge computation for MODEDCTRANCURCE instead of MODEDC
this is a fix for commit:
b3ld.c, b4ld.c, b3v32ld.c: enable capacitance calculation during dc sweep
2012-11-21 19:30:43 +01:00
dwarning b7080fdbb7 make the level switch compatible for HiSIM2 and HiSIMHV 2012-11-07 11:35:51 +01:00
dwarning 13e1a7a5b9 rm whitespaces 2012-11-07 11:33:07 +01:00
Francesco Lannutti 1209a5b025 Makefiles, drop some CVS remnants 2012-11-06 19:18:54 +01:00
rlar ff2138b186 hisim2, bug fix, a numerical problem in the hisim2 and hisimhv models
First seen when compiled with gcc-4.6.2 -g -O1

The macro `Fn_SZ' which boils down to
  1/2 * (x + sqrt(x*x + c*c))
was used in a context where a negative result
  blew up the following computations.
(used to compute `Egidl', which is used to
 compute exp(-1 / (Egidl + small_constant)))

For large negative values of x the computation
boils down to
  1/2 ( x + almost(|x|) )
where the summands almost cancel each other,
sometimes yielding a small negative result.

small_constant was too small to avoid a big
  result for -1/(Egidl + small_constant)
yielding an `inf' during the exp() computation,
which was later multiplied with a `0'
  yielding a NaN,
which was carried forward
  during the rest of computations.

Because the error of the cancellation scales
with the magnitude of x, no larger `small_constant'
could have avoided the problem.

Presumably the problem was amplified
  by a mixture of precisions (double versus extended float)
  of intermediate values.
(the program wasn't compiled for sse)

( x was -2.812500e+06,
  c was  1.000000e-02,
  Fn_SZ result was -1.853095e-11

  thus the cancellation remainder
  was of relative size
    6.6e-18
  which is approximately
    2^-57
  and thus more accurate
   as a `double float' could have delivered
)
2012-11-01 23:04:51 +01:00
rlar 0c0f21faaf hisim2, use TMALLOC, funcall, and NULL casts 2012-11-01 22:53:43 +01:00
rlar a7a2ff0f7b hisim2, fix NevalSrc(), Nintegrate() redeclaration 2011-05-22 10:16:08 +00:00
Francesco Lannutti 08ec219417 remove all .cvsignore files 2012-10-26 18:30:14 +02:00
Francesco Lannutti 1dc70189a7 remove compilation warnings (type casts) 2012-10-26 18:04:44 +02:00
Francesco Lannutti d8b2ac56a3 rename "bsim3soi" device to "bsimsoi" 2012-10-26 17:56:59 +02:00
rlar 2142d39506 remove adms3 #2/2, files 2012-10-25 18:54:09 +02:00
rlar ba131a5077 remove adms3 #1/2, code
due to license issues, and with the aim to approach the next
  ngspice release 25
we have to move this over to a development branch
2012-10-25 18:54:09 +02:00
dwarning e75fdab962 hisim2 update to version 2.6.1 2012-10-24 08:54:31 +02:00
Francesco Lannutti fd4c492562 white space changes 2012-10-22 23:06:25 +02:00
Francesco Lannutti 5f34eb2729 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
Francesco Lannutti cb0ff8049a white space changes 2012-10-22 23:06:25 +02:00
Francesco Lannutti 3342f58149 bsim3v1/ChangeLog, bsim4v4/ChangeLog: cleanup 2012-10-22 23:06:25 +02:00
rlar a394d79c56 use utf-8 encoding 2012-10-20 21:27:15 +02:00
rlar 99b0e78c84 DCtrCurv(), fix a memory leak 2012-10-17 19:39:30 +02:00
rlar eb931dc01a cleanup, ngspice/config.h is already in ngspice/ngspice.h, #2/2 2012-10-06 12:12:17 +02:00
rlar 11579d9369 cleanup, ngspice/config.h is already in ngspice/ngspice.h, #1/2 (easy ones) 2012-10-06 12:12:08 +02:00
h_vogt 7d82367666 b3ld.c, b4ld.c, b3v32ld.c: enable capacitance calculation during dc sweep 2012-10-03 14:28:19 +02:00
h_vogt 705e130868 b3v32.c: make additional parameters accessible by @m1[par] 2012-10-01 23:03:41 +02:00
h_vogt fe828c5081 bsim3, make additonal parameters accessible with @m[par] 2012-09-30 23:49:18 +02:00
dwarning 2506fe3858 changed the #include order - ngspice.h must be first
because icc complains about declaration visibility of mmsghdr struct
2012-09-29 20:44:12 +02:00
dwarning ebfeaf72f1 bjttemp.c: prevent uninitialized variables 2012-09-29 17:57:35 +02:00
rlar 119be60fdc polish a very old and unused artifact in WANT_SENSE2 2012-09-27 20:43:27 +02:00
h_vogt e096101133 ifeval.c: reduce fudge factor for div and atanh 2012-09-26 21:00:40 +02:00
h_vogt 68c4de76b7 new option noopac, don't do op simulation before ac if circuit is linear
May simplify ac simulation of passive RLC networks
(No need to add series resistors in Ls, allows to C inseries)
2012-09-26 16:59:59 +02:00
rlar 71240d19be free spice_init_devices() allocated memory in com_quit() 2012-09-21 21:19:44 +02:00
dwarning fb23e1f024 correct the diode temperature model 2012-09-20 21:06:34 +02:00
h_vogt 9f8c73d271 cktdest.c: reset for XSPICE allocated memory (not yet complete) 2012-09-07 23:50:38 +02:00
h_vogt 9de9336581 cktload.c, indentations 2012-09-02 16:11:46 +02:00
h_vogt 417d109764 resask.c: avoid segfault if @R[i] is asked before analysis is run 2012-08-27 00:12:14 +02:00
h_vogt 9eaff645f5 vectors.c, resask.c: indentation 2012-08-26 23:32:21 +02:00
dwarning 5ca213b481 part of temperature level=3 model 2012-08-18 21:10:48 +02:00
rlar be183407cd cleanup (checked for code invariance) 2012-08-15 19:18:15 +02:00
rlar 0beb95757f cancer of the semicolon 2012-08-07 21:20:36 +02:00
rlar d50ffdd987 swallow warnings 2012-08-06 19:50:23 +02:00
dwarning 2516a118a3 indentation 2012-08-04 16:24:38 +02:00
h_vogt b85f6bbc7d controlled_exit() instead of exit() 2012-07-31 17:54:51 +02:00
h_vogt d793dd6a61 variable xtrtol may override the XSPICE reduction of trtol 2012-07-29 12:53:31 +02:00
dwarning 3c3ba4c731 inpgmod.c: correct the range check to prevent overlap 2012-07-28 13:44:33 +02:00
dwarning fd85e8fd42 indentation 2012-07-28 13:39:00 +02:00
h_vogt 20429eec4d message "OpenMP: %d threads are requested..." removed 2012-07-25 23:04:13 +02:00
rlar 9b34d99e51 emphasize the adms3 `U' device hijack 2012-07-07 20:13:05 +02:00
rlar cb0a48801d introduce AM_CFLAGS = $(STATIC) 2012-07-07 14:51:39 +02:00
dwarning c9b729032d no double count of area for capacitances 2012-07-04 22:41:56 +02:00
dwarning dcc22ada60 new scalable diode model including tunnel component 2012-07-04 08:14:33 +02:00
dwarning 4a75ce744d dioload.c, diosetup.c, correct knee current parameter defaults 2012-06-25 07:43:27 +02:00
dwarning a7ffb7d69f dio/dioload.c, whitespace change 2012-06-25 07:31:03 +02:00
rlar f661a1032d bug fix, ltra and tra, (initial conditions)
reported in
  https://sourceforge.net/tracker/?func=detail&atid=423915&aid=3535544&group_id=38962

bug was introduced in this commit:
  Date:   Wed Dec 31 17:02:46 2003 +0000
  Cleaned up LTRA, TRA and URC code and updated DEVICES file.
2012-06-16 13:06:28 +02:00
dwarning 9648238ed7 call omp_set_num_threads once in central place instead in model routines 2012-06-15 23:14:08 +02:00
dwarning 9ea4897d06 use unified macro USE_OMP and nthreads is set in setup once - not in load as clause 2012-06-13 19:15:27 +02:00
h_vogt 7bfd4edefc FABS() --> fabs() 2012-06-13 19:15:23 +02:00
h_vogt ff11ccda20 In B source the argument to 'log' may be 0 upon start of simulation, allow recovery like in function 'ln' 2012-06-13 19:15:22 +02:00
h_vogt 0a087a47c8 enable B source debugging in behavioral models, exit on error if variable strict_errorhandling is set 2012-06-13 19:15:21 +02:00
dwarning 1c4f960b45 update `bsim3soi' aka `b4soi' 2012-06-13 19:15:07 +02:00
h_vogt c78d71c363 .nodeset all = value added to set all voltage nodes at once 2012-06-12 21:26:31 +02:00
rlar a34cbdbeab tiny cleanup 2012-06-12 21:26:30 +02:00
rlar f65cdd2f84 Changed line ending of several files from DOS to UNIX 2012-06-12 21:26:29 +02:00
rlar 3d34b22ebf fix file modes 2012-06-12 21:26:29 +02:00
rlar 14f884729c raw_write() always fopen("wb"), even on windows use "\n" line termination 2012-06-12 21:26:29 +02:00
rlar e598598d70 Reverting "NUMDdump(): add binary mode"
This reverts commit 40e8f868da
2012-06-12 21:26:29 +02:00
rlar d8105873db remove error.h, use fteext.h for controlled_exit() 2012-06-12 21:26:29 +02:00
h_vogt 40e8f868da NUMDdump(): add binary mode
fopen() with wb
write operating point (external state) for true binary output
2012-06-12 21:26:27 +02:00
h_vogt d65259fd45 error return only if variable `error' is set 2012-06-12 21:26:27 +02:00
h_vogt ca8e9b2d2d prevent false outputs of @dev[param], when not defined in ac simulation 2012-06-12 21:26:27 +02:00
h_vogt a820a7cba8 Independent variable `temper' now returns the temperature in degree C 2012-06-12 21:26:27 +02:00
rlar 58b0614467 fix memory leaks in ASRC and in INPgetTree()
implement a reference counter `usecnt' for the elements
  of the `INPparseTree'
2012-06-12 21:26:26 +02:00
rlar 4fb75fbd51 INPgetTree(), express the live range of some globals 2012-06-12 21:26:26 +02:00
rlar d21b3a3cd5 mkfnode(), minor rewrite 2012-06-12 21:26:26 +02:00
rlar 7641450b29 inpptree.c, fix differentiation of PTF_FLOOR PTF_CEIL and PTF_POW 2012-04-05 21:55:44 +02:00
rlar 149345068f update bison generated files 2012-04-05 21:33:54 +02:00
rlar 3bb2bd8e05 fix memory leak in PTparse() 2012-04-05 21:30:41 +02:00
rlar 9a75774e36 inpptree.c, polish comments 2012-04-05 21:24:48 +02:00
rlar 42653f7c3d inpptree.c, fix premature memory allocation 2012-04-05 21:24:25 +02:00
Michael Woodworth 3375e1b976 fix a memory leak in parse_line()
This has a HUGE affect on memory usage
2012-04-05 20:49:09 +02:00
h_vogt 8b780fa42b bug_fix: R,L,C instantiations, tc1, tc2, numbers followed by `:'
Ternary function was not recognized in R, C, or L lines
  if no voltage or current node was part of the expression,
  because then B-Source is not used.
In these cases now inp_fix_ternary_operator_str() is called explicitly.

tc1, tc2 were sometimes recognized falsely,
  if part of a token e.g. tc1end.

R, C, and L models are never commented out,
  because their names may be token no. 4 or 5 in an R, C, or L line,
  and will not be recognized if 5.

INPevaluate() will now correctly evaluate a number if followed by ':'
  (number may be part of the ternary function).
2012-03-31 23:42:37 +02:00
dwarning 1938041e10 1. Correct the list of binable models. 2. Fix a problem with wrong MOS level entries. 2012-03-01 20:33:06 +01:00
dwarning 70e9907415 Add reciprocal temperature behaviour for B sources 2012-02-19 12:55:54 +00:00
h_vogt dffe4ed156 command mdump 2012-02-19 10:23:56 +00:00
dwarning 862f10dce3 Add temperature coefficients for B sources 2012-02-11 19:52:04 +00:00
dwarning d9561123f9 Add temperature coefficients for B sources 2012-02-11 19:45:25 +00:00
rlar 848b0c2158 update bison generated files 2012-02-11 08:18:57 +00:00
rlar 6ea91d2834 upgrade INPgetTree() 2012-02-11 08:17:12 +00:00
dwarning d041b7b503 Typo in parameter name 2012-02-10 16:12:39 +00:00
rlar f38aa32b5f adms3, fix some types 2012-02-07 18:43:57 +00:00
rlar f70fd8ea1b use type `runDesc' 2012-02-07 17:43:07 +00:00
rlar d5f6bcbedf drop some more casts 2012-02-06 20:11:10 +00:00
rlar d03d5dfa2d drop some casts 2012-02-06 20:07:43 +00:00
rlar a716572233 rewrite INPlookMod(), return INPmodel*/NULL instead of int 1/0 2012-02-06 17:49:19 +00:00
rlar f285dd0aa8 use strchr() instead of index() 2012-02-06 17:46:33 +00:00
dwarning d2f9fe7379 tlevc=1 correction 2012-01-30 19:57:57 +00:00
dwarning 0511b35114 tlevc=1 correction 2012-01-24 22:47:06 +00:00
rlar 49815fce99 bug fix, a numerical problem in the hisim2 an hisimhv models 2012-01-15 17:19:35 +00:00
rlar 7ad22c41f4 add missing .cvsignore file 2012-01-13 17:21:57 +00:00
rlar f7f454c0a1 bug fix, fix the guard for device generated internal nodes (via CKTmkVolt()) 2012-01-07 18:38:05 +00:00
rlar 30abcd3c32 bug fix, CKTcurJob, make sure this is either up do date or NULL 2012-01-07 10:53:10 +00:00
h_vogt 60adbdc716 bjt missing model message 2012-01-05 22:25:18 +00:00
rlar 4aa17534fb xspice bug fix, invoke EVTsetup(ckt) only when `reset' 2012-01-02 13:04:14 +00:00
rlar 598238f46a conditionally compile PSS analysis 2012-01-02 12:31:22 +00:00
h_vogt 7d4802c369 memory leak, struct bsim3v32SizeDependParam 2011-12-30 19:20:57 +00:00
h_vogt 7a2b51b485 memory leaks reduced 2011-12-30 18:54:44 +00:00
rlar c7ddee5923 remove CVS `Id',`log' etc. keyword incantations 2011-12-30 15:52:45 +00:00
h_vogt 7e96dcc639 remove memory leaks 2011-12-30 08:59:03 +00:00
h_vogt 127213bff0 reduce memory leaks for run - reset 2011-12-29 19:31:14 +00:00
h_vogt fe11eae0ce reduce memory leaks 2011-12-28 14:11:08 +00:00
h_vogt 829fbafb85 reduce memory leaks 2011-12-28 12:43:40 +00:00
rlar d3c3741f43 #4/6 config.h --> ngspice/config.h, AM_CPPFLAGS 2011-12-27 12:07:52 +00:00
rlar afa1371746 #3/6 config.h --> ngspice/config.h, AM_CPPFLAGS 2011-12-27 12:05:51 +00:00
rlar 4ca58067a2 #2/6 config.h --> ngspice/config.h, #include's 2011-12-27 11:33:01 +00:00
h_vogt 75767fcc3d floor(), ceil() added 2011-12-26 11:34:21 +00:00
rlar af03c472af adms3, use -ldl instead of -lltdl, fix include path 2011-12-17 13:45:39 +00:00
rlar 0e1f5a29f7 type fixes 2011-12-17 13:41:04 +00:00
rlar f7ea50c287 new: configure --enable-adms3 2011-12-15 20:44:45 +00:00
r29173 47aea417dd fixed pointer assignment: from SPICEadmsdev* to SPICEdev* 2011-12-15 20:24:22 +00:00
r29173 bab7e17a6a added SPICEadmsdev - a super structure of SPICEdev used to build dynamic device libraries 2011-12-15 15:34:50 +00:00
r29173 83b3487c9c renamed premint.xml to prengspice.xml. 2011-12-14 22:21:58 +00:00
r29173 66b6674f6b xml file that does preformating of verilog files. 2011-12-14 22:17:58 +00:00
r29173 65458e3c80 add routine load_vadev for dynamic loading of modules. 2011-12-14 22:01:10 +00:00
r29173 d674333db9 add dynamic loading of models. shared libs should be libNAME.so. 2011-12-14 21:50:15 +00:00
r29173 102cf08670 use u instance as dynamically defined models in --adms mode 2011-12-14 21:42:02 +00:00
rlar 0b5042e7da remove CVS `Id',`log' etc. keyword incantations 2011-12-13 19:57:45 +00:00
rlar 7d75ebcb81 unify OUTpBeginPlot() invocation 2011-12-13 19:10:34 +00:00
rlar c09058038c unify OUTpBeginPlot() usage of ckt->CKTcurJob 2011-12-13 19:08:15 +00:00
rlar a7ac45c9cb rename various analysis vars --> `job' 2011-12-13 18:04:28 +00:00
rlar dea9c539c2 auxiliary define `job' --> local variable `job' 2011-12-13 18:02:14 +00:00
rlar ef04192ec0 auxiliary define (ANALYSIS*) anal --> `job' 2011-12-13 18:00:23 +00:00
rlar 5333ab2a4b switch --adms3 over to the new adms3va directories 2011-12-13 17:48:28 +00:00
rlar 206769d241 undo `2011-12-12 Laurent Lemaitre' which broke --adms in favour of --adms3 2011-12-13 17:45:57 +00:00
rlar 5449731860 copy old amds .va files to a new directory `adms3va' 2011-12-13 17:40:29 +00:00
rlar 0779816dbb remove CVS `Id' and `log' keyword incantations 2011-12-12 21:59:21 +00:00
r29173 55a87d1b81 Make veriloga models compliant with Language Reference Manual. They will not compile with --adms flag. 2011-12-12 21:02:18 +00:00
r29173 e117c389b3 Set name of model C routines unique - make linker happy. 2011-12-12 20:46:25 +00:00
rlar 88374b8c70 #4/4 #include <ngspice/...> --> #include "ngspice/..." for adms3 2011-12-11 18:17:39 +00:00
rlar 225f5aef19 #3/4 #include <ngspice/...> --> #include "ngspice/..." for adms 2011-12-11 18:16:09 +00:00
rlar 10346e055c #1/4 #include <ngspice/...> --> #include "ngspice/..." 2011-12-11 18:05:00 +00:00
rlar 87d9383971 use a macro to update ckt->CKTstat->STAT.. 2011-12-11 14:50:18 +00:00
rlar fd9dec37a3 auxiliary define `job' --> local variable `job' 2011-12-11 11:37:07 +00:00
rlar f8f4e32875 auxiliary define (ANALYSIS*) ckt->CKTcurJob --> `job' 2011-12-11 11:34:38 +00:00
rlar 56d000f77b variable rename `sen_info' `cv' `pzan' `sen_info' --> `job' 2011-12-11 11:31:37 +00:00
rlar a463c761d8 similiarity dctran.c versus dcpss.c 2011-12-11 11:28:20 +00:00
r29173 e8a55e807f add dynamic loading feature 2011-12-10 09:05:35 +00:00
rlar 513bf853a9 cleanup, aiming for higher similarity of dctran.c and dcpss.c 2011-12-03 10:40:23 +00:00
rlar 04c0e0c6b5 swallow warnings in hisimhv and hisim2 code 2011-10-31 10:51:33 +00:00
rlar e6c7a506ec Fix the source/drain typo for overlap cap's, for mos2 as well 2011-10-31 10:48:27 +00:00
dwarning 304417112b Fix the source/drain typo for overlap cap's 2011-10-30 21:03:38 +00:00
dwarning e3fa1bf7b4 Update to actual hisimhv model version 1.2.2 2011-10-30 20:59:47 +00:00
rlar 0589d22cf9 update bison generated files 2011-10-16 15:25:02 +00:00
rlar c139875468 bug fix, allow special nodenames "/Node" and "Node-4" in `B' expressions 2011-10-16 15:22:56 +00:00
dwarning cd639a007c psp102 module name change 2011-08-28 09:11:47 +00:00
dwarning 15c4c12755 mextram name change 2011-08-24 19:27:51 +00:00
rlar 41c14d7df4 adms, fix an extra backslash 2011-08-24 16:12:03 +00:00
rlar aaf3f9da1b prototypes, and avoid a NULL dereference when PZDEBUG is active 2011-08-21 18:04:33 +00:00
h_vogt 4cbfbad8b5 type long --> int 2011-08-21 10:43:07 +00:00
rlar 1a9ef50edf #7/7 use a subdirectory "ngspice" for includes to create a uniq namespace 2011-08-20 17:51:14 +00:00
rlar 884ed12334 #6/7 use a subdirectory "ngspice" for includes to create a uniq namespace 2011-08-20 17:49:37 +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
rlar f360d06d18 update bison generated files 2011-08-13 16:10:41 +00:00
rlar 830829ba56 bison files, swallow warnings 2011-08-13 16:08:16 +00:00
rlar cca4047f8f adms, fix parallel execution when using make -j 2011-08-12 19:30:56 +00:00
rlar afb4ad7921 pull two -adms3 fixes into -adms 2011-08-12 15:18:41 +00:00
h_vogt 890d049a5b uic to end of line in pss 2011-08-09 19:58:40 +00:00
h_vogt f6921573ae spaces and braces 2011-08-09 19:37:23 +00:00
pnenzi 5ba0b8b86c Statistics patch: added netlist loading and parsing time in acct command.
Added devhelp command to obtain information about available devices and device parameters
Added inventory command to print the number of instances per device.
2011-08-09 18:41:36 +00:00
rlar 08b2c8d111 reduce scope of variable `temp' 2011-08-09 08:34:44 +00:00
rlar cf2cc37fca reduce scope of variables `fproj' and `err' 2011-08-09 08:33:43 +00:00
rlar a92f6f369d reduce scope of variable `tv_01', and use `MAX' 2011-08-09 08:32:40 +00:00
rlar 11e38ee19b remove unsed variable `cont_1' 2011-08-09 08:31:39 +00:00