Francesco Lannutti
f5aefd7db8
Merge remote branch 'origin/new_kirchhoff-4' into KLU-kirchhoff-4
...
Conflicts:
configure.ac
src/include/ngspice/devdefs.h
src/include/ngspice/smpdefs.h
src/maths/sparse/spsmp.c
src/spicelib/devices/asrc/asrcinit.c
src/spicelib/devices/bjt/Makefile.am
src/spicelib/devices/bjt/bjtinit.c
src/spicelib/devices/bsim1/Makefile.am
src/spicelib/devices/bsim1/bsim1ext.h
src/spicelib/devices/bsim1/bsim1init.c
src/spicelib/devices/bsim2/Makefile.am
src/spicelib/devices/bsim2/bsim2ext.h
src/spicelib/devices/bsim2/bsim2init.c
src/spicelib/devices/bsim3/Makefile.am
src/spicelib/devices/bsim3/bsim3ext.h
src/spicelib/devices/bsim3/bsim3init.c
src/spicelib/devices/bsim3soi_dd/Makefile.am
src/spicelib/devices/bsim3soi_dd/b3soiddext.h
src/spicelib/devices/bsim3soi_dd/b3soiddinit.c
src/spicelib/devices/bsim3soi_dd/b3soiddset.c
src/spicelib/devices/bsim3soi_fd/Makefile.am
src/spicelib/devices/bsim3soi_fd/b3soifdext.h
src/spicelib/devices/bsim3soi_fd/b3soifdinit.c
src/spicelib/devices/bsim3soi_pd/Makefile.am
src/spicelib/devices/bsim3soi_pd/b3soipdext.h
src/spicelib/devices/bsim3soi_pd/b3soipdinit.c
src/spicelib/devices/bsim3soi_pd/b3soipdset.c
src/spicelib/devices/bsim3v0/Makefile.am
src/spicelib/devices/bsim3v0/bsim3v0ext.h
src/spicelib/devices/bsim3v0/bsim3v0init.c
src/spicelib/devices/bsim3v1/Makefile.am
src/spicelib/devices/bsim3v1/bsim3v1ext.h
src/spicelib/devices/bsim3v1/bsim3v1init.c
src/spicelib/devices/bsim3v32/Makefile.am
src/spicelib/devices/bsim3v32/bsim3v32ext.h
src/spicelib/devices/bsim3v32/bsim3v32init.c
src/spicelib/devices/bsim4/Makefile.am
src/spicelib/devices/bsim4/bsim4def.h
src/spicelib/devices/bsim4/bsim4ext.h
src/spicelib/devices/bsim4/bsim4init.c
src/spicelib/devices/bsim4v4/Makefile.am
src/spicelib/devices/bsim4v4/bsim4v4ext.h
src/spicelib/devices/bsim4v4/bsim4v4init.c
src/spicelib/devices/bsim4v5/Makefile.am
src/spicelib/devices/bsim4v5/b4v5set.c
src/spicelib/devices/bsim4v5/bsim4v5ext.h
src/spicelib/devices/bsim4v5/bsim4v5init.c
src/spicelib/devices/bsim4v6/Makefile.am
src/spicelib/devices/bsim4v6/bsim4v6ext.h
src/spicelib/devices/bsim4v6/bsim4v6init.c
src/spicelib/devices/bsimsoi/Makefile.am
src/spicelib/devices/bsimsoi/b4soiext.h
src/spicelib/devices/bsimsoi/b4soiinit.c
src/spicelib/devices/bsimsoi/b4soiset.c
src/spicelib/devices/cap/Makefile.am
src/spicelib/devices/cap/capdefs.h
src/spicelib/devices/cap/capext.h
src/spicelib/devices/cap/capinit.c
src/spicelib/devices/cccs/cccsext.h
src/spicelib/devices/cccs/cccsinit.c
src/spicelib/devices/ccvs/ccvsinit.c
src/spicelib/devices/cpl/cplinit.c
src/spicelib/devices/csw/cswinit.c
src/spicelib/devices/dio/Makefile.am
src/spicelib/devices/dio/diodefs.h
src/spicelib/devices/dio/dioext.h
src/spicelib/devices/dio/dioinit.c
src/spicelib/devices/hfet1/Makefile.am
src/spicelib/devices/hfet1/hfetext.h
src/spicelib/devices/hfet1/hfetinit.c
src/spicelib/devices/hfet2/Makefile.am
src/spicelib/devices/hfet2/hfet2ext.h
src/spicelib/devices/hfet2/hfet2init.c
src/spicelib/devices/hisim2/Makefile.am
src/spicelib/devices/hisim2/hsm2ext.h
src/spicelib/devices/hisim2/hsm2init.c
src/spicelib/devices/hisimhv1/hsmhvext.h
src/spicelib/devices/hisimhv1/hsmhvinit.c
src/spicelib/devices/ind/Makefile.am
src/spicelib/devices/ind/inddefs.h
src/spicelib/devices/ind/indinit.c
src/spicelib/devices/isrc/isrcinit.c
src/spicelib/devices/jfet/Makefile.am
src/spicelib/devices/jfet/jfetext.h
src/spicelib/devices/jfet/jfetinit.c
src/spicelib/devices/jfet/jfetset.c
src/spicelib/devices/jfet2/Makefile.am
src/spicelib/devices/jfet2/jfet2ext.h
src/spicelib/devices/jfet2/jfet2init.c
src/spicelib/devices/jfet2/jfet2set.c
src/spicelib/devices/ltra/ltrainit.c
src/spicelib/devices/mes/Makefile.am
src/spicelib/devices/mes/mesext.h
src/spicelib/devices/mes/mesinit.c
src/spicelib/devices/mes/messetup.c
src/spicelib/devices/mesa/Makefile.am
src/spicelib/devices/mesa/mesaext.h
src/spicelib/devices/mesa/mesainit.c
src/spicelib/devices/mos1/Makefile.am
src/spicelib/devices/mos1/mos1ext.h
src/spicelib/devices/mos1/mos1init.c
src/spicelib/devices/mos2/Makefile.am
src/spicelib/devices/mos2/mos2ext.h
src/spicelib/devices/mos2/mos2init.c
src/spicelib/devices/mos3/Makefile.am
src/spicelib/devices/mos3/mos3ext.h
src/spicelib/devices/mos3/mos3init.c
src/spicelib/devices/mos6/Makefile.am
src/spicelib/devices/mos6/mos6ext.h
src/spicelib/devices/mos6/mos6init.c
src/spicelib/devices/mos9/Makefile.am
src/spicelib/devices/mos9/mos9ext.h
src/spicelib/devices/mos9/mos9init.c
src/spicelib/devices/res/Makefile.am
src/spicelib/devices/res/resdefs.h
src/spicelib/devices/res/resext.h
src/spicelib/devices/res/resinit.c
src/spicelib/devices/soi3/Makefile.am
src/spicelib/devices/soi3/soi3ext.h
src/spicelib/devices/soi3/soi3init.c
src/spicelib/devices/sw/swinit.c
src/spicelib/devices/tra/trainit.c
src/spicelib/devices/txl/txlinit.c
src/spicelib/devices/txl/txlsetup.c
src/spicelib/devices/urc/urcinit.c
src/spicelib/devices/vbic/Makefile.am
src/spicelib/devices/vbic/vbicinit.c
src/spicelib/devices/vccs/vccsinit.c
src/spicelib/devices/vcvs/vcvsext.h
src/spicelib/devices/vcvs/vcvsinit.c
src/spicelib/devices/vsrc/Makefile.am
src/spicelib/devices/vsrc/vsrcdefs.h
src/spicelib/devices/vsrc/vsrcext.h
src/spicelib/devices/vsrc/vsrcinit.c
2013-09-15 20:00:34 +02:00
Francesco Lannutti
8ec23a720b
Inserted conditional compilation in every *ext.h file
2013-09-15 15:50:33 +02:00
Francesco Lannutti
6f339d3443
Added a string to signal that KCL Verifcation is enabled in the NGSPICE header
2013-08-16 14:40:51 +02:00
Francesco Lannutti
a54ac67561
Fixed a very dangerous bug in the KCL Verification, which was inserted in a previous commit
2013-08-16 14:11:15 +02:00
Francesco Lannutti
6fb70a5f10
Merge remote branch 'origin/new_kirchhoff-4' into new_kirchhoff-4
2013-08-13 19:30:38 +02:00
Francesco Lannutti
4ab07c7136
Removed the CKTvoltCurNode flag, since in this branch the KCL Verification methodology is applied to every node
2013-08-13 19:28:36 +02:00
h_vogt
8ad6791a6f
allow compilation with MS Visual Studio
2013-07-28 13:37:33 +02:00
Francesco Lannutti
3494e423fa
Implemented the KCL for every node, avoiding Delta-V and Delta-I convergence tests.
...
The f(V) convergence test performed by every model isn't needed anymore.
2013-07-27 18:37:32 +02:00
Francesco Lannutti
fb592a07f5
Fixed a bug in the Convergence Test Routine
2013-07-15 22:58:39 +02:00
Francesco Lannutti
ea24e1b052
Fixed the Non-Linear Nodes properties in the BSIM4v7 model
2013-07-15 22:58:39 +02:00
Francesco Lannutti
50f27ecd2c
Fixed Rs(V) and Rd(V) for the KCL Verification. The BSIM4 model is now complete for the KCL Verification
2013-07-15 22:58:38 +02:00
Francesco Lannutti
c05cb7a437
Fixed Rg(V) for the KCL Verification
2013-07-15 22:58:38 +02:00
Francesco Lannutti
23b1480d9b
Almost the FINAL version of the KCL Verification for the BSIM4 model (only Rg(V), Rd(V) and Rs(V) are missing yet)
2013-07-15 22:58:38 +02:00
Francesco Lannutti
2b3caacc21
Fixed the KCL Resistor Model. Added the Source and Drain Resistances to the KCL BSIM4 Model
2013-07-15 22:58:38 +02:00
Francesco Lannutti
8d015a5a6f
Implemented the FINAL infrastructure for the KCL Verification. BSIM4v7 is still under development
2013-07-15 22:58:38 +02:00
Francesco Lannutti
2b27524b51
Implemented a new check for the KCL Verification, based on the maximum of the unknown current branches at each voltage node.
...
Please note that this check introduces the theoretically correct check, but, since achieving this target involves the perfect knowledge of every model,
we can use this suboptimal and practical check (to be extended with the other possible unknown current branches)
2013-07-15 22:58:38 +02:00
Francesco Lannutti
e102ebebe3
Implemented a new check for the KCL Verification, based on the maximum of the unknown current branches at each voltage node.
...
Please note that this check introduces the theoretically correct check, but, since achieving this target involves the perfect knowledge of every model,
we can use this suboptimal and practical check (to be extended with the other possible unknown current branches)
2013-07-15 22:56:42 +02:00
h_vogt
8d166ebcc9
enable compilation with MS Visual Studio 2008
2013-07-15 22:56:40 +02:00
Francesco Lannutti
d75fe9e10c
Fixed the case in which the KCL is not enabled
2013-07-15 22:56:39 +02:00
Francesco Lannutti
0e59399e2a
Avoid to verify Delta-V, since it's included in the KCL Verification
2013-07-15 22:56:39 +02:00
Francesco Lannutti
a93d51a074
Added a conditional compilation switch for the KCL Verification
2013-07-15 22:56:39 +02:00
Francesco Lannutti
e1cd74d3a3
new_kirchhoff-2 branch rebased on master in new_kirchhoff-3 branch
2013-07-15 22:56:39 +02:00
Francesco Lannutti
988cf25c24
Created a New Infrastructure for the KCL Verification based on the Linear and Non-Linear Node Method
2013-07-15 22:56:39 +02:00
Francesco Lannutti
9aaa127643
Fixed the KCL implementation. Now it really works! :)
2013-07-15 22:56:38 +02:00
Francesco Lannutti
115aee5deb
Corrected a bug in the KCL implementation of the BSIM4 model
2013-07-15 22:56:38 +02:00
Francesco Lannutti
b90adc11f1
KCL Formulation Reworked
...
BSIM4 Fvk Reworked (this is not the final formulation)
2013-07-15 22:56:38 +02:00
Francesco Lannutti
1068d8889a
Updated the BSIM3 model with a commented out Matrix-Vector multiplication as reference for the KCL Verification
2013-07-15 22:56:38 +02:00
Francesco Lannutti
4ffa4c73c4
Updated some bsim3 tests to run with the BSIM3 model instead of the BSIMv32 model
2013-07-15 22:56:38 +02:00
Francesco Lannutti
a707256456
Speeded up the KCL Verification Method, performing the KCL Check only after that the Voltage Check result is good
2013-07-15 22:56:37 +02:00
Francesco Lannutti
c74e0d703a
Added a preliminary version of the BSIM4v7 model for the KCL verification
2013-07-15 22:56:37 +02:00
Francesco Lannutti
30126ce7fd
Added examples for the KCL verification
2013-07-15 22:56:37 +02:00
Francesco Lannutti
efe9f389b5
Added BSIM3 to the "new_kirchhoff" KCL verification
2013-07-15 22:56:37 +02:00
Francesco Lannutti
2f8d8a59b3
Added MOS6 to the "new_kirchhoff" KCL verification
2013-07-15 22:56:37 +02:00
Francesco Lannutti
083904d847
Added BSIM2 to the "new_kirchhoff" KCL verification
2013-07-15 22:56:37 +02:00
Francesco Lannutti
1f53d76a37
Added MOS1 to the "new_kirchhoff" KCL verification
2013-07-15 22:56:37 +02:00
Francesco Lannutti
521302fd00
Added support for "new_kirchhoff" for CCCS, CCVS, VCCS and VCVS devices
2013-07-15 22:56:36 +02:00
Francesco Lannutti
fb306e5385
Reviewed IND, ISRC, RES and VSRC to work with the "new_kirchhoff" KCL verification
2013-07-15 22:56:36 +02:00
Francesco Lannutti
f3891e5af3
Added support for "new_kirchoff" for IND, RES, VSRC devices
2013-07-15 22:56:36 +02:00
Francesco Lannutti
765af7836d
Added support for "new_kirchoff" for CAP, ISRC devices
2013-07-15 22:56:36 +02:00
Francesco Lannutti
d1c6492157
Implemented the KCL verification in place of the classical SPICE3 check for the circuit currents
...
This version modifies every model directly to obtain fvk in a separate vector, instead of using a matrix-vector product
2013-07-15 22:56:36 +02:00
rlar
1e85da2369
simplify #ifdef nesting #4/4
2013-07-14 20:31:05 +02:00
rlar
656db6805d
simplify #ifdef nesting #3/4
2013-07-14 20:31:04 +02:00
rlar
1f21bcfbe3
simplify #ifdef nesting #2/4
2013-07-14 20:31:04 +02:00
rlar
950d372e13
simplify #ifdef nesting #1/4
2013-07-14 20:31:04 +02:00
rlar
b85a3b6c9d
fix "misc_time.c: make timediff always availabe when timeb.h is found"
2013-07-14 20:31:01 +02:00
h_vogt
8066aacfff
sharedspice.c, .h: fcn to initialize Sync, fcn to set breakpoint,
...
callback fcn to read vsrc external inputs
2013-07-14 18:54:44 +02:00
h_vogt
b973d32778
shared ngspice, dctran.c fcn to add breakpoints
2013-07-14 18:49:25 +02:00
h_vogt
5754a21362
shared ngspice: external voltage source
2013-07-14 18:45:49 +02:00
rlar
b19342581b
cleanup OUTattributes() invocations
...
checked for object file invariance
2013-07-14 15:15:38 +02:00
rlar
f2343d2fe8
cleanup IFnewUid() invocations
...
checked for object file invariance
2013-07-14 15:15:04 +02:00