Commit Graph

1485 Commits

Author SHA1 Message Date
h_vogt 17185a601c asrcask.c: allow current readout like @bcur[i], if in current mode 2014-02-07 22:40:26 +01:00
Henrik Forsten 3794c1eb20 mark end of struct GENmodel overlay 2014-01-19 17:38:32 +01:00
h_vogt d5b2460123 inp.c, inp2q.c improve error message
when we exit() in batch mode due to a missing model definition
2014-01-11 16:24:19 +01:00
rlar 8803edc16b tfanal.c noisean.c, bug fix which was introduced in "CKTfndDev(), rewrite"
the original CKTfndDev() was able to limit its search
  for an instance with given name
  to instances of a certain "type"
(this was a speed optimisation which is of no use anymore,
  because we use a hashtable now)

the new CKTfndDev() does not consider "type"

thus, here in tfanal.c and noisean.c we have to check the "type"
  after CKTfndDev() since we no longer can limit its search
  to the given "type"
2014-01-11 16:24:12 +01:00
dwarning b535b43980 1-f-code.c, use fftw3 2014-01-02 09:54:00 +01:00
rlar d146502fc9 ptfuncs.c, drop inaccurate replacements for ashinh() acosh() and atanh() 2014-01-02 09:33:23 +01:00
h_vogt 4e1c23780c dctran.c bug fix, reported by Berk Özer 2014-01-02 09:33:05 +01:00
dwarning 2838eeb1ac devices/vbic, implement VBICsoaCheck() 2014-01-02 09:32:55 +01:00
dwarning 2875ac632f devices/hisim2, implement HSM2soaCheck() 2014-01-02 09:32:54 +01:00
dwarning f6c6fa85a0 devices/hisimhv1, implement HSMHVsoaCheck() 2014-01-02 09:32:52 +01:00
dwarning 7bafe7c238 devices/bsimsoi, implement B4SOIsoaCheck() 2014-01-02 09:32:51 +01:00
dwarning 8a005d8e4c devices/bsim4v6, implement BSIM4v6soaCheck() 2014-01-02 09:32:49 +01:00
dwarning 4b643d6b3f devices/bsim4v5, implement BSIM4v5soaCheck() 2014-01-02 09:32:48 +01:00
dwarning 5a64b7849c devices/bsim4, implement BSIM4soaCheck() 2014-01-02 09:32:46 +01:00
dwarning f9c05885fa devices/bsim3v32, implement BSIM3v32soaCheck() 2014-01-02 09:32:45 +01:00
dwarning 4e4ea00ba7 devices/bsim3, implement BSIM3soaCheck() 2014-01-02 09:32:43 +01:00
dwarning d44eeb05a4 devices/bjt, implement BJTsoaCheck() 2014-01-02 09:32:42 +01:00
dwarning b71a83f100 devices/dio, implement DIOsoaCheck() 2014-01-02 09:32:40 +01:00
dwarning 542bb9cd26 devices/cap, implement CAPsoaCheck() 2014-01-02 09:32:39 +01:00
dwarning 51f660d5f2 devices/res, implement RESsoaCheck() 2014-01-02 09:32:37 +01:00
rlar 5d3f4e7f55 introduce CKTsoaInit() 2014-01-02 09:32:36 +01:00
dwarning c8f5d49ddd implement CKTsoaCheck() 2014-01-02 09:32:34 +01:00
dwarning bf9ad0bdfd introduce new SPICEdev operation `DEVsoaCheck()' 2014-01-02 09:32:32 +01:00
h_vogt 0b9df46e16 remove redundant #include 2014-01-02 09:31:51 +01:00
rlar 589ded417a update bison generated files 2013-12-31 16:41:29 +01:00
rlar b32ae9f79b .control and `B' parser, fix precedence of '-' versus '^'
-2^2 shall be -(2^2) instead of (-2)^2
2013-12-31 16:41:28 +01:00
rlar a4ac854d50 devices/hisimhv1, devices/hisim2, avoid overlapping globals TMF1 ... TMF6
reported by James Jackson in message:
  [Ngspice-users] Problem building git head --with-ngspice Mac OS X
2013-12-31 16:41:27 +01:00
dwarning 5bc8429b2f correct the step incrementing type to SENS_LINEAR 2013-12-31 16:41:25 +01:00
dwarning bdf3dced00 add missing tc1 and tc2 parameter entries in ask function 2013-12-31 16:26:10 +01:00
dwarning 5d2fd1ece0 whitespaces 2013-12-31 16:26:09 +01:00
dwarning 4965d02b5f fix an overlap in parameter definitions 2013-12-31 16:26:07 +01:00
dwarning 06dd6abcf2 fix an overlap in parameter definitions 2013-12-31 16:25:41 +01:00
h_vogt dad80811f9 inp2m.c: plug memory leak 2013-12-31 16:21:40 +01:00
h_vogt 4d1b4bfa0a inp2m.c: indentation 2013-12-31 16:21:39 +01:00
h_vogt 962c73e14e dctran.c, sharedspice.c: function sharedsync has modified parameter list 2013-12-31 16:21:36 +01:00
dwarning 06c891933c allow geometry scaling by option `scale' 2013-12-31 16:21:35 +01:00
dwarning 88d108f139 index `i' was definitively overwritten 2013-12-31 16:21:34 +01:00
dwarning 921aca9d7e allow geometry scaling by option `scale' 2013-12-31 16:19:49 +01:00
h_vogt d8fe6bd671 inp2m.c: plug a small memory leak 2013-12-31 16:19:35 +01:00
h_vogt d70865a162 allow 'temper' keyword in .param, .model and device instance lines
inpcom.c: fcns inp_fix_temper_in_param(), inp_new_func(), inp_rem_func()
  to convert .param with 'temper' to .func, and replace all affected
  parameter tokens xxx by their func counterpart xxx()

inpcom.c; fcns inp_temper_compat(), inp_modify_exp() added
  to prepare expression with 'temper' for numparam

inp.c: fcns inp_parse_temper(), inp_parse_temper_trees() added

inp_evaluate_temper()
  to prepare, parse and evaluate the expressions containing 'temper'

cktdefs.h: add global variable to expressions with 'temper'

dctrcurv.c: add fcn inp_evaluate_temper()
   when temp has changed
2013-12-31 16:19:19 +01:00
h_vogt 8c85064018 inperrc.c: new function `INPstrCat()' to concatenate two strings 2013-12-31 16:19:18 +01:00
h_vogt 73bec459fa inperrc.c: comments added, white spaces 2013-12-31 16:19:11 +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 abbda029e1 BSIM 4.7.0 plug memory leak during remcirc 2013-12-31 16:19:02 +01:00
h_vogt d38d907fbc BSIM 3.2.4 plug memory leak during remcirc 2013-12-31 16:19:01 +01:00
h_vogt d6946705f8 BSIM 3.3.0 plug memory leak during remcirc 2013-12-31 16:18:59 +01:00
h_vogt a97b330965 vsrcdest.c, isrcdest.c: fix memory leak by freeing VSRCcoeffs, ISRCcoeffs 2013-12-31 16:18:53 +01:00
h_vogt a0757d3143 dctran.c: synchronization option for shared library 2013-12-31 16:13:11 +01:00
h_vogt 2c97c31658 devices/isrc: EXTERNAL option for independent current source ISRC 2013-12-31 16:13:10 +01:00
rlar c2927128cd whitespace 2013-12-31 16:12:56 +01:00
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