Commit Graph

5423 Commits

Author SHA1 Message Date
rlar 737ea558ba very first testcase, of course it fails 2018-02-17 18:15:39 +01:00
rlar bf9ff9b188 inptyplk.c, INPtypelook(), ignore case when comparing modelname
"bsim6" is in lower case in bsim6init.c
2018-02-17 18:15:39 +01:00
rlar 0e2c436116 ngspiceMODULEdefs.h.xml, add min max for the sake of XXXguesstopology.c 2018-02-17 18:15:39 +01:00
Guilherme Brondani Torri 5fd51e01d3 fix callfunction
* handle $strobe
* handle $finish
* others throw error
2018-02-17 18:15:39 +01:00
rlar 1b0fd1d95f bsim6.va, macro for lln, to avoid derivatives of this function 2018-02-17 18:15:39 +01:00
rlar 5604000ec3 bsim6.va, macro for lexp to avoid derivatives
fixme, adsmXml can't do
  a ? b : c ? d : e
needs parentheses
  a ? b : (c ? d : e)
bug in parser
2018-02-17 18:15:39 +01:00
rlar 32ad2ff31e bsim6.va, macro for hypsmooth, to avoid derivatives of this function 2018-02-17 18:15:39 +01:00
rlar 3684ee03f7 dev.c and inp2m.c, bsim6 is level 16 ?! 2018-02-17 18:15:39 +01:00
rlar 1751793ea9 r2_cmcguesstopology.c, r2_cmc.va, block local does not work 2018-02-17 18:15:39 +01:00
rlar 65e20ed767 fix $given and $param_given 2018-02-17 18:15:39 +01:00
rlar 6bad74a4c3 ngspiceMODULE.hxx.xml, add BOLTZMANN and ELECTON_CHARGE 2018-02-17 18:15:39 +01:00
rlar 76d9fef3c6 ngspiceMODULE.hxx.xml, add asinh etc derivative (fixme acosh atanh incomplete) 2018-02-17 18:15:39 +01:00
rlar e6a2e3a390 ngspiceMODULE.hxx.xml, $finish and test with r2_cmc.va 2018-02-17 18:15:39 +01:00
rlar 64a274ac5c bsim6.va, work around body local vars (topology.c)
again OPdependent related
2018-02-17 18:15:39 +01:00
rlar e96bb72e8c bsim6.va, split temporary variable T0 into two variables
to avoid a dependency related problem in the xml files.
T0 and T0y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2018-02-17 18:15:39 +01:00
rlar cd4531ddee bsim6.va, split temporary variable T1 into two variables
to avoid a dependency related problem in the xml files.
T1 and T1y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2018-02-17 18:15:39 +01:00
rlar 251e2a7d82 bsim6.va, split temporary variable T2 into two variables
to avoid a dependency related problem in the xml files.
T2 and T2y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2018-02-17 18:15:39 +01:00
rlar be834237e5 bsim6.va, split temporary variable T3 into two variables
to avoid a dependency related problem in the xml files.
T3 and T3y, one of them have the OPdependent flag set
  which surpresses variable declarations to be emited.
2018-02-17 18:15:39 +01:00
Guilherme Brondani Torri deaf033b2e avoid escape sequence %M, show hierarchical name
* it will cause printf to fail
2018-02-17 18:15:39 +01:00
rlar 6fcc7f1dc6 bsim6.va, work around "case" 2018-02-17 18:15:39 +01:00
rlar 1bde6e6726 bsim6.va, work around "for" (in guesstopology ?) 2018-02-17 18:15:39 +01:00
rlar f366cf4020 scrub analoffunction.xml, (anti cpp) 2018-02-17 18:15:39 +01:00
Guilherme Brondani Torri 4c60a983bf analogfunction, rename generated file from .cpp to .c 2018-02-17 18:15:39 +01:00
Guilherme Brondani Torri 44ba77bedc analogfunction, rename included file from [module]defs.h 2018-02-17 18:15:39 +01:00
rlar ae5c5da6a6 analogfunction.xml, name collission, rename function:getname and c:math_h
these would shadow definitions in ngspiceVersion.xml
2018-02-17 18:15:39 +01:00
rlar b5cbb868e1 extend "add analogfunction.xml from Qucs" 2018-02-17 18:15:39 +01:00
Guilherme Brondani Torri d397470a3e add analogfunction.xml from Qucs
* This script creates a header and source [module].analogfuncion.[h.cpp]
  containing functions defined on the body of the Verilog-A model
2018-02-17 18:15:39 +01:00
Guilherme Brondani Torri 9d89944156 add modulus symbol, multmod 2018-02-17 18:15:39 +01:00
rlar 3cdf9711df bsim6.va from bsim 6.1.1, see %bsim6.el 2018-02-17 18:15:39 +01:00
Guilherme Brondani Torri b0f1921743 Add bsim6.va to build system 2018-02-17 18:15:39 +01:00
rlar 3b4a819eea auxiliary my.mak files and %bsim6.el 2018-02-17 18:15:39 +01:00
Guilherme Brondani Torri fc32dfd863 register BSIM6 on adms ngspice interface
$./autogen.sh --adms
...
[fatal..] bsim6: device not handled by the adms ngspice interface
[fatal..] see [../admst/ngspiceVersion.xml:2120]
2018-02-17 18:15:39 +01:00
rlar 474b059ec2 avoid unneccessairy diff noise (due to currentdate) in the adms generated files 2018-02-17 18:15:39 +01:00
rlar f459e7398d spicelib/parser, support instance parameter defaults on .model lines 2018-02-17 18:15:39 +01:00
rlar 121a46f9cb frontend/com_alias.c, asubst(), bug fix
wl_word can not be incremented,
  this is a pointer to malloc'ed space
  and will eventually be free'ed
2018-02-17 15:30:06 +01:00
rlar 41c0ee45a2 introduce GENinstanceFree() and GENmodelFree()
To abstract away the business of releasing the memory
  of a struct GENmodel or struct GENinstance.
2018-02-17 11:53:07 +01:00
rlar 8c7d7051ae GENmodel, GENinstance, change layout, #4/4, complete the change
currently each and every device specific instance and model structure
  duplicates the memory layout of a struct GENmodel / GENinstance

further the first structure elements behind a GENinstance header
  are reinterpreted as a sort of a generic "node" array.

This business is very error prone, and makes it difficult to
  extend struct GENmodel / struct GENinstance.

This patch makes this business much more bearable.
2018-02-17 11:53:06 +01:00
rlar 2c9bfecbad GENmodel, GENinstance, change layout, #3/4, coccinelle semantic patch 2018-02-17 11:53:05 +01:00
rlar c25aea6815 GENmodel, GENinstance, change layout, #2/4, complete the change
fix the .xml files too
2018-02-17 11:53:03 +01:00
rlar 2dcb79d09c GENmodel, GENinstance, change layout, #1/4, coccinelle semantic patch 2018-02-17 11:53:01 +01:00
rlar 4748c92de9 DEVdestroy(), change API, #2/2, complete the change, inclusive CKTdestroy()
loop over DEVmodDelete() and DEVdelete() in CKTdestroy()
  instead of doing this business in the DEVdestroy() functions.

As a consequence, most DEVdestroy() functions
  collapse completely.
2018-02-17 11:52:59 +01:00
rlar 1befa488f6 DEVdestroy(), change API, #1/2, coccinelle semantic patch 2018-02-17 11:52:58 +01:00
rlar b29ad51a6c DEVdestroy(), move code over to DEVmodDelete() and DEVdelete()
This patch itself is not valid until all invokers of DEVdestroy()
  (currently this is CKTdestroy() exclusively)
  are rewritten to invoke DEVmodDelete() and DEVdelete()
2018-02-17 11:52:55 +01:00
rlar 3cd81295a8 DEVmodDelete(), change API, #2/2, complete the change
Instead of searching and then deleting a given device-model,
  just delete the given model.

The search shall be done somewhere else.

Don't free the model struct itself,
  this shall be done by the invoker himself.

Don't free the device instrance list,
  this shall be done by the invoker himself.

As a consequence, most DEVmodDelete() functions
  collapse almost completely.

This change is of no consequence,
  because DEVmodDelete() is currently nowhere used.
2018-02-17 11:52:53 +01:00
rlar b17ee71576 DEVmodDelete(), change API, #1/2, coccinelle semantic patch 2018-02-17 11:52:51 +01:00
rlar 50e9a8c3b6 DEVmodDelete(), extend ASRCdelete() and use it in ASRCmDelete()
rip instance specific cleanup business from the ASRCmDelete() function.
move this to ASRCdelete()
2018-02-17 11:52:49 +01:00
rlar c3ed42f486 DEVdelete(), change API, #2/2, complete the change
Instead of searching and then deleting a given device-instance,
  just delete the given instance.

The search shall be done somewhere else.

Don't free the instance struct itself,
  this shall be done by the invoker.

As a consequence most DEVdelete() functions
  collapse almost completely.

This change is of no consequence,
  because DEVdelete() is currently nowhere used.
2018-02-17 11:52:46 +01:00
rlar e0f1e5a3de DEVdelete(), change API, #1/2, coccinelle semantic patch 2018-02-17 11:52:44 +01:00
rlar a8e440eabe whitespace cleanup, comments cleanup, line wrap 2018-02-14 18:53:30 +01:00
rlar ec4b7ffecd adms/admst/ngspiceMODULE*.c.xml, drop "register" declaration 2018-02-12 17:56:00 +01:00