Commit Graph

6867 Commits

Author SHA1 Message Date
Holger Vogt 0557bc60bf Prevent crash if nsp is evaluated to 0 2022-02-21 16:56:16 +01:00
dwarning 20abe9ca38 white spaces 2022-02-20 14:55:10 +01:00
Holger Vogt 917dab9da7 new flag 'digitop' for the 'plot' command:
Plot digital (event nodes) vertically, separated by 0.1
The grid is adapted acordingly.
set xbrushwidth=3 will yield good results.
2022-02-19 17:25:57 +01:00
Holger Vogt 7130097710 Prevent crash when no simulation has been run and
asking for plotting an event node
2022-02-19 17:23:36 +01:00
Holger Vogt 954cc86e59 Add new or upgraded functions as of 01-09-22.
Add a function prototype for cmod.
Rename function conj to conju because conj
is already defined differently in complex.h
2022-02-17 15:49:53 +01:00
Holger Vogt 94a73ffef2 Add changes from 01-09-22, but without the extra extern calls,
which have led to a bunch of warnings when compiling with gcc.
2022-02-17 15:49:33 +01:00
Holger Vogt e99638c89f Remove int <--> unsigned int warning 2022-02-17 15:49:20 +01:00
Holger Vogt 4e1ae255f6 Inlude code into #ifdef RFSPICE ... #endif
to allow compiling without pre-processor flag RFSPICE.
2022-02-17 15:49:09 +01:00
Holger Vogt de572d2cdf Remove in <--> unsigned int mismatch 2022-02-17 15:48:52 +01:00
Holger Vogt c2d279a1ef Remove trailing spaces. 2022-02-17 15:48:31 +01:00
Holger Vogt 648ba396ff Add missing makefile.am in src/math/dense
and add src/math/dense to AC_CONFIG_FILES
in configure.ac
2022-02-17 15:48:25 +01:00
Holger Vogt 3b0eb41c74 Enable compiling with --enable-sp for RF SPICE
Set preprocessor flag RFSPICE
Add new files and directory 'dense' ('dense' is still buggy)
2022-02-17 15:48:19 +01:00
Holger Vogt 5b8ed0a84e Remove redundant declarations 2022-02-17 15:48:10 +01:00
Alessio Cacciatori 2c10c4aebd S parameter simulation
Command '.sp'
arbitrary number of ports
ports made with modified VSRC

Patch provided by Alessio Cacciatori
https://sourceforge.net/p/ngspice/discussion/127605/thread/7a2655c86f/
2022-02-17 15:48:00 +01:00
Brian Taylor b774d03162 Change the y-axis direction for a 2d Cider gnuplot. The device surface is at the top and downwards is into the material, which is the normal presentation. Note that the x/y mesh commands in a Cider model also affect the orientation. 2022-02-17 15:45:28 +01:00
Holger Vogt 62f326b9d0 Fix a bug from previous commit: min -> MIN 2022-02-07 22:39:27 +01:00
Holger Vogt 0eb272243f Enable RKM notation also for inductors (e.g. 1u2 for 1.2u) 2022-02-07 16:00:29 +01:00
Holger Vogt 640fa7e17b bug 578 crash when scale is too short
Warning message if scale and vector length do not match.
Restrict number of points plotted to the smaller of both.
2022-02-07 15:59:43 +01:00
Holger Vogt 4f82a24df2 Add parameter 'isgrid' to plotting of arcs.
Smithgrid and polar plots could not discern between xgridwidth and
xbrushwidth. This is now available, similar to straight line plotting.
Tested also for PS and SVG.
2022-02-01 12:23:29 +01:00
Giles Atkinson 16f586b65e Respect the "tstart" parameter when saving event node data (XSPICE).
Fixes Support Request #47: "XSpice memory usage (TRAN TSTART effect)".
2022-01-28 12:25:36 +01:00
Giles Atkinson 6494befb2f Request backing store for X11 plot windows. When supported by the X server
windows are redrawn vey quickly without replotting.
2022-01-28 12:24:58 +01:00
Giles Atkinson f4285384e7 Add code in graf.c to merge connected lines with the same slope before
plotting.  This speeds output and reduces file size when the vector
length is much larger than the number of pixels.  It should help with
Feature Request #58:
  "Graph plotting under windows redraw very slow and hard to work with",
but is not a full fix.
2022-01-28 12:24:51 +01:00
Holger Vogt ce9bc9fc64 The re-painting due to mouse-click under MS Windows is caused by line 561
of windisp.c. Upon left mouse button up the plot recangle is invalidated,
and a WM_PAINT message is generated (same on line 614 for right mouse
button up). If not re-pained, artifacts may be left on the canvas after
collecting coordinate data.

Shifting the command InvalidateRect to a place where it becomes active
only after the mouse has been moved, does the trick. Simple clicking
(right or left) will not cause a re-paint any more.
2022-01-28 12:11:39 +01:00
Kevin Zheng 857fbec985 Improve iteration limit options display 2022-01-17 12:06:35 +01:00
roman 74787f0c33 Fix EXTERNAL type in isrc 2022-01-17 11:32:01 +01:00
Holger Vogt ced2128f58 .measure results from batch mode may be saved in a file
(in addition to the printout)
Add command
set measoutfile=<path/filename>
to .spiceinit or to a .control section in the netlist
2022-01-15 23:28:06 +01:00
dwarning 0c34ac019f use total current for diffcap calculation 2022-01-15 16:22:42 +01:00
Holger Vogt 4ee0586cee Enable output redirection for meas command
replace printf("... by fprintf(mout, "...
mout is routinely set to cp_out, which then allows redirection by > and >>
2022-01-15 16:02:20 +01:00
Holger Vogt 018713cc43 Bug 572 Error message 'function 'xyz' currently not supported' was buggy.
xyz had not been set.
Copy function name to the heap and free accordingly.
2022-01-15 14:43:44 +01:00
Holger Vogt 46696a6aaa If function is not found, bail out if strict_errorhandling is set. 2022-01-15 14:09:50 +01:00
Holger Vogt 632f8c033d Make numoparam error messages more user friendly.
Add line number of netlist to the message.

Original line number added to new lines in inpcom.c.
Internal error messages only when 'ngdebug' is set
2022-01-15 13:43:26 +01:00
Brian Taylor 08bc3ccdd6 Remove compiler warnings (writ_ifs.c ipcsockets.c). 2022-01-13 14:54:16 +01:00
Holger Vogt 1558c5abcb Add a suitable error message and fallback to default temperature
if an error in the temperature entry is found.
2022-01-13 14:48:35 +01:00
Holger Vogt 5a065c1657 Originally only '.temp 125' had been accepted.
There has not been any error message if '=' was used,
the temperature just had been set to 0°C.
Now also '.temp=125' or .temp='param' are accepted.
2022-01-13 10:06:27 +01:00
Giles Atkinson 23e9df0181 Fix for ticket #570: Interactive prompting is always active.
Control prompting with variable "interactive" and stop setting it by default.
Add code in main.c to set it for an interactve session.
2022-01-12 15:22:19 +01:00
Holger Vogt c4e94cd59b safeguard against a crash when the s line is buggy 2022-01-12 15:16:06 +01:00
Holger Vogt 64dba93b93 We are now developing ngspice-36+ 2022-01-09 11:57:05 +01:00
Holger Vogt f0e9a35eb6 Add 'esave' command to save only specific event nodes.
Add a prompt for esave/eprint/eprvcd.
2022-01-09 10:58:38 +01:00
Holger Vogt 9308c6b077 Reuse memory for queued events.
Patch #109 - 2 provided by Giles Atkinson
2022-01-03 22:11:03 +01:00
Holger Vogt 0c59a77fc4 During op evaluation we might use source stepping.
Independent V and I sources are stepped, the B source however is not.

Add source stepping to B source.
2022-01-02 13:53:38 +01:00
Carsten Schoenert 486dd587d0 spelling: Fix misspelled word Instnace 2022-01-02 13:51:44 +01:00
Holger Vogt 8263e2a4da The AD and DA hybrid XSPICE bridges consume a lot of
memory (one state per time step added). Memory of
previous time steps is not recovered.

Patch #109 by Giles Atkinson reduces memory consumption
dramatically (> factor of 10).
2022-01-01 16:14:48 +01:00
Holger Vogt 1a6a9e6bb6 Add com_wr_ic.h to their makefile.am
to have them as part of make dist.
2021-12-30 15:23:22 +01:00
Holger Vogt 43f2182e56 Add com_optran.h and cplhash.h to their makefile.am
to have them as part of make dist.
2021-12-30 15:08:15 +01:00
Holger Vogt c7bc84943a plug a memory leak 2021-12-23 14:38:09 +01:00
Holger Vogt a8d8600faa plug a memory leak 2021-12-23 14:37:57 +01:00
Holger Vogt cb0d8f18dc Prepare for ngspice-36 2021-12-18 13:47:43 +01:00
Holger Vogt 4f73c27d86 Memory access error: don't free GENinst->GENname.
Use memcpy to overwrite old name by a (shorter) new name.
Compiler warnings are thus removed.
2021-12-16 08:04:54 +01:00
Holger Vogt 9be9f46f96 Remove unused function Evt_Data_destroy() 2021-12-16 08:04:44 +01:00
Holger Vogt 6ba484e5d2 Remove redundant redeclaration of ‘ft_getpnames_quotes’ 2021-12-16 08:04:34 +01:00
Holger Vogt 5adbfc1c86 Remove compiler warnings associated with snprintf()
Use memory allocated on the heap instead.
2021-12-16 08:04:20 +01:00
Holger Vogt b5b462506f add a function prototype for com_wric() 2021-12-16 08:03:59 +01:00
Holger Vogt 3bac1ffabe Allow adequate size for copying.
Add the missing character string to fprintf.
2021-12-13 22:31:19 +01:00
Holger Vogt b636017359 add function prototype
for insert_new_line()
2021-12-13 22:09:17 +01:00
Brian Taylor 8e75cad453 Fix missing initializer warning. 2021-12-13 21:50:30 +01:00
Holger Vogt 11117912f9 typos 2021-12-13 21:50:20 +01:00
Holger Vogt 1605d293d0 Add function integ to control language
Trapezoidal rule for integrating a vector.
2021-12-13 21:49:45 +01:00
dwarning 2eaf35f633 fix a double application of device multiplier for certain diode parameter 2021-12-13 21:49:33 +01:00
Holger Vogt 422719200e re-enable parameters in agauss function
fixes bug #564 reported by Stefan Schippers

If nested braces {..{  }...} have been created,
replace the inner { } by ( )
2021-12-13 21:49:18 +01:00
Holger Vogt a68cfefb28 hcopywidth and hcopyheight failed with SVG plot
cp_getvar read CP_NUM, not CP_STRING
Patch #108 contributed by Giles Atkinson

Add hcopywidth and hcopyheight to example nmos_out_BSIM330_svg.sp
2021-12-13 21:49:01 +01:00
Holger Vogt b749e62e31 Make error message more verbose 2021-12-13 21:48:29 +01:00
Holger Vogt aaf586ae83 .probe: Add more safeguards to prevent crashes
in case of wrong user input
due to obtain empty lines in shared ngspice
2021-12-13 21:48:21 +01:00
Holger Vogt bb9f1669f6 Enable math characters also in tokens like i(z/z) by
temporarily putting " around the token.

Improve error message on missing vector
2021-12-13 21:47:54 +01:00
Holger Vogt b59d2aabd1 .probe: Add function call to modprobenames()
Function resides in inpc_probe.c.
The function renames all current measurement instances
vcurr_instance:node#branch to instance:node#branch by
modifying the global instance table (tab).
2021-12-13 21:47:37 +01:00
Holger Vogt 9dff15507d .probe: Add call to function inp_probe() which resides
in inpc_probe.c.

Make function insert_new_line() non-static

Enable detecting the number of nodes in x-lines
(calls to subciruits) in function get_number_terminals()
2021-12-13 21:47:27 +01:00
Holger Vogt 7f1a3bea20 .probe: Add the new file inpc_probe.c to the VS project files
and makefile.am in ngspice/src/frontend
2021-12-13 21:47:11 +01:00
Holger Vogt 951be0ddb0 New dot command .probe:
Code to enable current measurements at all top level
device pins and to enable differential voltage measurements
between two (arbitrary, top level) device nodes.

Adds 0 V voltage sources for current measurements to selected or all
device nodes at top level (including X lines)

Adds an E source excited by two arbitrary nodes for differential
potential (aka voltage) measurements between these nodes

Function inp_probe() is called from inpcom.c
2021-12-13 21:46:57 +01:00
Holger Vogt 7f75b2a7b8 Update to previous commit: safeguard against no circuit loaded 2021-12-13 21:46:29 +01:00
Holger Vogt 54eb12de39 Fix a bug: Crash when 'settype @d1[id]' is given,
but simulation is not yet run.

Add a better check for having at least one simulation run
2021-12-13 21:46:15 +01:00
Holger Vogt 1ce0066d3b Update to previous commit: corrected and enhanced warning messages 2021-12-13 21:46:03 +01:00
Holger Vogt 16fd8749cf Fix a bug: Crash when 'settype @d1[id]' is given,
but simulation is not yet run.

Ask for the job before acknowledging settype on
a vector starting with @
2021-12-13 21:44:30 +01:00
Holger Vogt 2f98a5b305 evtprint: prevent a crash when eprint has been called
but there is no simulation run.
2021-12-13 21:44:02 +01:00
Holger Vogt bff90f1498 Put the gmin reversal into the comment 2021-12-13 21:43:50 +01:00
Holger Vogt 5424fd0d43 Reverse the sequence of dynamic-gmin and new-gmin.
The old method dynamic-gmin now comes first,
new-gmin will follow when the former has failed to converge.
2021-12-13 21:43:30 +01:00
Holger Vogt 79c71a4ec3 Enable math characters in vector (node) names for command fft
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:42:36 +01:00
Holger Vogt ccd9a217c3 Enable math characters in vector (node) names for logic comparison
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:42:25 +01:00
Holger Vogt 8895a6e633 Enable math characters in vector (node) names for command alter
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:42:12 +01:00
Holger Vogt ee2f3a72f4 Enable math characters in vector (node) names for command fourier
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:58 +01:00
Holger Vogt 98b7074287 Enable math characters in vector (node) names for command spectrum
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:48 +01:00
Holger Vogt c09839b209 Enable math characters in vector (node) names for commands
write and print
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:37 +01:00
Holger Vogt 57f6d41e69 Enable math characters in vector (node) names for plotting
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:28 +01:00
Holger Vogt e93a19e3e8 Allow math characters in node names
Add a function ft_getpnames_quotes()
It puts quotes " around tokens xxx, when these are enclosed as
V(xxx) and contain arithmetic characters. V(R*C) becomes
V("R*C"). After settig up the parse tree, the quotes are removed again.
Thus these math character remain part of the node name and are not
parsed as parts of an equation.
2021-12-13 21:41:16 +01:00
Holger Vogt d5dc757288 correct assignment of a variable value to a 1-bit-field
only by a logic comparison.
2021-12-13 21:40:57 +01:00
Holger Vogt 90377dcff9 struct TSKtask: group all single bit fields together 2021-12-13 21:40:38 +01:00
dwarning 26979079d4 prevent few compiler warnings 2021-12-13 21:40:15 +01:00
Holger Vogt 3f3936c728 Remove memory leaks 2021-12-13 21:34:07 +01:00
Holger Vogt 89eaf7739c Remove unused variables 2021-12-13 21:33:09 +01:00
Holger Vogt a420f58ef5 Plug a (potential) memory leak
Add missing memsaved
2021-12-13 21:32:46 +01:00
Holger Vogt 6b41ad433a Remove memory leak
Free some tokens generated by CNVget_token
Initialize reset and clk

Still missing: free 'states'
2021-12-13 21:32:15 +01:00
Holger Vogt 36fa47a8a0 Remove memory leak
Add callback function free_local_data
Free some tokens generated by CNVget_token
2021-12-13 21:31:49 +01:00
dwarning 8f9bf94a38 Aware of sscanf return value 2021-12-13 21:30:55 +01:00
dwarning ba6d8c871c white spaces 2021-12-13 21:30:32 +01:00
dwarning ba9f5be52c Prevent arithmetic overflow and reduce operations 2021-12-13 21:29:37 +01:00
Brian Taylor 38848259e4 With the ngspice gnuplot command, enable x/y contour plots for 2d Cider save file data. Usage: gnuplot <file> xycontour <expr>. xycontour is a new flag which is ignored if the plot data is not from 2d Cider. For contours, only a single plotarg <expr> is allowed. With <expr1> vs <expr2>, only <expr1> is plotted and <expr2> is ignored. 2021-10-30 13:21:32 +02:00
dwarning 550e9f1a81 correct some scaling rules 2021-10-30 11:03:26 +02:00
dwarning f638a63fba save few calculation effort in diode load routine 2021-10-30 11:03:05 +02:00
dwarning 62242a5538 save few calculation effort in bjt load routine 2021-10-30 11:02:54 +02:00
dwarning 133f9c46e7 prevent unwanted fallthrough 2021-10-30 11:02:25 +02:00
dwarning ae49043fe3 correct scaling for IBC parameter 2021-10-30 11:02:13 +02:00
dwarning b15c7d29f1 correct temp update for IBE and IBC parameter 2021-10-30 11:01:51 +02:00
dwarning 01fb0ac18b introduce IBE and IBC model parameter for more accurate current calculation 2021-10-30 11:01:36 +02:00
dwarning 231e6218a5 remove comment regarding ancient leakage current defaults 2021-10-30 11:01:24 +02:00
dwarning 5ff04ee85b c2 and c4 are now aliases for B-E and B-C leakage saturation currents 2021-10-30 11:01:09 +02:00
Holger Vogt fb98f7873b remove some compiler warnings 2021-10-30 10:46:39 +02:00
Holger Vogt f3cb69403a bug 497: Prevent a crash in CPL
Forbiddeb combination of model parameters.
Details are not yet available.
2021-10-30 10:44:44 +02:00
Holger Vogt 69e2903bf6 Update to Garbage Collector for cpl
Update some comments
Insert the deleting functions
Reset pool_vi and ndn_btree
Add an example with 20 call to cpl in sequence
2021-10-30 10:44:29 +02:00
Holger Vogt 041264df03 No more meory leaks with existing cpl examples:
Add cpldelete.c and cplmdel.c
Delete the model parameters.
Add 2 missing memsaved().
2021-10-30 10:44:07 +02:00
Holger Vogt 9ede9b80e0 Issue a warnong only when ngdebug is set. 2021-10-30 10:43:38 +02:00
Holger Vogt d2dd1950cb Add memsaved() to TMALLOC, calloc and replace CPLTFREE for tfree 2021-10-30 10:43:10 +02:00
Holger Vogt de00317e49 Add memsaved or memdelete to macros 2021-10-30 10:42:37 +02:00
Holger Vogt 8c5277a5e8 Re-format cplsetup.c 2021-10-30 10:42:09 +02:00
Holger Vogt 7dcb1b2a39 Add memsaved() to TMALLOC 2021-10-30 10:41:51 +02:00
Holger Vogt 1dddd6df8d Each TMALLOC is accompanied by fcn memsaved(). 2021-10-30 10:41:37 +02:00
Holger Vogt b142f2eb9d Add mem_init() and mem_delete() to setup and unsetup functions 2021-10-30 10:41:24 +02:00
Holger Vogt 3be7370fa8 Add header with extern function prototypes 2021-10-30 10:40:40 +02:00
Holger Vogt 677ec1a094 Update intro text 2021-10-30 10:40:04 +02:00
Holger Vogt 7c38699cd7 Add missing function nghash_delete_special(),
developed for branch gc-local
2021-10-30 10:39:19 +02:00
Holger Vogt b9afd2bd16 add missing headers 2021-10-30 10:38:23 +02:00
Holger Vogt 2f5a00f0a5 hash functions for cpl garbage collector 2021-10-30 10:37:42 +02:00
Holger Vogt 063665c374 Fix a bug in optran code:
devname will be used in the list of instances
2021-10-29 16:41:18 +02:00
Holger Vogt 01ed224896 A check to avoid multiple entries for the same node into the .save list
Scan the data base dbs (list of saves) before a new entry is generated.
2021-10-29 16:40:51 +02:00
Holger Vogt bde0639bc4 save within subcircuit
enable V(a,b) as v(a) v(b)
2021-10-29 16:40:34 +02:00
Holger Vogt e90b3e711b F.-request 85: save currents in subcircuits
Separate handling .ic/.nodeset and .save .
Add i(Vxx) to  address translation.
Vxx#branch is not supported.
2021-10-29 16:40:23 +02:00
Holger Vogt bd0113ea9a Feature request 85: Enable .save within subcircuits
inp.c: Add .save to wl_first only after subcircuit expansion
subckt.c: treat .save like .ic
2021-10-29 16:40:06 +02:00
Holger Vogt f9b743aa2a remove compiler warnings 2021-10-29 16:39:28 +02:00
Holger Vogt 7ce476c0ad Make optran standrad by calling com_optran during ngspice initialization. 2021-10-29 16:38:27 +02:00
Holger Vogt 36dd77f63e if step size in optran command is set to 0,
optran is deselected.
2021-10-29 16:38:08 +02:00
Holger Vogt 1eb15de584 remove optran command from spinit 2021-10-29 16:37:56 +02:00
Holger Vogt d6038ea43c Redo the transformation vswitch -> pswitch
Parsing takes default values into account, when
parameter is missing.
S vswitch --> pswitch code model
S_ST vswitch (with hysreresis) --> SW switch
S iswitch --> aswitch code model
S_ST iswitch (with hysreresis) --> CSW switch

Use string handling for replacements: allow parameter
equations in .model lines.
2021-10-29 16:37:19 +02:00
Holger Vogt bbccb4b63e Improved error message:
when argument out of range, name the term
2021-10-29 16:36:55 +02:00
Holger Vogt c895ca33f7 Pswitch: Fix a bug in resistance calculation when cntl_on < cntl_off
Correct setting of parens
2021-10-29 16:35:47 +02:00
Holger Vogt eee639d98d Rename the capacitor and inductor code models to capacitoric and inductoric
8e4db9109 ("adms bsimbulk and bsimcmg implementation based on work from Robert Larice", 2020-12-17)
changed inptypelk.c, line 37 from strcmp to strcasecmp.
Thus Capacitor (model for C) and code model capacitor are no longer
distinguished. Model parsing for the code models fails.

These code models are used very infrequently, thus renaming them
is a valid fix.
2021-10-29 16:28:25 +02:00
Holger Vogt 6b5bc9bcd8 There is no f (femto or Farad) in a resistor line 2021-10-05 18:07:32 +02:00
Holger Vogt a87b237bff is_a_modelname() to detect a model 1N4148, if compt LT is set.
Rewrite is_a_modelname(), when LT is set: only check element lines
beginning with r and c for RKM notation of a number.

So don't use a RKM number (e.g. 4k7) for naming a resistor model.
2021-10-05 18:01:53 +02:00
Holger Vogt 34c227815d RKM for C: Revert reading f, it is again femto
Examples files include expected results
2021-09-29 20:31:53 +02:00
Holger Vogt 7f981569d9 Update to RKM if ngbehavior=lt is set:
Reading C and R values follow the RKM convention with 2 exceptions:

    Upper case and lower case letters are not distinguished.

    Letters m, M denote milli (1e-3), letters Meg or meg denote 1e6.
2021-09-29 20:31:44 +02:00
Holger Vogt 6f6f2b8996 Remove double assigment to s[1]
Assignment Is either done in the loop or by *y = '\0';
2021-09-29 20:31:22 +02:00
Holger Vogt daa3609e58 Enable RKM notation for R and C, when ngbehavior LT is selected.
Add 2 evaluation functions specific for R and C respectively.
R has code letters L, R, K, M, G, T enabled. M here is Meg!
C has code letters p, n, u or µ, m, F. F here is unity, femto is
not available, m is still milli!
Two examples files show all cases.
2021-09-29 20:31:14 +02:00
Holger Vogt df5e7e36f6 When checking for µ, truncated the line, when shifted.
Enable R470, when newcompat LT is selected.
2021-09-29 20:30:53 +02:00
Holger Vogt 3dcc36c1c3 ngspice input deck may contain special characters like µ (mu).
Detect mu for ANSI and UTF-8 and translate it to u.
2021-09-29 20:30:35 +02:00
Holger Vogt 4ce4f52938 XSPICE d_source: prevent a crash when the input file is not found 2021-09-29 20:30:10 +02:00
Holger Vogt d4c559421e prevent crash if info.node_table has not been defined,
caused by some preceding error.
2021-09-29 20:29:54 +02:00
Holger Vogt 93f904fb0b Make 'speedcheck' also available in batch mode simulation. 2021-09-29 20:29:36 +02:00
Holger Vogt 5d116d1fb9 command listing: add option r (runable)
listing r > $inputdir/mycirc_runable.cir
will save the expanded netlist without line numbers,
ready to be sourced again and run in ngspice.
2021-09-29 20:29:26 +02:00
Keno Fischer 174f3d9cf9 Add missing rule for ngicon.rc 2021-09-29 20:29:13 +02:00
Brian Taylor 36313d59f3 Use the current point number as the single digit index for Cider 2D ascii save files. This conforms to the normal usage with other types of ascii rawfile. The numd parser table entry for ic.file now has the correct IF_STRING type. 2021-09-29 20:28:59 +02:00
Holger Vogt 3cf6857cfc Fix bug #557
Revise memory allocation for different analysis types
2021-09-29 20:28:43 +02:00
Holger Vogt 601287e949 Check V and I lines for dc and ac.
Allow ac without parameters, a default is set to ac ( 1 0 )
2021-09-29 20:28:15 +02:00
Brian Taylor 81df6ed772 Retaining the mixed case of Cider quoted string valued parameters. Limit searches for ic.file to D*, M*, and Q* device instantiation lines. Cider model (numos, numd, nbjt) detection is limited to .model lines. Continuation lines which do contain these tokens are not checked, but this should rarely happen. All of the examples/cider circuits meet these assumptions. Memory errors have been removed. 2021-09-29 20:27:29 +02:00
Holger Vogt 3599c189b6 re-enable lower-casing of tokens beginning with 'cd',
except for command 'cd' which is usually followed by a space.
2021-09-29 20:27:05 +02:00
Holger Vogt 0266bd5894 make PTparse error message more verbose:
include point in a line where parsing failed.
2021-09-29 20:26:42 +02:00
Brian Taylor abad190b38 Don't search for ic.file within comments. 2021-09-29 20:23:26 +02:00
Brian Taylor b3a99f0c6c Do not use non-portable strcasestr. 2021-09-29 20:23:08 +02:00
Brian Taylor 663a79dea8 Fix NAN error in numd2 area report and crashes when a doping file is missing. Update examples/cider so that the test circuits all run; add case sensitivity tests for rootfile and ic.file parameter strings enclosed in a single pair of double quotes. 2021-09-29 20:22:56 +02:00
Holger Vogt 68c5eb2d6b Add resistance sweep error message for failing optran 2021-09-29 20:22:34 +02:00
Holger Vogt 8708b6651b Optran may throw an error message while in temp sweep
and optran fails: message added (in addition prevent a crash)
2021-09-29 20:22:15 +02:00
Holger Vogt 1b3e192bfd errno needs to be nulled in Linux.
Its previous value will be returned after checking.
2021-09-29 20:21:39 +02:00
Holger Vogt e84c210876 'Option interp' and command 'stop' have been incompatible.
Allow both in a run.
Issue note (however not checked) that stop time data have to fit
the inpolated times.
2021-09-29 20:21:23 +02:00
Holger Vogt e35e3e3b33 prevent a crash, e.g. when incompatible 'option interp'
is set and 'stop' is called.
2021-09-29 20:20:52 +02:00
Holger Vogt a180eb60d5 command 'wrnodev'
Write current node voltages to file in format .ic=value
The file may be used to set initial conditions for another simulation,
e.g. ac at a specific time step of a transient simulation.
2021-09-29 20:20:27 +02:00
Holger Vogt 7f4fc2948b Add a line feed to make message more readable. 2021-09-29 20:20:00 +02:00
Holger Vogt fac1d3a79c ASRC (B-Source) error message is cryptic, as it does not tell
which B-Source failed.
Add a hint to the ASRC error message on the name of the
B-Source instance.
2021-09-29 20:19:38 +02:00
Holger Vogt 18478380ad Revise the SOA and add new parameters:
pd_max id_max idr_max te_max rth_ext derating
rth_ext is currently not used
2021-09-29 20:17:55 +02:00
Holger Vogt 3f322e1954 Add a check for sys/sysctrl.h, which has been declared deprecated,
and which may not be available (in the future) on some systems.
2021-09-29 20:17:23 +02:00
Holger Vogt 3b245ddd82 VDMOS, prepare SOA with new parameters
Model parameters pd_max, id_max, idr_max, and te_max
(power dissipated, drain current, drain reverse current, temperature)
2021-09-29 20:17:03 +02:00
Holger Vogt 4a1f7f950c spinit: add optran to the standard inits 2021-09-29 20:16:09 +02:00
Holger Vogt 7c84e3f993 SOA for bipolar
Replace pow_max by pd_max
2021-09-29 20:15:41 +02:00
Holger Vogt f06496c912 Enable command 'optran' in spinit or .spiceinit,
when the circuit is not yet loaded.
Then the optran data are stored in static variables,
until optran is called again with arg NULL from inp.c,
to set the data in ft_curckt->ci_defTask.
2021-09-29 20:15:13 +02:00
Holger Vogt a225ce2aaf List definition needs spaces between ( and next token,
and between token and )

Update to comment.
2021-09-29 20:14:45 +02:00
Holger Vogt 493cf73f7f optran is only selected when the 'optran' command has been processed.
If not, the call to the OPtran() function returns the previous
'converged' value.
2021-09-29 20:12:52 +02:00
Holger Vogt 7f1fdd3934 Don't do optran, if command optran is not given. 2021-09-29 20:12:31 +02:00
Holger Vogt 711157e85d Update comment: 0 is no initial iteration 2021-09-29 20:12:03 +02:00
Holger Vogt f0cb886af1 Add command 'write_ic'
Write out the right hand side status of the matrix in format
    .ic = V(node_xx)
    This may be possible at the end of a simulation or after a 'stop'
    of the simulation, which may be resumed again afterwars. This
    status may be used to start another simulation with these
    parameters by inluding into the netlist.
2021-09-29 20:11:45 +02:00
Holger Vogt 0e72287af7 Add command 'write_ic'
Write out the right hand side status of the matrix in format
.ic = V(node_xx)
This may be possible at the end of a simulation or after a 'stop'
of the simulation, which may be resumed again afterwars. This
status may be used to start another simulation with these
parameters by inluding into the netlist.
2021-09-29 20:11:13 +02:00
Holger Vogt 2ef3f66f96 if 'set ngdebug' print out transient initial conditions also with UIC set. 2021-09-29 20:10:25 +02:00
Holger Vogt 41ead284f3 make the error detection work properly 2021-09-29 20:10:02 +02:00
Holger Vogt 4e03efacb7 Use InpEvaluate() instead of strtod to enable ngspice numbers
with scale factors Meg k m u n p f etc.
2021-09-29 20:09:22 +02:00
Holger Vogt 3be5926f2c Reverse stepsize and finaltime in optran command,
stepsize first as in tran command.
2021-09-29 20:08:51 +02:00
Holger Vogt bca099ca29 prevent crash if first breakpoint is beyond optran max time 2021-09-29 20:08:28 +02:00
Holger Vogt b07a54b8e1 test of supply ramping 2021-09-29 20:07:42 +02:00
Holger Vogt 7de526237e upon finishing 'optran', restore old CKTstep
remove unused
2021-09-29 20:06:35 +02:00
Holger Vogt 0eafec254e safeguard command 'optran' against circuit no being loaded 2021-09-29 20:05:56 +02:00
Holger Vogt cf61e1e564 add missing header 2021-09-29 20:05:28 +02:00
Holger Vogt 83e223fafc header for optran 2021-09-29 20:05:08 +02:00
Holger Vogt a20afc54a5 When we sre ready, reset CKTmaxstep to its previous value 2021-09-29 20:04:26 +02:00
Holger Vogt 3956095484 set maxstepsize to stepsize 2021-09-29 20:04:08 +02:00
Holger Vogt ecdb3b9eb4 set the task values, not the ckt values,
because task is called only afterwards when
the simulation command is given.
2021-09-29 20:03:31 +02:00
Holger Vogt fd36eb552f set stepsize 2021-09-29 20:02:11 +02:00
Holger Vogt ab6224767b Add command 'optran' to set 6 flags for transient op 2021-09-29 20:01:44 +02:00
Holger Vogt df0792818f Transient op calculation added to the standard operating point code.
When standard iteration, gmin stepping and source stepping fail,
try a transient simulation (like tran with uic option) to
determine the op. Implemented for AC and Tran simulation.
2021-09-29 20:00:29 +02:00
Holger Vogt a08e6a0676 Add new SOA parameters (safe operating area) for BJT.
We now scan for max of Ic, Ib, power, taking into
account the max allowed temperature, using the thermal
resistance rth0 model parameter between juntion and ambient.

Two user options are there: If rth0 is given, we calculate
a derating of the max power allowed.
Without a constant max power according to model param pow_max
is assumed.

The new model parameters for the bipolar model are:
pow_max, ic_max, ib_max, te_max, and rth0, in addition
to the already existing vbe_max, vbc_max, adn vce_max.
2021-09-29 19:59:58 +02:00
Holger Vogt 1084b4205c Allow global .temp in addition to instance parameter 'temp'.
Update to comments.
2021-09-29 19:59:28 +02:00
Holger Vogt 9221df234c Patch to allow (and ignore) leading or trailing commas
when putting {} around tokens. Tested with PWL voltage source.

Patch has been suggested by Liqian Zhang
2021-09-29 19:58:36 +02:00
Holger Vogt 33571877dc Some update to SOA for a diode:
Limit output to four digits
Add power and temperature limits.
Derating with self-heating, or with fixed temperature,
or no derating at all, selectable by setting model parameters.
Example file: SOA plotted as frame, with diode current.
2021-09-29 19:58:11 +02:00
Holger Vogt 759f4f5f84 Make the output a little more verbose:
add terminal voltage to Id, Te, and Pd outputs.
Compare SOA data to terminal voltage, not (unknown) junction voltage.
2021-09-29 19:57:54 +02:00
Holger Vogt 9c8380a031 Enhance the SOA (safe operating area) operations
Parameters id_max, pd_max and te_max have been added
for current, power, and temperature to the already existing
fv_max and bv_max (max forward and backward volteges).
2021-09-29 19:57:34 +02:00
Holger Vogt e5fdb4c742 Patch sorts 1 byte vars in sequence,
to save some memory.
Patch #107 provided by Florian Ballenegger
2021-09-29 19:57:08 +02:00
Carsten Schoenert 2c2e21a80c Smal typo fixup s/currntly/currently 2021-08-08 11:56:30 +02:00
Holger Vogt 605f59b417 Fix a bug with the alter statement
lower case for device name, when sent from shared ngspice
or from interactive mode.
2021-08-08 10:21:22 +02:00
Holger Vogt 9a2d968577 When transferring boolean data over the ABI, keep them as boolean types, not integer
Replace the type of all boolean variables around the ABI by NG_BOOL.
NG_BOOL is typedefed to _Bool, when compiling shared ngspice. When
sharedspice.h is use externally NG_BOOL is typdefed to bool
2021-08-03 15:57:58 +02:00
Carsten Schoenert 61b5c0563b src/Makefile.am: Adopt used variables for lib versioning
A small adjustment so the configured ABI version from configure.ac will
get used for creating the libngspice library.
2021-08-03 15:56:02 +02:00
Holger Vogt 4258fe94b5 Add library versioning according to
https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html#Libtool-versioning
Add package versioning with m4 macros
2021-08-03 15:55:16 +02:00
Holger Vogt 6aac403ab0 XSPICE delay: add some more safeguards 2021-08-03 15:53:42 +02:00
Holger Vogt 4feb43e067 Prepare ngspice-35 2021-07-22 20:38:08 +02:00
Holger Vogt 4dbd8b7f9a Preliminary fix for the 'interpolate' function.
Interpolation of 1D vectors is o.k. now,
multi-dimensional vectors are not (yet) supported.
2021-07-22 20:37:57 +02:00
Holger Vogt 1977128380 Prevent crash when CIDER diode models are used.
There is no third node in NUMD or NUMD2, so don't set
GENnode(fast)[i]. This patch fixes a bug introduced in
4895a4b5a ("Diode model with selfheating option", 2021-04-11)
2021-07-20 14:24:43 +02:00
Holger Vogt 9cc9c56cad Don't write past '\0', fixes a bug in commit
1c5e0d11d ("If there is a XSPICE code model .model line with
file input, keep quotes and case for the file path.", 2021-07-15)
2021-07-18 11:19:51 +02:00
Holger Vogt b7473a33a0 Check for double '{', replace the inner '{', '}' by '(', ')'
in .subckt or .model (which both may stem from external sources)
2021-07-18 10:29:16 +02:00
Holger Vogt 85b07e35bf Fixes bug 483
prevent crash when surface mobility (surfmob) has been
selected in 2D simulation.
The patch is provided by Brian Taylor (see
https://sourceforge.net/p/ngspice/mailman/ngspice-devel/thread/e6e921a3-677c-f513-7410-df8568c4bdad%40comcast.net/#msg37318450
)
2021-07-16 10:53:07 +02:00
Holger Vogt 1c5e0d11dd If there is a XSPICE code model .model line
with file input, keep quotes and case for the file path.
2021-07-16 10:52:54 +02:00
Holger Vogt 15a3ed87c0 Enable the m parameter in E, G, B, R behavioral source/devices 2021-07-16 10:52:21 +02:00
Holger Vogt 973a60b898 re-enable making the old help system for Linux/Cygwin
by --enable-help --enable-oldapps
2021-07-08 15:34:41 +02:00
Holger Vogt d34d1e7c7c Get immediate response into text window,
when requesting information on coordinates.
2021-07-07 19:50:50 +02:00
Holger Vogt 182a4d3f5f WinGUI: Push any remaining error message into text window
before emitting interactive error message window and exit.
2021-07-07 19:50:37 +02:00
Holger Vogt ae72677cc2 Remove a false read when curr_line has
already been invalidated.
2021-07-05 19:43:25 +02:00
Holger Vogt 0f25c25c7e Remove a memory leak
Make inp_rem_levels non-static
and use it to remove 'root' after it has been used.
2021-07-05 19:42:14 +02:00
Holger Vogt 54cbfb4138 Nodedamping: Make difference independent of the sign
of the difference
2021-07-05 14:32:57 +02:00
Holger Vogt c74321e0f5 JFET2: Add a link to literature 2021-07-05 14:32:47 +02:00
Holger Vogt 93ddc7a3eb Enhancement for E source with table, convert to B source with pwl:
Add G source
Allow 'table' also being part of a parameter name like 'table_something'
2021-07-05 14:32:34 +02:00
dwarning 0ece04cdc8 Add channel type determination belong nmos/pmos model parameter 2021-07-05 14:32:14 +02:00
Holger Vogt fe158341ba Don't show message for every iteration 2021-07-05 14:31:47 +02:00
Holger Vogt c38b8e3615 Fix a bug in the 'dc' progress report 2021-07-05 14:31:32 +02:00
Holger Vogt 8eeb924460 CIDER: Enable printing either binary or ascii data output to file.
Patch provided by Brian Taylor, see
(https://sourceforge.net/p/ngspice/mailman/message/37309841/)
2021-07-05 14:31:21 +02:00
Holger Vogt 9bb401d9cd Add a 'qsort' dummy according to current compiler standards.
Detected during the very rare condition of not finding a 'qsort'
during the ./configure step.
2021-07-05 14:31:08 +02:00
Holger Vogt 76eac5aa0f Make error message more verbode 2021-07-05 14:30:35 +02:00
Holger Vogt a4be66b9b0 Prevent crash if there is bad syntax in h, g, e, or f line 2021-07-05 14:30:26 +02:00
Holger Vogt 31fbf910af Crash when trying to delete root and netlist:
Revert the order of deletion: Firstly the root, then the netlist.
2021-07-05 14:30:08 +02:00
Holger Vogt 858689d206 Make syntax check for nesting of .subckt ... .ends more verbose:
Try to find out where .subckt/.ends may be doubled, or missing.
2021-07-05 14:29:50 +02:00
Holger Vogt 52b5e218c7 Add '\f' to characters to be replace by '+'
during the syntax check of an netlist input file.
2021-07-05 14:29:35 +02:00
Holger Vogt c061747f19 Add evaluating and using temp and dtemp
as ASRC instance parameters.
2021-07-05 14:29:10 +02:00
Holger Vogt ddcc6f6097 add a comment: we should use TNOM, but not a fixed 300.15.
TNOM still has to be added to the ASRC parameters.
2021-07-05 14:28:51 +02:00
Holger Vogt dcde7b590e Don't put brackets around dtemp and temp, when they denote
instance parameters and thus are on the left hand side of '='
2021-07-05 14:28:39 +02:00
Holger Vogt 945786fba7 Make PTcheck more verbose:
Send error message containing failed expression
2021-07-05 14:28:19 +02:00
Holger Vogt 7e01b800f0 add the parameter name to error message of missing or bad parameter 2021-07-05 14:28:07 +02:00
Holger Vogt 7eb791fe00 No parse tree submitted to IFeval:
Prevent segfault and emit error message
2021-07-05 14:27:46 +02:00
Holger Vogt 19abc83312 Make the choice of last commit mor obvious 2021-07-05 14:27:23 +02:00
Holger Vogt 87a9d87f7d Replace identifier by func not only after '=', but also '{'
Extension to commit
61e48f984 ("Start replacing identifiers by func only after the first '='", 2021-06-18)
2021-07-05 14:26:57 +02:00
Holger Vogt 68e51848a4 logic condition to check only 'x' lines had not been given 2021-07-05 14:26:46 +02:00
Holger Vogt d0ca6a4773 Start replacing identifiers by func only after the first '=' 2021-07-05 14:26:21 +02:00
Holger Vogt 36069467fb Clarify that 'scale set to ...'
is not a query, but a statement
by 'scale is set to ...'..
2021-07-05 14:25:49 +02:00
Holger Vogt 5d1dfdf34e Fix a comment 2021-07-05 14:25:26 +02:00
Holger Vogt 06136d2d02 Set the default line width for grid and graph to 1.
0 is possible but seems to be too thin for reasonable plots.
2021-07-05 14:25:13 +02:00
Holger Vogt 028dd0ab88 Remove unused
Add a delay of half a time step to reduce error
2021-07-05 14:24:46 +02:00
Holger Vogt abc6eb56f3 Plausibility checking
Enforce out=in when delay == 0
2021-07-05 14:24:29 +02:00
Holger Vogt fbab9a0fe2 Add an analog delay source for transient simulation
Internal circular memory of size tstop/tstep or user defined.
(aprox.) every tstep a value is stored.
Delay time in multiples of tstep, by control voltage or user defined.
Dc or ac sim will simply connect input to output.
2021-07-05 14:24:06 +02:00
Holger Vogt 0d2d034eb2 Add devices s and w to previous commit.
R and C are not yet covered here, due to the many
varieties available.
2021-07-05 14:23:52 +02:00
Holger Vogt c033298db9 Don't replace a device model name by a parameter, if both
have the same names.

This is an extension to commit
7706889a0 ("inpcom.c, fix bug no 384 do not quote fourth
token in f, h lines otherwise if dev name equals param
name parsing fails", 2018-12-08)

Fixes bug 327 reported by T. Edwards at
https://github.com/google/skywater-pdk/issues/327
2021-07-05 14:23:23 +02:00
Holger Vogt 03517ae86c Define the function DevFinalize as used in the previous commit. 2021-07-05 14:22:55 +02:00
Holger Vogt 5e8ae680db Don't do gr_redraw twice (for non-X11 is already
done in gr_resize)
Add a function DevFinalize() to add the closings in SVG or PS
files ("/> or "stroke"), when files are generated by the
plot window in MS Windows.
2021-07-05 14:22:33 +02:00
Holger Vogt a6079781ea Fix previous commit, enable name upgrade for Linux and other non-Win OSs 2021-07-05 14:22:10 +02:00
Holger Vogt 1176bdb0b0 Bug: Plot window switching did not change the plot content.
Enable plotting the current graph to svg or ps by selecting
the graph from the current plot window.
2021-07-05 14:21:47 +02:00
Holger Vogt 604c4624d1 Within a single run, allow multiple plots with different names:
Add an increasing number to the id file name.
2021-07-05 14:21:16 +02:00
Holger Vogt 0f4d953950 Open mrdump file not in append, but in write mode 2021-07-05 14:20:55 +02:00
Holger Vogt 273b773280 New pswitch is not compatible to iswitch
Keep the old aswitch until a modified pswitch is available.
2021-07-05 14:20:31 +02:00
Holger Vogt 93f6a50553 New author 2021-07-05 14:20:14 +02:00
Holger Vogt 22a516bc4d New author 2021-07-05 14:19:56 +02:00
Holger Vogt d36fcaf34c Neew pswitch with patch 0001-pswitch-fix.patch from Jube 3rd, 21 at
https://sourceforge.net/p/ngspice/discussion/127605/thread/d55d2322f2/#c966/b802/4764/2540/3b3f/04a4/bc51/3a68

Input resistance, numerically computed derivatives with auto-partial, reasonable limits.
2021-07-05 14:19:43 +02:00
Holger Vogt 5cc5e351f1 prepare for the new pswitch with g, gd input 2021-07-05 14:19:28 +02:00
Holger Vogt 9abb61d6ac Bug fix for %i(node1) in an A instance.
Don't do i() replacement in an A instance as shown above.
2021-07-05 14:19:12 +02:00
Holger Vogt e0d5d98b33 Just a reminder that truncation is currently diabled for CSW 2021-07-05 14:18:40 +02:00
Holger Vogt c46676d06e If compatmode PS is set, translate vswitch and iswitch to pswitch.
This reverts commit 025a9fe59 ("Partially undo commit [ab778d] : revert to aswitch as vswitch replacement", 2020-11-22)
Successful OpAmp tests vote for pswitch.
Enable iswitch.
2021-07-05 14:18:30 +02:00
Holger Vogt f12592871a Set derivative d out/d contrl to 0 if outside of switching range.
Disable auto derivatives.
Enable algorithmic derivatives.
2021-07-05 14:18:08 +02:00
Holger Vogt db5395032f Avoid model warning for C if compat flag lt is set. 2021-07-05 14:17:49 +02:00
Holger Vogt 1266225cdb For C and R device enable value tokens like 4k7 or 1u2
in addition to 4.7k and 1.2u.

Valid for
R1 1 0 47k
C2 3 6 1u2
only. Does not interfere with other value tokens in params etc.
2021-07-05 14:17:31 +02:00
Holger Vogt 14402ffc96 Update to
6034c2bcd ("Internal global variable Infile_Path
is a file search path made available for the code models.
It is set when command 'source' is used.", 2021-04-17)
Correct path to variable.h
2021-07-05 14:17:01 +02:00
Holger Vogt 6d9876229c Fixes bug #331
Bug detected and analysed by Arsen Liash
Patch provided by Yurii Demchyna
2021-07-05 14:16:35 +02:00
Holger Vogt c75e4129f4 Plug another memory leak in LTRA transmission line 2021-07-05 14:16:17 +02:00
Holger Vogt 5d39ff2d8c Plug memory leaks in transmission line LTRA 2021-07-05 14:15:20 +02:00
Holger Vogt d2ac525f52 Plug some more memory leak in TXL transmission line. 2021-07-05 14:14:38 +02:00
Markus Mueller 74ba5c1f96 found non-initialized value! 2021-07-05 14:14:15 +02:00
Markus Mueller 5c71349bad remove dead assign statements, yet just commented them out for the time
being
2021-07-05 14:14:00 +02:00
Holger Vogt c0bd7ca6e2 Plug a memory leak in TXL transmissiom line (y device) 2021-07-05 14:13:44 +02:00
Holger Vogt b5054cc9f1 Plug a memory leak
Add function HICUMdelete() to remove model->HICUMversion
2021-07-05 14:12:46 +02:00
Holger Vogt 7dd96c241c PSPICE MC parameters are not (yet) supported, so remove them
from .model (lot, dev) and netlist (.distribution)

Triggered by Patch #104 by Giles Atkinson
2021-07-05 14:12:09 +02:00
Holger Vogt 58bdf9e0e6 Remove 'goto end' and 'end:' statements. 2021-07-05 14:11:48 +02:00
Holger Vogt c2d11728c4 enable usage of parameters in .options lines. 2021-07-05 14:11:26 +02:00
Holger Vogt 78eee72b36 .temp could not apply params like
.ttemp {tmpparam}:
move evaluation of .temp to a later stage
2021-07-05 14:11:03 +02:00
Holger Vogt d0da4bebd3 make variable 'dir' local 2021-07-05 14:10:44 +02:00
Holger Vogt 11d3188e19 fix typo 2021-07-05 14:10:20 +02:00
Holger Vogt 4fd7de9e34 Partially re-introduce and improve code that has been
inadvertently deleted in commit

83592c456 ("unify the evaluation of '.options scale=xx'
.option in a netlist will override 'options' from spinit,
.spiceinit or a script '.options scalm=xx' yields a warning,
it is not supported.", 2021-04-05)

The code transforms the option statements and adds them
to the current circuit.
2021-07-05 14:09:56 +02:00
dwarning 6bafdf70d5 sub-coll junction calculation only if ISS given 2021-07-05 14:09:35 +02:00
Holger Vogt 3a908c76ef Prevent crash, refName may be NULL 2021-07-05 14:08:41 +02:00
Holger Vogt 98f8a4fcb2 Improve error message, if occuring during op 2021-07-05 14:08:25 +02:00
dwarning 4ca4b43801 simplify while loop for subckt diode and bjt models 2021-07-05 14:08:02 +02:00
Holger Vogt c8db059144 Use 'm' and 'multi' correctly in PDKs
If there is alraedy m=xx in a subcircuit instance line,
replace it by m='m*xx' to aknowledge the additional m.

Tested with an (old) TSMC PDK and with Skywater PDK.
2021-07-05 14:07:46 +02:00
dwarning 1f95e12142 Value stored to vsub is never read 2021-07-05 14:07:26 +02:00
dwarning 52f4244345 fix Vcrit calculation for coll-subs junction and correct tlev=3 temperature model 2021-07-05 14:07:14 +02:00
dwarning b00fa921ac rm depreciated storage class 2021-07-05 14:06:52 +02:00
dwarning e14dc3aaa3 few style cleanings 2021-07-05 14:06:28 +02:00
Holger Vogt 109e33f127 Improve font selection for Win GUI plot window
Font Names from
https://docs.microsoft.com/en-us/typography/fonts/windows_10_font_list
without option or with Bold or Italic are supported, e.g.
setcs wfont="Cambria Bold Italic".
2021-07-05 14:06:06 +02:00
Holger Vogt 80e5f67466 Reduce wchar_t string length to minimum required
(to be NULL-terminated for CreateWindowW)
2021-07-05 14:05:33 +02:00
Holger Vogt c9a19c7569 Fix for bug 547
Reduce length of wchar_t strings to the minimum required
for conversion

Check if Bold or Italic is given in the font name, set
corresponding variable
2021-07-05 14:04:09 +02:00
dwarning 45e397727b rm dead assignments 2021-07-05 14:03:38 +02:00
Holger Vogt d2f6ad239f If the input file path contains ANSI-encoded special characters,
utf-8 conversion and thus file opening will fail.

This patch then in addition tries opening the file with standard fopen.
2021-07-05 14:03:21 +02:00
Holger Vogt ba262eaa5f Internal global variable Infile_Path is a file search path made
available for the code models. It is set when command 'source' is used.

This patch makes the first entry in var 'sourcepath' available to
the code models as well by setting Infile_Path, when 'sourcepath'
is set in .spiceinit.
2021-07-05 14:02:51 +02:00
dwarning a08f120518 TEMPFORMAT has already leading / in defines.h 2021-07-05 14:02:21 +02:00
dwarning 64c407332d rm dead assignemnts 2021-07-05 14:02:04 +02:00
dwarning 9b2f3cfd5e iter value never read - prevent compiler warning 2021-07-05 14:01:26 +02:00
dwarning 4e86cfa352 diode cbv only needed for tracing - prevent compiler warning 2021-07-05 14:01:09 +02:00
dwarning 2b2e40793e correct indentation 2021-07-05 14:00:44 +02:00
Holger Vogt 741cab390f Prevent a crash when the number of models exceeds MODNUMBERS
Raise MODNUMBERS to 2048

https://github.com/kicad-spice-library/KiCad-Spice-Library/issues/16
2021-07-05 13:59:53 +02:00
Holger Vogt 66cbac3f4e Fixes a bug introduced by commit [4895a4]
Re-enables R with .model like
.model R_NOISELESS RES (TCE=0 T_ABS=-273.15)
R77 1 0 R_NOISELESS 100
2021-07-05 13:59:24 +02:00
dwarning b1bf7ea0ad Diode model with selfheating option 2021-07-05 13:58:51 +02:00
Holger Vogt 48acb10929 Remove compiler warnings 2021-07-02 11:58:30 +02:00
Holger Vogt e91ec306ba Remove some compiler warnings 2021-07-02 11:58:10 +02:00
Holger Vogt 2536b78acb Allow tailing '\0'
Remove potentially user induced buffer overflow by replacing
sprintf by snprintf.
2021-07-02 11:57:30 +02:00
Holger Vogt 053e8c5a04 remove compiler warning 2021-07-02 11:56:29 +02:00
Holger Vogt d5fd9c8625 correct function prototype 2021-07-02 11:56:14 +02:00
Holger Vogt 45c171635a Remove compile error which may occur with specific settings 2021-07-02 11:55:28 +02:00
Holger Vogt 19ddeb8fe6 formatting (not complete) 2021-07-02 11:54:59 +02:00
Holger Vogt 545d2f9177 Report an error when trying to define ports
'v', 'vd', 'i', and 'id' as 'inout'
Parch 105 provided by  Giles Atkinson
2021-07-02 11:54:34 +02:00
Holger Vogt bc74caca2f Don't create cat2strings if on VS2019 2021-07-02 11:54:06 +02:00
Holger Vogt d19c8e7f41 Efficiency: Remove setting the random seed to behind the options selection
Evaluate '.options cshunt=xx' earlier to allow the following:
Set the option by calling INPpas4() during parsing the circuit,
before .ic is set.
Ckt and Task cshunt are still set, but their values are available
only too late for INPpas4(), but may be used by command 'option'
(w/o parameters) for assessing the options and their values.
2021-07-02 11:53:42 +02:00
Holger Vogt 911b50fa8f Adding capacitors, one per voltage node 2021-07-02 11:52:45 +02:00
Holger Vogt f8357dad88 Prepare Cshunt: add a cpacitor to each voltage node
Function inppas4() will add the extra caps, to be done.
2021-07-02 11:52:15 +02:00
Holger Vogt db5c6cd0ec Add some comments for inppas1,2,3 2021-07-02 11:51:57 +02:00
Holger Vogt d07fab904c Speed enhancement while reading large PDKs:
Line concatenation used tprintf, which uses vsnprintf,
which is very inefficient in Linux, MINGW, but efficient
using MSVC. Thus for the others a function cat2strings() is
introduced, which uses memccpy().
2021-07-02 11:51:18 +02:00
Holger Vogt e2cf397b6d Restrict the limit for exp function (linear growth when exponent
is larger than 14, commit [93a76d]) to the PSPICE compatibility
mode.
2021-07-02 11:50:42 +02:00
Holger Vogt 8da2f3c16d unify the evaluation of '.options scale=xx'
.option in a netlist will override 'options'
from spinit, .spiceinit or a script
'.options scalm=xx' yields a warning, it is not supported.
2021-07-02 11:50:17 +02:00
dwarning 8a04d049ab Correct scaling for area and pj geometry scaled diode (level=3) 2021-07-02 11:49:35 +02:00
dwarning a7cf70e615 Introduce element parameter handling for geometry scaled diode (level=3) 2021-07-02 11:49:21 +02:00
dwarning 56c8a24dd7 Correct parameter handling for geometry scaled diode (level=3) 2021-07-02 11:48:53 +02:00
dwarning 2a55f50192 First attempt for geometry scaled diode (level=3) 2021-07-02 11:48:04 +02:00
Holger Vogt 4bee26b8b9 Remove unused prototype 2021-07-02 11:45:11 +02:00
Holger Vogt 7064df7f3b Define a preprocessor flag HAS_NG_BOOL 2021-05-05 21:59:25 +02:00
Holger Vogt f6ba097b9c Replace BOOL by NG_BOOL
Avoid clashes in environments where BOOL my be used differently.
NG_BOOL is typedefed to int, as ngspice uses int for boolean variables.
2021-05-05 10:52:13 +02:00
Holger Vogt ded0f79c01 Avoid type 'bool', as ist is a built-in type in C++, not
equaling  'int' which ngspice is using.

Change bool to BOOL and ad a
typedef int BOOL;
2021-03-28 18:20:47 +02:00
Holger Vogt 5abd8057e6 remove deprecated storage class 2021-03-28 13:30:39 +02:00
Holger Vogt 9311674499 re-enable PostScript/SVG to file by pushbutton
on the ngspice plot window, avoid crash due to double freeing.
2021-03-19 15:07:33 +01:00
Holger Vogt e1ae8c7495 remove memory leak 2021-03-19 15:07:23 +01:00
Holger Vogt 9f6d550837 Remove memory leaks in the SVG code 2021-03-19 15:06:59 +01:00
Holger Vogt 74a615d5af Free tmalloced Cfg.strings[i] 2021-03-19 15:06:49 +01:00
Holger Vogt 02b4f06f2d variables like color1 may override thie svg_intopts and svg_stropts.
Unsetting the variables will reset to the default.
Malloced colors and cfg.strings will be freed again.
Examples do show more of the options.
2021-03-19 15:06:35 +01:00
Holger Vogt 4303534f91 Shift colorID evaluation to a place after svg_stropts is read.
Remove unused.
2021-03-16 11:01:54 +01:00
Holger Vogt 6443135892 libtool versioning added for Linux shared ngspice.
And commented out immediately, because not compatible
to KiCad, which is linking to libngsice.so.0.0.0
2021-03-14 15:33:25 +01:00
Holger Vogt 1ba168ff30 clarify call to gnuplot on Linux/Cygwin 2021-03-14 15:33:17 +01:00
Holger Vogt 7b9d1fb74a enable variable 'nolegend' for gnuplot 2021-03-14 15:33:10 +01:00
Holger Vogt f61ea3aa96 if 'set nounits' is given, plotting of the units is suppressed
(they may be added manually to the y and x labels for SI conformity).
2021-03-14 15:32:49 +01:00
Holger Vogt 736d42a5b0 remove unused 2021-03-14 15:32:39 +01:00
Holger Vogt 43f3fceb75 enable svg also for console app on Windows 2021-03-14 15:32:31 +01:00
Holger Vogt f31ae08f0b remove unused args 2021-03-14 15:32:15 +01:00
Holger Vogt 1607b3a21f X11: Add a button for writing an SVG file to the plot window.
Update button texts.
Add a function hardcopySVG to write the SVG file, called by
clicking the SVG button.
2021-03-14 15:32:03 +01:00
Holger Vogt 43c44a8ca9 correct description 2021-03-14 15:31:57 +01:00
Holger Vogt 1f54a6add3 WinGUI: Make the text output from com_hardcopy available immediately
by call to function UpdateMainText.

Enable color for postscript output.
2021-03-14 15:31:45 +01:00
Holger Vogt 683ef77955 Separate color and b&w
b&w in the plot window is not(yet) supported.
2021-03-14 15:31:07 +01:00
Holger Vogt 6d388e1679 Select black&white, if appropriate
Return colorID to previous values after hardcopying.
2021-03-14 15:30:59 +01:00
Holger Vogt 391822b558 use colorN as for normal plots
color0 is background
svg_intops and svg_stropts may set all parameters
2021-03-14 15:30:33 +01:00
Holger Vogt bc678baaca modified from Giles Atkinson's patch:
use hardcopy entries to set variables
maybe overridden by stropts and intopts list variables
2021-03-14 15:30:24 +01:00
Holger Vogt 6b4d2a9241 separate svg and postscript handling 2021-03-14 15:30:13 +01:00
Holger Vogt dacd727d87 separate svg and postscript
suitable text placement for svg
2021-03-14 15:30:06 +01:00
Holger Vogt 87b59d22a5 add generation of svg graphics file
based on patch no. 97 by Giles Atkinson
2021-03-14 15:29:53 +01:00
Holger Vogt b86c85f85b Safeguard against usage of --with-readline or --with-editline
Some package maintainers have erroneously used the above ./configure
flags during compiling libngspice-0.so. This has led to an unresolved
symbol history_file with ngspice-34.
2021-02-21 16:49:00 +01:00
Holger Vogt 8076e2b4cf Check for double '{{ }}', replace the inner '{', '}' by '(', ')'
in .model lines, if compat mode ps is set. Enables use of some On-Semi
power transistor models.
2021-02-21 16:48:53 +01:00
Holger Vogt d7feec20fe enable parameter 'gain'
patch provided by  Bohdan Tkhir
2021-02-21 16:48:28 +01:00
Holger Vogt 8abd8069a8 Re-enable compiling ngsconvert again
Capability to compile ngsconvert is extremely sensitive to changes in
associated files as found in makefile.am and may esily be
broken again next time. Requires manual tweaking.
2021-02-21 16:48:21 +01:00
Holger Vogt 462534a0fb Rename the ngspice version information offered in sharedspice.h 2021-02-21 16:47:44 +01:00
Holger Vogt 99a7bfd8fe Move version info from sharedspice.c to sharedspice.h 2021-02-21 16:47:19 +01:00
Holger Vogt 0ae9aeec41 remove config.h from dist and install 2021-02-21 16:47:02 +01:00
Holger Vogt 4f385b604b remove obsolete command 2021-02-21 16:46:52 +01:00
Holger Vogt 65a47d3276 Remove compiler warnings: CIDER debug flags are used as int
FIXME: Why arer they defined as BOOLEAN in main.c
without generating a warning?
2021-01-29 10:46:10 +01:00
Holger Vogt a77b529928 set the locale to "C" locally, if shared ngspice 2021-01-29 10:44:28 +01:00
Holger Vogt 5747982ae8 Re-enable devices like E2 1 0 (2,3) 1
Add a new function nexttok_noparens(const char *s) which
skips tokens. Characters , ( and ) are treated like spaces.
2021-01-28 17:06:02 +01:00
Holger Vogt 433a76a1f2 Guard against vector "time" not being available 2021-01-28 17:01:30 +01:00
Holger Vogt c8a7b69190 re-enable setting options when 'set ngbehavior=hs' is set. 2021-01-27 16:29:15 +01:00
Holger Vogt ffef8e1d16 Remeove "redefinition" warning 2021-01-26 18:18:59 +01:00
Holger Vogt ca26364a7a Remove "incompatible pointer" warning 2021-01-26 18:18:28 +01:00
Holger Vogt 8de513e8e9 ngspice.exe and .dll (.so): seperate the main files:
main.c now belongs to exe, sharedspice.c to dll (so)
2021-01-26 18:17:59 +01:00
Holger Vogt 55359e36e0 if SHARED_MODULE, exclude some unused function from build.
Finally complete main.c should be removed in shared ngspice.
2021-01-24 17:40:18 +01:00
Holger Vogt 06eddf1adc We need config.h.in, when compiling with ./configure,
that is without resorting to autoconf, automake etc.
So partially undo the previous commit.
2021-01-24 12:55:51 +01:00
Holger Vogt c14680c951 Do not distribute config.h.in 2021-01-24 11:29:48 +01:00
Holger Vogt ebff1fe79f makefile.am for cppduals 2021-01-23 12:54:23 +01:00
Holger Vogt 71bc5feacb We need to include cppduals into the distribution process. 2021-01-23 12:45:49 +01:00
Holger Vogt 7dc6c47df5 config.h should not be distributed or installed
somewhere, because it is generated locally during
the build process.
2021-01-23 12:45:12 +01:00
Holger Vogt d45e95aa4c We no longer want to install cmpp or other XSPICE files.
The manual describes making code models from inside
the ngspice build process, and that's what we support
right now.
2021-01-23 12:43:51 +01:00
Holger Vogt a5eac333bb Revert "When installing ngspice, do not install the headers"
This reverts commit 5a0d213fec.
2021-01-22 16:05:14 +01:00
Holger Vogt fb8e974ac4 i-sweep sall become a current vector (SV_CURRENT) 2021-01-20 16:49:14 +01:00
Holger Vogt 939410874a Info "No circuit loaded!" is added. 2021-01-20 16:49:05 +01:00
Holger Vogt d239a523e0 remove memory leak 2021-01-20 16:48:46 +01:00
Holger Vogt ed15d6f975 replace controlles_exit by error return,
delete netlist cc when returning upon error.
2021-01-20 16:48:27 +01:00
Holger Vogt 058f474f90 Prevent crash if netlist input is something like
H n1
2021-01-20 16:48:08 +01:00
Holger Vogt a86a500b07 checkspeed: use startclock instead of lastclock to ensure
Linux compatibility.
2021-01-20 16:47:48 +01:00
Holger Vogt 2a2a488f7d If 'set ngdebug', and if transient simulation,
create a vector speedcheck in the tran plot
which contains the real time versus simulated time,
to check for obstacles during the course of the
transient simulation. If command 'save' is given,
one has to add speedcheck to obtain this vector.
2021-01-20 16:47:27 +01:00
Holger Vogt 65cb50a243 redo the reading for ngate parameter
if larger than 1.000001e24, assume m3 instead of cm3
2021-01-20 16:47:11 +01:00
Holger Vogt c891bf846c reduce precision to avoid false rounding 2021-01-20 16:46:59 +01:00
Holger Vogt c9eeb0ceea Modify get_number_terminals() and make it non-static.
Use modified function to replace fixed node number.
2021-01-20 16:46:37 +01:00
Holger Vogt b640e57c39 re-enable getting correct node numbers for bipolar
using TSMC cv018bcd
2021-01-20 16:46:27 +01:00
Holger Vogt 273b0fb4a3 fix a plotting bug with xlog axis and ylabels 2021-01-20 16:45:54 +01:00
Holger Vogt 822a63974f Unused binning models are removed.
Flag 'nf', when given on the x lines, is
recognized.
Tested with TSMC, Skywater, and X-Fab model
files.
2021-01-20 16:44:57 +01:00
Holger Vogt e601325149 Avoid any buffer overflow if user provides a large TABLE:
Replace fixed length strings and fcn 'cat' by dstrings.
2021-01-20 16:44:19 +01:00
Holger Vogt 059e869754 free the wordlist wle to avoid memory leaks 2021-01-20 16:42:33 +01:00
Holger Vogt 02630c0af2 fix a bug in printing the compatibility status 2021-01-20 16:41:53 +01:00
Holger Vogt 5af7f0ff78 sort instance list entries: RHS numbers (like nf=2) come first,
expression then follow.
2021-01-20 16:41:25 +01:00
Holger Vogt 4a6fff05b6 typo 2021-01-05 23:11:50 +01:00
dwarning a81a84c208 allow strobe and finish commands 2021-01-05 21:57:48 +01:00
Holger Vogt 4a8065c3ee replace strncpy by memcpy to prevent valgrind error message
on uninitialized string.
2021-01-05 17:21:23 +01:00
dwarning aedf9d0eb5 correct choice for both r model types 2021-01-05 11:18:07 +01:00
dwarning 08700f8147 include verilog-a r2_cmc resistor model 2021-01-05 11:12:09 +01:00
dwarning b654296230 rm independent terms from ddx() operator 2021-01-05 11:07:29 +01:00
dwarning 43e9a8f594 activate command 2021-01-05 11:07:24 +01:00
Holger Vogt 8a21f6f2c0 enable OP information for hicum0 and mextram 2021-01-05 11:07:05 +01:00
Holger Vogt 176023f470 Remove compiler warnings 2021-01-03 14:28:22 +01:00
Holger Vogt eedb5b9027 Update for ngspice-34 2021-01-03 08:47:47 +01:00
Holger Vogt 0d4685f459 preliminarily turn off fcn nlist_model_find()
to avoid compiler warning
2021-01-02 23:29:35 +01:00
Holger Vogt e2650a2897 Patially undo commit [f9d9b6]:
macOS gcc/llvm complauns about non-existing -Wunused-but-set-variable
2021-01-02 23:00:19 +01:00
Holger Vogt 94eac89749 Remove 'comment out any unused models' for now, it
has been working, but led to spurious error messages.
Has to be checked more thoroughly.

Add a ngbehaviour setting 'mc', needed for running
'make check'. It will unset all other compatibility modes
and suppress the note on compatibility settings which
led to a 'make check' failure just due to its printout.
2021-01-02 19:12:26 +01:00
Holger Vogt 89f0fb6d74 sharedspice: make reading .spiceinit as robust as in
the standard executable.
2021-01-02 19:11:51 +01:00
Holger Vogt 1234c3bdf8 Update to the compatibility mode:
Rename new_compat_mode() to set_compat_mode().
Add fcn print_compat_mode() to print out
the selected compatibility mode.
2021-01-02 19:11:44 +01:00
Holger Vogt 164d3dd20c Enable models with parens by using gettok_parens() like
.model NP NPN(BF=125 Cje=.5p Cjc=.5p Rb=500)
2021-01-02 19:11:29 +01:00
dwarning a5cb4f2d20 hicum0 prevent crash in self heating mode 2021-01-02 19:10:42 +01:00
Holger Vogt 9485a51928 Re-enable the 'hardcopy' command
Fixes support-requests #53 by Paolo M.
2021-01-02 19:10:30 +01:00
dwarning 0e9d1c50a4 add latest available psp103 version to adms 2021-01-02 19:07:55 +01:00
Holger Vogt 70d1647cfa Update to ps .model selection for MOS,
add support for bipolar (Mextram, lateral pnp),
enable 'level = nn' (with spaces).
2021-01-02 19:07:16 +01:00
Holger Vogt 3c354092ff Line endings from \r\n to \n 2021-01-02 19:06:58 +01:00
Holger Vogt 2e9a51f2f7 Each model is checked only once
(not the same model check for every instance).
Add model comparison warning to file.
2021-01-02 19:06:37 +01:00
Holger Vogt 8602915942 level for ekv2.6 is 44 2021-01-02 19:06:17 +01:00
Holger Vogt 50ec89e284 PS compatibility: select appropriate level for MOS models 2021-01-02 19:05:41 +01:00
Markus Mueller f9d9b6deba fix "unused but set variable" warnings 2021-01-02 19:05:18 +01:00
Holger Vogt b1daabbe95 update the model checking 2021-01-02 19:05:01 +01:00
Holger Vogt 03a68683ca Update on error checking for bsim4.6 model 2021-01-02 19:04:24 +01:00
dwarning fdf7a6a868 More effective check for BSIM3 model parameter 2021-01-02 19:04:07 +01:00
Holger Vogt 49890fe302 Fix the error message when fatal model parameter fail occurs 2021-01-02 19:03:53 +01:00
Holger Vogt 2e34b9d9a3 Improved visibility of model check error 2021-01-02 19:03:42 +01:00
dwarning 420d47cc75 fix max terminal count for vbic and hicum2 adms enabled 2021-01-02 19:03:20 +01:00
Holger Vogt a147a3b190 If we encounter tc1= or tc2= (temp coeffs.) or m= (multiplier),
the expression is done, thus keeping the brackets as is.
Enables tcx={} or m={} with their own expressions, dealt with
by numparam.
2021-01-02 19:02:44 +01:00
Holger Vogt 98eb5bf475 bug #537: remove memcopy with overlapping strings
Bug reported by Ronan BARZIC
2021-01-02 19:02:29 +01:00
Holger Vogt 86f5a9b819 Only print the devices that are really used in the circuit
(don't print the 0 occurencies).
2021-01-02 19:02:07 +01:00
dwarning aaec6be4c6 only one .va file for psp model 2021-01-02 19:01:44 +01:00
dwarning b44f1ad595 only one .va file for psp model 2021-01-02 19:01:31 +01:00
dwarning 336bb3480b psp102 update to latest available version 102.5.0 2021-01-02 19:01:05 +01:00
Holger Vogt e8aea4967c Remove some compiler warnings 2021-01-02 19:00:48 +01:00
Holger Vogt 2359f28812 Remove compiler warning
cast between incompatible function types from
‘void (*)(int,  int)’ to ‘void (*)(int)’
2021-01-02 19:00:29 +01:00
Holger Vogt 19fa671832 Check for correctness of the BSIM4.5 parameters:
If parameter excursions are found, put the warning or error message into a wordlist.
Only then open a file bsim4v5.out and print the data into the file.
2020-12-22 17:56:19 +01:00
Holger Vogt 7bd12a60a6 Enable multiplier 'm' for behavioral resistor
(R using a B source).
2020-12-22 17:56:19 +01:00
Holger Vogt 03556b2215 Add multiplier 'm' to the ASRC instance line.
Default value is 1.
A new 'reciprocm' will determine, if m is multiplied
into numerator or denominator.
2020-12-22 17:56:19 +01:00
dwarning 30ccbc9a18 include ceil and floor function 2020-12-22 17:56:19 +01:00
dwarning 7cef1871bb white spaces, formatting and verilog-a conformity 2020-12-22 17:56:19 +01:00
dwarning 8e4db91099 adms bsimbulk and bsimcmg implementation based on work from Robert Larice 2020-12-22 17:56:19 +01:00
dwarning 9a33791bc1 take care for different types of output variables in analogfunctions 2020-12-22 17:56:19 +01:00
Holger Vogt 014dfe1b7b The old inp_deckcopy() is a safer way of copying, while retaining
the correct line numbers for parameter substitution.
2020-12-22 17:56:19 +01:00
Holger Vogt b1d062668c When there is no model found, and we have an m devices,
set the number of nodes to 4. This has to be fixed (find
a way to detect the number of nodes automatically).
2020-12-22 17:56:19 +01:00
Holger Vogt b0a2ab5729 A FIXME: The number of nodes is fixed to 4!
Better make this flexible, but how to detect this number safely?
2020-12-22 17:56:19 +01:00
dwarning fc70256828 psp102 white spaces and admsXml adaptions 2020-12-22 17:56:19 +01:00
dwarning 1a5016cd49 psp102 rm unused files 2020-12-22 17:56:19 +01:00
dwarning 1f2455d4df PSP102 add description noise functions 2020-12-22 17:56:19 +01:00
dwarning 8ce89a2b80 update version and improve veriloga compatibility 2020-12-22 17:56:19 +01:00
dwarning 46122bab52 extend veriloga compatibility for admsXml compiler 2020-12-22 17:56:19 +01:00
dwarning db1126c1bb update version and improve veriloga compatibility 2020-12-22 17:56:19 +01:00
dwarning 0155d0722b improve veriloga compatibility 2020-12-22 17:56:19 +01:00
Holger Vogt 5366f946eb Remove more compiler warnings 2020-12-22 17:56:19 +01:00
Holger Vogt 238f8d393a Suppress some compiler warnings 2020-12-22 17:56:19 +01:00
Holger Vogt 3c2f6585e0 Add some comment. 2020-12-22 17:56:19 +01:00
Holger Vogt e1eb851ec4 Add function rem_unused_mos_models()
Netlist is flat at this stage, all numbers expanded,
but not yet parsed into the circuit structure.
So again try to remove unused MOS models.
All binning models are still here when w or l have been
determined by an expression from within the PDK.
2020-12-22 17:56:18 +01:00
Holger Vogt 19fb3ec38f make some functions non-ststic to support function
rem_unused_mos_models() in inps.c
2020-12-22 17:56:18 +01:00
Holger Vogt 5ee6a98e4b Add a comment 2020-12-22 17:56:18 +01:00
Holger Vogt 043634b60e Jump over the HSPICE-specific key words 2020-12-22 17:56:18 +01:00
Holger Vogt 8c253524af With the new inp_deckcopy_ln treat the first line
in the deck equal to all other lines.
2020-12-22 17:56:18 +01:00
Holger Vogt 8b376b4581 Remove dot lines somewhat later. 2020-12-22 17:56:18 +01:00
Holger Vogt 777cfcf477 Reduce the memory requirements if there is a PDK with
a lot of binning models.
This is a hack and needs testing!
inpcom.c: If an x line, add w and l to the netlist card,
if available.
subckt.c: select a suitable model bin, discard the rest
for each subcircuit, depending on w and l from above.
inpgmod.c: less restrictive equal for real numbers,
allow both min and max boundaries (problem of equating
real numbers), when the selected device has w or l on
the boundary between two model bins.
2020-12-22 17:56:18 +01:00
Holger Vogt 06ce137741 Remove #ifdef XSPICE from ISRC_CURRENT definition 2020-12-22 17:56:18 +01:00
Holger Vogt cbf4305ff8 Remove the XSPICE dependency of the phase parameter for the
independent voltage source.
2020-12-22 17:56:18 +01:00
Holger Vogt 52f3bd7900 Remove the XSPICE dependency of the phase parameter for the
independent current source.
2020-12-22 17:56:18 +01:00
Holger Vogt fc6f41ae9b Remove the XSPICE limitation of flag "current" (here->ISRCcurrent) 2020-12-22 17:56:18 +01:00
Holger Vogt d6b4184625 typo 2020-12-22 17:56:18 +01:00
Holger Vogt 12ee985a68 Restrict #pragma warning to Visual Studio only. 2020-12-22 17:56:18 +01:00
Markus Mueller c7f732b098 fix hicum warnings 2020-12-22 17:56:18 +01:00
Holger Vogt 79d6f27d74 fix a typo 2020-12-22 17:56:18 +01:00
Holger Vogt f58b38a1ed suppress warning that is not relevant (we don't use floats) 2020-12-22 17:56:18 +01:00
Holger Vogt 9072f40b9a bug 535: re-enale tc1, tc2 even if tokens tc1 or tc2
may be part of other tokens as well.
2020-12-22 17:56:18 +01:00
Holger Vogt aee35e6ef3 No brackets around instance parameters dtemp, temp 2020-12-22 17:56:18 +01:00
Holger Vogt fe24a4135c spice2g6 poly(19 compat:
When counting token, count an expression {...} for the
gain as a single token, even if it contains spaces.
2020-12-22 17:56:18 +01:00
Holger Vogt ced7604fc4 fix comment 2020-12-22 17:56:18 +01:00
Holger Vogt ff3904e1ac re-enable 'external' as an instance parameter for current source. 2020-12-22 17:56:18 +01:00
Holger Vogt 03f9ac82b3 Relax the numerical precision a little bit when
comparing real valued time values.
Fixes bug no 536 reported by Victor Kuchynsky
2020-12-22 17:56:18 +01:00
dwarning cffd55363d prevent c++ compiler warning 2020-12-22 17:56:18 +01:00
Holger Vogt c43c6f6ca4 improve comment 2020-12-22 17:56:18 +01:00
Holger Vogt d24aa7134c E_constant Vconst 0 TABLE {Max(V(DP)-V(GN),0)}=((20,120))
Allow such strange construct, where a single pair x,y will
simplay return a constant y (120 in the above example).
This is used in external devices models and aknowledged
by other simulators.
2020-12-22 17:56:18 +01:00
Holger Vogt df913fb260 If T is below 1 uK, lets set it to 0 (avoid slightly negative values due to numerical issues) 2020-12-22 17:56:18 +01:00
dwarning c5b5ad67db only one place for version and copyright message 2020-12-22 17:56:18 +01:00
Holger Vogt 83fef9306f re-enable .end with leading spaces
a fix to bug #534
2020-12-22 17:56:18 +01:00
Holger Vogt 025a9fe599 Partially undo commit [ab778d] :
revert to aswitch as vswitch replacement
2020-12-22 17:56:18 +01:00
Holger Vogt 57487d2b0f clarify the contents of the circarray netlist 2020-12-22 17:56:18 +01:00
Holger Vogt 87751ad073 Make the ngSpice_Circ(char** circa) more robust:
Error message when .end card is missing
Reset if .end card is missing, to allow loading
a netlist again.
NULL as last element is no longer required, but .end card
(this has been implicitedly assumed).
Remove a bug that skippoed the last line (the .end card).
2020-12-22 17:56:18 +01:00
Holger Vogt fd79e4b5c4 Don't parse the B source instance parameters, thus prevent memory leaks. 2020-12-22 17:56:18 +01:00
Holger Vogt 2d34cbddf8 re-write and simplify the tc1, tc2 code for behavioral
R, L, C lines invoking the B source.
Enable parameterization of the TCs.
Create a tc string in an extra function, add this string
to the new R, L, C line.
2020-12-22 17:56:18 +01:00
Holger Vogt 089af45aea Removal of the "unsopported" folder.
It used to contain a unused sensitivity analysis that
has not been touched for the last 15 to 20 yeras.

We are not a museum. If somebody wants to reactivate
this code, of course it is available within the older
ngspice releases.
2020-12-22 17:56:18 +01:00
Holger Vogt 5a0d213fec When installing ngspice, do not install the headers
(all *.h), nor install dlmain.c and cmpp. Nearly all
users are not interested in creating code models, it is
not documated, and a much better way to create (and test)
code models is from within the ngspice sources (as is
documented in the manual).
2020-12-22 17:56:18 +01:00
Holger Vogt 1ef4115578 In a command 'meas tran teval when v(2)=1' the rhs
should be treated as a number '1', not as a vector v(1)
2020-12-22 17:56:18 +01:00
Holger Vogt 6055fda73d spaces 2020-12-22 17:56:18 +01:00
Holger Vogt e8ecb8ccfe When .nodeset or .ic was called with a non-existent node,
ngspice emitted a warning message, but then moved on,
inserting it as a new node with fcn INPtermInsert(). This
of course is totally wrong and leads to memory corruption.
Now there is a new fcn INPtermSearch(), which just checks
if the node is existent. If yes, it will get the value
according to the .ic statement, if not, a warning message
is emitted, and the non-existent node is simply ignored.
2020-12-22 17:56:18 +01:00
Holger Vogt 68e14ad519 cross compile: -lshlwapi not hard-coded,
but via $(cmpp_LDADD)
Patch suggested by Érico Rolim
2020-12-22 17:56:18 +01:00
Holger Vogt 5c4af54be1 Windows.h -> windows.h 2020-12-22 17:56:18 +01:00
Holger Vogt 44b8498d63 prevent a crash when e,g,f,h sources do not have enough paramaters. 2020-12-22 17:56:18 +01:00
dwarning 71b000e1ad HICUM2 no need for return value in temp-update function 2020-12-22 17:56:18 +01:00
dwarning 3e9022cdaf HICUM2 removed from adms tree 2020-12-22 17:56:18 +01:00
Holger Vogt d0a8e6ac51 update to the limit function for ps compatibility.
The output will stay between the two limits given.
Tere is no prescription which of the two is upper
or lower.
This function will not solve all PS-Spice
compatible model convergence issues. We better look
for a built-in function with smooth, steadily
differentiable corners.
2020-12-22 17:56:18 +01:00
Vogt bb8cdb2e2d enable the use of either single or double quotes
for file path names (was mixed up, becaus isquote()
aknowledges both types).
2020-12-22 17:56:18 +01:00
dwarning 03cd512e7f separate and correct capacitor charge formula transformation 2020-12-22 17:56:18 +01:00
Holger Vogt 95754d29c1 Introduce variacle 'plainlet' which allow simple copying
of vectors, even if the right hand side vector name
contain forbidden characters (like math characters).

set plainlet
let newvec = v(/out)
unset plainlet
2020-12-22 17:56:18 +01:00
Holger Vogt a815d279d2 enable compiling with CYGWIN
signgam for lgamma is not available
2020-12-22 17:56:18 +01:00
dwarning 450ec47a3e rm unused quote.h in vngspice_fftw 2020-12-22 17:56:18 +01:00
dwarning 806d902a53 HICUM limitlog exchange 2020-12-22 17:56:18 +01:00
dwarning af3d3c5230 HICUM limitlog exchange 2020-12-22 11:13:08 +01:00
Holger Vogt aa0d0abe34 Fix a bug in the limit() function (PSPICE compat mode) 2020-12-22 11:11:59 +01:00
Holger Vogt 9276f9fb0e Use the pwl LIMIT=TRUE flag when replacing
G1 2 3 TABLE ... or E2 4 5 TABLE ... by code model pwl
2020-12-22 11:11:23 +01:00
Holger Vogt 92c6ff26f5 add a flag 'LIMIT' to pwl code model. If set true,
the output is kept constant at y[0] when x is less then
x[0], or at y[xmax] when x > xmax.
Default is FALSE, then the output beyond the x bounds is
extrapolated linearly, as usual up to now.
2020-12-22 11:11:03 +01:00
dwarning c7e1b16cd7 correct include 2020-12-22 11:10:27 +01:00
Markus Mueller 6ff354c4a7 Squashed commit of the following:
commit 4939bc89934899c16dcd14e11839bedd3c289ee9
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Oct 25 22:04:16 2020 +0100

    added cppduals cleanly

commit 834cbc5aba9c1d5470a6f838161703a657d12810
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Oct 25 22:03:40 2020 +0100

    remove cppduals

commit 69b922cef2
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Oct 25 21:59:00 2020 +0100

    cppduals in new diretory

commit 4337cc0e33
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Oct 25 21:49:52 2020 +0100

    hicum license cleaning

commit ba439dfdf5
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Oct 17 13:19:05 2020 +0200

    moved sh stamp, working

commit 29028ff34d
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Oct 17 12:56:54 2020 +0200

    forgot something

commit 5743d2b551
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Oct 17 12:54:35 2020 +0200

    rth stamp moved (no yet working)

commit 42d61da3eb
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Oct 17 11:54:10 2020 +0200

    Hicum C/C++ code now under 3-clause BSD

commit 5088e869ea
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Oct 17 11:44:57 2020 +0200

    cleaned comments

commit 18fc66e71b
Author: dwarning <dwarning>
Date:   Sat Sep 12 19:48:11 2020 +0200

    rm some less useful comments - no code change

commit 861f286fda
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Sep 8 15:45:46 2020 +0200

    clean hicum2ask

commit a52274ba7d
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Sep 8 15:43:18 2020 +0200

    fix nqs transient

commit fa7f96b4af
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Sep 7 13:17:42 2020 +0200

    fix HICUM csu readin

commit 23183f10b6
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Aug 8 15:35:32 2020 +0200

    added it to Hicum states -> noise

commit 020fc70607
Author: dwarning <dwarning>
Date:   Tue Aug 4 09:18:05 2020 +0200

    change inst to here

commit 33d06d9732
Author: dwarning <dwarning>
Date:   Tue Aug 4 09:12:37 2020 +0200

    reintroduce iavl and correct ibici shot noise

commit 7251265231
Author: dwarning <dwarning>
Date:   Tue Aug 4 08:59:26 2020 +0200

    more reasonable plot scaling

commit 67919b9bd8
Author: dwarning <dwarning>
Date:   Tue Aug 4 08:56:04 2020 +0200

    yet another try for flicker noise scaling

commit 689177a55f
Author: dwarning <dwarning>
Date:   Mon Aug 3 10:41:44 2020 +0200

    correct multiplier scaling for rsu

commit 58b89af40a
Author: dwarning <dwarning>
Date:   Sun Aug 2 18:57:14 2020 +0200

    prevent division by 0 for rbi

commit a4e7eb5b6c
Author: dwarning <dwarning>
Date:   Sun Aug 2 18:25:51 2020 +0200

    fix instance multiplier application for noise

commit 36862a7bc6
Author: dwarning <dwarning>
Date:   Fri Jul 31 21:06:13 2020 +0200

    white spaces

commit 8a0504bb13
Author: dwarning <dwarning>
Date:   Fri Jul 31 18:32:45 2020 +0200

    add a transient analysis example

commit c1f0348697
Author: dwarning <dwarning>
Date:   Fri Jul 31 18:31:10 2020 +0200

    still problems in different terminal configurations

commit 26e026e4c8
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri Jul 31 14:36:34 2020 +0200

    fix stamp for Cth

commit dd84b1fcd3
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri Jul 31 14:22:16 2020 +0200

    fix bug in Cscp stamp

commit 1f13d2526f
Author: dwarning <dwarning>
Date:   Fri Jul 31 11:29:25 2020 +0200

    visualc mod - no impact to hicum

commit cff491feca
Author: dwarning <dwarning>
Date:   Fri Jul 31 10:59:52 2020 +0200

    wrong and twice assignment

commit 4a9dc52037
Author: dwarning <dwarning>
Date:   Fri Jul 31 10:00:20 2020 +0200

    twice assignment

commit c76bcc7cca
Author: dwarning <dwarning>
Date:   Thu Jul 30 12:36:30 2020 +0200

    delete base nodes from inner to outer

commit 4a472a3451
Author: dwarning <dwarning>
Date:   Mon Jul 27 15:34:15 2020 +0200

    correct the switch for Vbici limiting

commit f47bc449b3
Author: dwarning <dwarning>
Date:   Sun Jul 26 21:56:48 2020 +0200

    few parameter adaptions to version 2.40

commit 5901ec2902
Author: dwarning <dwarning>
Date:   Sun Jul 26 16:37:44 2020 +0200

    sign for CONSTCtoK must be +

commit 556171a905
Author: dwarning <dwarning>
Date:   Sun Jul 26 16:36:15 2020 +0200

    rbi is 0 if nodes are collapsed

commit 724887f32c
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jul 26 12:45:15 2020 +0200

    add ngspice Temperature clipping in HICUM

commit d735f445e5
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jul 26 12:13:39 2020 +0200

    removed rbi fallback, removed rth_de

commit 162b174acd
Author: dwarning <dwarning>
Date:   Sat Jul 25 12:31:05 2020 +0200

    add few small-signal parameter

commit 5afb2dc8c8
Author: dwarning <dwarning>
Date:   Fri Jul 24 16:49:11 2020 +0200

    reduce unnecassary inits

commit 0efc047f5f
Author: dwarning <dwarning>
Date:   Fri Jul 24 16:03:10 2020 +0200

    few typos and comments

commit 14a5cd873b
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri Jul 24 11:25:51 2020 +0200

    remove rbi stamps if nodes collapsed finish

commit f5461183f3
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri Jul 24 11:17:33 2020 +0200

    hicumL2 load -> remove stamp for rbi, if node BP BI collapsed

commit 00f51465e3
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri Jul 24 11:07:58 2020 +0200

    finish cleaning

commit 019ef4e07e
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri Jul 24 10:50:05 2020 +0200

    moving derivatives from _Tdev to _Vrth in a clean way (start)

commit 154036c09f
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Thu Jul 23 16:50:31 2020 +0200

    consistent derivative with Vrth/Tdev=> will rework this, I do not like
    this

commit 03c3efd762
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Thu Jul 23 16:22:46 2020 +0200

    finally: avalanche at very high T fix

commit 64704fd53e
Merge: a26b3ee2b f6db74ac5
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Thu Jul 23 15:56:29 2020 +0200

    Merge remote-tracking branch 'origin/markus_dev' into markus_dev

commit a26b3ee2b2
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Thu Jul 23 15:56:17 2020 +0200

    start bugfix

commit f6db74ac50
Author: dwarning <dwarning>
Date:   Tue Jul 21 18:56:32 2020 +0200

    rm obsolete files

commit 9854038f2c
Author: dwarning <dwarning>
Date:   Tue Jul 21 16:48:56 2020 +0200

    allow periphal resistors and rbi default 0

commit 34f579c08f
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jul 21 13:05:54 2020 +0200

    fix bug node collapsing BI BP

commit 6f5627f441
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jul 21 11:48:22 2020 +0200

    node collapsing BI BP HICUM

commit 187d391383
Author: dwarning <dwarning>
Date:   Tue Jul 21 09:58:59 2020 +0200

    few corrections and reordering

commit 0fc39a424e
Author: dwarning <dwarning>
Date:   Mon Jul 20 19:36:15 2020 +0200

    unify nqs flag for setup/unsetup

commit 8944ad2e32
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jul 18 14:23:30 2020 +0200

    iavl_Vbiei changed sign back ...

commit cc9682f9e5
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jul 18 14:05:12 2020 +0200

    HICUM limit for avalanche

commit 284583e0cc
Author: dwarning <dwarning>
Date:   Wed Jul 15 10:11:46 2020 +0200

    cleanup initial conditions to the traditional spice usage

commit c3cadb8de1
Author: dwarning <dwarning>
Date:   Wed Jul 15 08:57:03 2020 +0200

    rm unused files

commit 8bc687ddbe
Author: dwarning <dwarning>
Date:   Mon Jul 13 10:44:56 2020 +0200

    correct check6 init

commit 9250464ac1
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jul 12 14:00:46 2020 +0200

    fix bug in HICUM Qjci calculation, derivatives now more rigorous with
    dual numbers

commit 0fb86510aa
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jul 11 15:02:04 2020 +0200

    fix gmin in HICUM

commit 735339e288
Merge: fd5b7a648 1659190b2
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jul 11 14:45:08 2020 +0200

    Merge branch 'markus_dev' of https://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit fd5b7a6485
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jul 11 14:44:01 2020 +0200

    fix HICUM gmin

commit 1659190b21
Author: dwarning <dwarning>
Date:   Sat Jul 11 09:57:29 2020 +0200

    real node collapsing with slightly better results in qa test

    convergence problems in high current avalanche breakdown still exist

commit aaa94e5c10
Author: dwarning <dwarning>
Date:   Thu Jul 9 18:10:04 2020 +0200

    add hspice to qa

commit 6fe586cf9d
Author: dwarning <dwarning>
Date:   Thu Jul 9 17:26:28 2020 +0200

    relax convergence criteria for qa test

commit 127c2ca451
Author: dwarning <dwarning>
Date:   Thu Jul 9 14:02:48 2020 +0200

    correct loop stopping criteria

commit cfae080c1a
Author: dwarning <dwarning>
Date:   Wed Jul 8 18:02:13 2020 +0200

    examples now version 2.4.0

commit 7b099242da
Author: dwarning <dwarning>
Date:   Wed Jul 8 17:18:28 2020 +0200

    rm non qa file

commit 0c2ef2f7c4
Author: dwarning <dwarning>
Date:   Wed Jul 8 17:15:58 2020 +0200

    qa test is now version 2.4.0

commit e90939126d
Author: dwarning <dwarning>
Date:   Wed Jul 8 17:13:29 2020 +0200

    qa test is now version 2.4.0

commit 114aeee5c5
Author: dwarning <dwarning>
Date:   Wed Jul 8 17:12:05 2020 +0200

    now version 2.4.0

commit 0f33776513
Author: dwarning <dwarning>
Date:   Wed Jul 8 11:40:43 2020 +0200

    reactivate convergence check

commit 6f382c76d8
Author: dwarning <dwarning>
Date:   Wed Jul 8 11:02:30 2020 +0200

    rm old comments and artefacts

commit 5950a2fb03
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jul 8 09:51:03 2020 +0200

    example print for dual number

commit abab054352
Author: dwarning <dwarning>
Date:   Tue Jul 7 08:51:51 2020 +0200

    nqs must set after defaulting model parameters

commit 4c34e54c7b
Author: dwarning <dwarning>
Date:   Mon Jul 6 21:37:04 2020 +0200

    prevent false branch because of rounding error for flcomp

commit 4bb09b35c3
Author: dwarning <dwarning>
Date:   Sun Jul 5 22:16:28 2020 +0200

    clear separation between geometry and temperature scaling

commit 90ab76d876
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jul 5 18:14:08 2020 +0200

    fix comments in HICUM scaling

commit d7dd26880c
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jul 5 18:03:23 2020 +0200

    forgot some parameters that depend on "area" and T, but are needed as
    model variables in load

commit 320a66c0a4
Merge: d78032109 b09edc706
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jul 5 17:27:20 2020 +0200

    Merge branch 'markus_dev' of https://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit d78032109f
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jul 5 17:26:45 2020 +0200

    HICUM scaling with "area" and "m" parameters.

commit b09edc706a
Author: dwarning <dwarning>
Date:   Sun Jul 5 17:10:51 2020 +0200

    must fallthrough because icVbe is after icVce

commit dbd99a33a5
Author: dwarning <dwarning>
Date:   Sun Jul 5 09:59:09 2020 +0200

    some useful examples to show hicum2 capabilities

commit ba1c2de06e
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jul 4 20:21:38 2020 +0200

    added comment to IC vars

commit 6fce26437e
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jul 4 20:03:13 2020 +0200

    remove hicum inital conditions that are not spice-like

commit aa283f40ef
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jul 4 19:55:58 2020 +0200

    added HICUM pole zero analysis

commit 2165afdf27
Author: dwarning <dwarning>
Date:   Fri Jul 3 17:39:03 2020 +0200

    another cut&paste error and typo

commit 8b680b0c28
Author: dwarning <dwarning>
Date:   Fri Jul 3 17:28:40 2020 +0200

    another cut&paste error

commit f1698c7a81
Author: dwarning <dwarning>
Date:   Fri Jul 3 15:42:37 2020 +0200

    add shot noise sources for it and ibiei

commit 966891d5f7
Author: dwarning <dwarning>
Date:   Fri Jul 3 14:39:31 2020 +0200

    correct multiplier for flicker noise and base-emitter source connection

commit 80e932424f
Author: dwarning <dwarning>
Date:   Fri Jul 3 14:27:52 2020 +0200

    cut&paste error

commit 61ee68c782
Author: dwarning <dwarning>
Date:   Thu Jul 2 21:05:58 2020 +0200

    few corrections in noise model

commit ad16be59ba
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jul 1 14:44:13 2020 +0200

    reorder code

commit e81b41c653
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jul 1 14:33:12 2020 +0200

    fix bugs HICHUM acload

commit 1d5f88e93d
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 28 11:51:10 2020 +0200

    fix bugs

commit bbb729ae8f
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 28 11:03:48 2020 +0200

    intermediate state

commit a95aade55a
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 27 20:16:37 2020 +0200

    fix derivative in NQS network

commit a54c52221c
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 27 20:05:58 2020 +0200

    small fixes HICUM

commit 7407302d50
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 27 17:48:23 2020 +0200

    fix bug in HICUMacload

commit bb03c8f663
Merge: 1fa789874 e7d143e04
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 24 13:17:15 2020 +0200

    Merge branch 'markus_dev' of https://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit 1fa7898747
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 24 13:16:20 2020 +0200

    remove nqs from limit function and gmin

commit e7d143e044
Author: dwarning <dwarning>
Date:   Tue Jun 23 18:22:40 2020 +0200

    tk is not an alias parameter name

commit 75e3a4da64
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jun 23 16:24:59 2020 +0200

    protect nqs network

commit 1c36e997ba
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jun 23 15:44:46 2020 +0200

    nqs in ac

commit 524abe95f3
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jun 23 15:21:27 2020 +0200

    NQS in acload

commit 0833f955ef
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jun 23 14:47:35 2020 +0200

    move cross-coupled charges from state vector to here struct

commit 03b4a87477
Author: dwarning <dwarning>
Date:   Mon Jun 22 11:52:42 2020 +0200

    prevent crash if tnode is given but she parameter not

commit 9ab20e2f35
Author: dwarning <dwarning>
Date:   Mon Jun 22 11:51:47 2020 +0200

    alias for tnom

commit 3140bedc3f
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 21 21:50:39 2020 +0200

    fix nqs

commit 8dfd2e5a4d
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 20 18:41:35 2020 +0200

    fix HICUM setup

commit f6e4bba9e3
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 20 18:40:04 2020 +0200

    finish NQS for DC case

commit 21862cbdb9
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 20 17:55:01 2020 +0200

    first test ok ... modify state vector now

commit 1c5773292e
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 20 17:45:57 2020 +0200

    first implementation of NQS, not tested

commit 4fd24db766
Author: dwarning <dwarning>
Date:   Fri Jun 19 22:12:49 2020 +0200

    external temp node has number 5

commit 8fb3f2ce9a
Merge: b7e4c39d8 5f4085d4a
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri Jun 19 19:05:31 2020 +0200

    Merge remote-tracking branch 'origin/markus_dev' into markus_dev

commit b7e4c39d80
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri Jun 19 19:03:46 2020 +0200

    fix unset t node HICUM

commit 5f4085d4a8
Author: dwarning <dwarning>
Date:   Wed Jun 17 20:34:02 2020 +0200

    unify self-heating switch

commit c927c32541
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 17 18:41:15 2020 +0200

    qaSpec with ads run

commit d05eaa744e
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 17 17:38:50 2020 +0200

    added derivatives for NQS network

commit 88cf4bb925
Author: dwarning <dwarning>
Date:   Wed Jun 17 13:24:03 2020 +0200

    allow SHE also without external temperature node

    prevent crash with rth=0

commit 7161253342
Merge: a46cb231a e2bb25b12
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jun 16 17:33:41 2020 +0200

    Merge branch 'markus_dev' of https://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit a46cb231a0
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jun 16 17:32:20 2020 +0200

    tmp node to gnd in HICUM if no SH

commit e2bb25b125
Author: dwarning <dwarning>
Date:   Mon Jun 15 08:54:50 2020 +0200

    qaSpec guess for ads

commit bbde282b51
Author: dwarning <dwarning>
Date:   Mon Jun 15 08:33:17 2020 +0200

    typo 1D

commit 4e6deec579
Merge: 5da1d7031 6fbbeb06d
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 14 19:58:33 2020 +0200

    Merge branch 'markus_dev' of https://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit 5da1d7031c
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 14 19:57:56 2020 +0200

    HICUMload transient part first review, small fixes

commit 96af16e673
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 14 18:53:49 2020 +0200

    gmin fix

commit 6fbbeb06d9
Author: dwarning <dwarning>
Date:   Sun Jun 14 11:05:12 2020 +0200

    complete device node request for temp node

commit eae118787e
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 13 21:52:32 2020 +0200

    fix hicumACload singular matrix bug

commit 2a1f47e1e5
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 13 20:29:04 2020 +0200

    cleaned

commit 7e5fdae917
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 13 20:19:51 2020 +0200

    refactor gmin in HICUM

commit 7aadd9af4a
Merge: f55f613c2 595e46447
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 13 19:32:02 2020 +0200

    Merge branch 'markus_dev' of https://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit f55f613c24
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat Jun 13 19:31:39 2020 +0200

    added dual numbers include in ngspice/include

commit 595e464479
Author: dwarning <dwarning>
Date:   Fri Jun 12 19:13:26 2020 +0200

    introduce version parameter to prevent warnings in qa test

commit 147bf5eb4a
Author: dwarning <dwarning>
Date:   Fri Jun 12 17:16:48 2020 +0200

    use standard include path configuration for external cppduals

commit 7a41174b5e
Author: dwarning <dwarning>
Date:   Thu Jun 11 18:22:42 2020 +0200

    add ads for qa test

commit 3942fc48ce
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Thu Jun 11 17:40:13 2020 +0200

    added charges for SHE in HICUMacload

commit 12fa8a8cf7
Author: dwarning <dwarning>
Date:   Thu Jun 11 15:34:06 2020 +0200

    resolve confusing naming of instance parameter structure

commit 7578aec2a8
Author: dwarning <dwarning>
Date:   Thu Jun 11 15:29:40 2020 +0200

    introduce version parameter to prevent warnings in qa test

commit b401428cdd
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 10 18:17:44 2020 +0200

    minor cleaning

commit 5d28b97fb5
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 7 16:46:21 2020 +0200

    added SHE stamps for DC currents in HICUMacload

commit 9737dc7a5b
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 7 16:36:36 2020 +0200

    HICUM acload initial review

commit 6eefe34d56
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 7 13:58:24 2020 +0200

    add real part of AC matrix

commit 55e14e62e7
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 7 13:20:12 2020 +0200

    dirty fix iavl

commit 99a21e9f61
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun Jun 7 12:15:39 2020 +0200

    some minor modificaitons, avalanche current problems

commit 99f8c9a9ed
Merge: 17898981c 6b9f5647c
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri Jun 5 10:27:08 2020 +0200

    Merge branch 'markus_dev' of https://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit 17898981cd
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri Jun 5 10:20:21 2020 +0200

    minor cleaning, fix derivative iavl

commit 6b9f5647ca
Author: dwarning <dwarning>
Date:   Thu Jun 4 18:23:10 2020 +0200

    first version for cmc qa check

commit 3f11d38774
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Thu Jun 4 16:37:09 2020 +0200

    implemented experimental rth direct evaluation

commit 40900da8bf
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Thu Jun 4 14:45:12 2020 +0200

    small correction

commit 7f1493bddb
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 3 19:25:35 2020 +0200

    minor changes, cleaning

commit 55367a44a5
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 3 19:05:39 2020 +0200

    completed all del voltages

commit d32ff77aef
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 3 18:23:19 2020 +0200

    renaming variables for cleaner code

commit e4b4978368
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 3 18:17:49 2020 +0200

    adding derivatives of branches with respect to Vrth to the state vector

commit a6b39a749c
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 3 17:29:37 2020 +0200

    correct Temperature update

commit 55c33ad675
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Jun 3 17:21:31 2020 +0200

    before changing Temp in load

commit 7f7b31e5c0
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jun 2 20:01:07 2020 +0200

    fixing small bugs

commit 7555278074
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jun 2 19:39:48 2020 +0200

    fixed some stamps

commit 0d59e12518
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Jun 2 19:13:50 2020 +0200

    fixed avalanche

commit ee25c6ce42
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Jun 1 20:07:25 2020 +0200

    cleaned up

commit d61b510207
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Jun 1 19:18:45 2020 +0200

    hicumL2 load routine seems to be working, next ac?

commit 29a61f21e2
Merge: c94120cbf dcf4a4487
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Jun 1 14:32:39 2020 +0200

    Merge branch 'markus_dev' of https://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit c94120cbf9
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Jun 1 14:30:40 2020 +0200

    first hicum convergence with SH

commit dcf4a44871
Merge: c37a88bec c1444a06b
Author: dwarning <dwarning>
Date:   Mon Jun 1 10:57:42 2020 +0200

    Merge branch 'markus_dev' of ssh://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit c37a88bec8
Author: dwarning <dwarning>
Date:   Mon Jun 1 10:56:53 2020 +0200

    set the cppduals include folder above ngspice dir

commit c1444a06b6
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun May 31 20:38:16 2020 +0200

    finish hicum SH review, next testing.

commit e3c194e050
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun May 31 20:26:41 2020 +0200

    fixed some stamps, improved code readability, temp stamps corrected

commit 59c50d5095
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat May 30 20:37:28 2020 +0200

    fixed rbi stamp, convergence looks pretty good DC no SH

commit f7012280e6
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sat May 30 17:12:37 2020 +0200

    fix rbi convergence

commit 326b29c4d8
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri May 29 16:54:30 2020 +0200

    started work on self heating

commit 4994feaa2b
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Fri May 29 16:08:18 2020 +0200

    corrected rbi stamp...

commit 460e7ec04b
Author: mariok <mario.krattenmacher@web.de>
Date:   Wed May 20 11:22:01 2020 +0200

    more thermal stuff implemented

commit 194331867e
Author: mariok <mario.krattenmacher@web.de>
Date:   Tue May 19 16:24:34 2020 +0200

    added HICUMtempCollPtr HICUMtempBasePtr HICUMtempEmitPtr

commit 697af41531
Author: dwarning <dwarning>
Date:   Tue May 19 08:03:35 2020 +0200

    exchange hicum2temp file in VS project

commit 03750cd24e
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun May 17 20:20:00 2020 +0200

    ziwschenstand, checked code for maths errors

commit 418966c6e5
Author: mariok <mario.krattenmacher@web.de>
Date:   Wed May 13 10:25:49 2020 +0200

    can not call a function inside a comparision

commit abecd18651
Author: mariok <mario.krattenmacher@web.de>
Date:   Wed May 13 10:09:11 2020 +0200

    removed all buggs from hicumL2 to debug.

commit 1fe3cc8b12
Merge: afdffacd4 58f66c1d4
Author: mariok <mario.krattenmacher@web.de>
Date:   Wed May 13 07:30:56 2020 +0200

    Merge remote-tracking branch 'origin/markus_dev' into hicum2-mario

commit afdffacd4b
Author: mariok <mario.krattenmacher@web.de>
Date:   Tue May 12 19:59:09 2020 +0200

    ac und pz load

commit 890ccc415f
Author: mariok <mario.krattenmacher@web.de>
Date:   Tue May 12 19:55:23 2020 +0200

    implemented hicum_diode as example

commit 63bf7113d4
Author: mariok <mario.krattenmacher@web.de>
Date:   Tue May 12 18:33:51 2020 +0200

    all temperature scaling equations done using dual numbers

commit 96c66dd645
Author: mariok <mario.krattenmacher@web.de>
Date:   Tue May 12 17:14:17 2020 +0200

    started dual numbers in hicum2temp and a transfer struct in hicum2defs

commit 58f66c1d46
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue May 12 12:28:50 2020 +0200

    fix Vbe initialization

commit 35deffa742
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue May 12 12:25:48 2020 +0200

    cleaned further

commit 304dd91f58
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue May 12 12:15:52 2020 +0200

    cleaned up, small fixes, include Tf

commit 1d7da49e27
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue May 12 09:37:39 2020 +0200

    fixed bugs

commit 479c2a19ea
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon May 11 15:50:01 2020 +0200

    forgot Nan catcher

commit 5bbe0f9cf7
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon May 11 15:48:03 2020 +0200

    bugfix Q_p calculation

commit 67857cf983
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon May 11 15:42:27 2020 +0200

    fixed derivatives and itf for case without newton iteration

commit d6ee2c206e
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon May 11 14:08:18 2020 +0200

    resolved some un-initialized variables

commit 76ed5cb36a
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun May 10 20:48:38 2020 +0200

    finished clean

commit ba6e6d5e49
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun May 10 18:48:24 2020 +0200

    added all remaining hicum l2 elements

commit 36244b809a
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Sun May 10 17:45:27 2020 +0200

    resolved Dietmar comments from email

commit eaa5be9716
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue May 5 16:38:08 2020 +0200

    added base emitter recombination current and derivatives

commit 4318b7165b
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue May 5 14:30:15 2020 +0200

    added initial conditions for all nodes, model converging again for
    simple modelcard

commit 3008c526bf
Author: mariok <mario.krattenmacher@web.de>
Date:   Mon May 4 19:00:31 2020 +0200

    removed QpT and testing only 1 OP

commit 9cb4c1546f
Author: mariok <mario.krattenmacher@web.de>
Date:   Mon May 4 18:37:52 2020 +0200

    icVBE and icVCE used for DC

commit 8a73697675
Author: mariok <mario.krattenmacher@web.de>
Date:   Mon May 4 18:03:46 2020 +0200

    fixed dual number Q_0_hjei_vbe

commit 5783938b08
Author: mariok <mario.krattenmacher@web.de>
Date:   Mon May 4 16:30:41 2020 +0200

    reintroduced dtemp as instance parameter

commit 9350f3f3be
Author: dwarning <dwarning>
Date:   Sun May 3 17:25:12 2020 +0200

    Revert some namings

commit 197f6db83b
Author: dwarning <dwarning>
Date:   Sat May 2 23:18:58 2020 +0200

    Adapt VS project to C++

commit af32f79641
Author: dwarning <dwarning>
Date:   Sat May 2 23:18:43 2020 +0200

    Skip NQS effekt and revert some namings

commit a995aa0cce
Author: dwarning <dwarning>
Date:   Sat May 2 23:18:27 2020 +0200

    Skip NQS effekt

commit d7295cbe78
Merge: 2502b57ee 6ca440e58
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Apr 29 19:04:32 2020 +0200

    Merge branch 'markus_dev' of https://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit 2502b57eee
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Wed Apr 29 19:03:26 2020 +0200

    added quests, derivative vciei changed to vbiei vbici

commit 6ca440e584
Author: dwarning <dwarning>
Date:   Wed Apr 29 09:35:12 2020 +0200

    add hicumL2.cpp instead of hicum2load.c in VS project

commit 6e98506a7f
Author: dwarning <dwarning>
Date:   Wed Apr 29 09:33:08 2020 +0200

    cmath seems not to have M_PI

commit d6332815b3
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Apr 28 20:58:35 2020 +0200

    derivatives it looking good

commit aaaace7247
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Apr 28 19:39:48 2020 +0200

    adding hicum derivatives like a mad-man

commit 2d8a3e3629
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Apr 28 18:44:46 2020 +0200

    added Q_pT and derivatives...fun

commit 50a3e372cf
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Apr 28 17:17:17 2020 +0200

    starting work on transfer current

commit 8fd70e2f15
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Tue Apr 28 13:01:18 2020 +0200

    added asks, found bug with ibci

commit 2baac89ae3
Merge: 97a0aa856 c897e60c8
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 27 20:47:06 2020 +0200

    Merge remote-tracking branch 'origin/hicum2-thermal' into markus_dev

commit c897e60c8b
Author: mariok <mario.krattenmacher@web.de>
Date:   Mon Apr 27 18:12:40 2020 +0200

    pointer in ask

commit 3b0551c544
Author: mariok <mario.krattenmacher@web.de>
Date:   Mon Apr 27 17:36:19 2020 +0200

    two small bugfixes

commit b02c763ed1
Author: mariok <mario.krattenmacher@web.de>
Date:   Mon Apr 27 17:13:30 2020 +0200

    HICUM2ask done according to VA-Code

commit 97a0aa856b
Merge: afbde8050 d86caadb0
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 27 16:22:32 2020 +0200

    Merge remote-tracking branch 'origin/hicum2-thermal' into markus_dev

commit afbde80500
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 27 16:21:25 2020 +0200

    zwischenstand

commit d86caadb07
Author: mariok <mario.krattenmacher@web.de>
Date:   Thu Apr 23 18:23:40 2020 +0200

    added nodes for NQS

commit 1b0cf0d08c
Author: mariok <mario.krattenmacher@web.de>
Date:   Thu Apr 23 16:59:55 2020 +0200

    testing with and without self heating

commit 64c0c41180
Merge: 9da946bf2 0d0c6a080
Author: mariok <mario.krattenmacher@web.de>
Date:   Thu Apr 23 16:29:18 2020 +0200

    Merge branch 'markus_dev' into hicum2-thermal

commit 0d0c6a0800
Author: mariok <mario.krattenmacher@web.de>
Date:   Thu Apr 23 16:26:37 2020 +0200

    assigned the temperature derivates to me

commit 1b00fad771
Merge: f5a1c35d8 dc7891f7b
Author: mariok <mario.krattenmacher@web.de>
Date:   Thu Apr 23 14:16:32 2020 +0200

    Merge branch 'markus_dev' of ssh://git.code.sf.net/p/ngspice/ngspice into markus_dev

commit f5a1c35d80
Author: mariok <mario.krattenmacher@web.de>
Date:   Thu Apr 23 14:14:40 2020 +0200

    removed dummdumm

commit dc7891f7b5
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 19:16:36 2020 +0200

    added more junction caps, checklist and overview

commit 0dbf31bc73
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 19:00:16 2020 +0200

    derivatives rbi

commit 330d009fa6
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 18:40:24 2020 +0200

    more derivatives avalanche current, ibcis

commit ce200d75e3
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 18:05:49 2020 +0200

    derivatives peripheral junction caps, diodes

commit 8ce9733f91
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 17:45:42 2020 +0200

    derivatives tunneling current

commit 806ff80138
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 17:17:14 2020 +0200

    derivatives critical current

commit 8f49490cec
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 16:59:09 2020 +0200

    derivatives T_f0

commit 3164dbe594
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 16:38:34 2020 +0200

    derivatives hole charge at low bias

commit b32bf6dd14
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 16:27:38 2020 +0200

    zwischenstand

commit 84307c4acf
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 16:19:25 2020 +0200

    zwischenstand

commit 0d94c5d56d
Author: mariok <mario.krattenmacher@web.de>
Date:   Mon Apr 20 10:56:58 2020 +0200

    moved cppduals to system lib include

commit 9da946bf2d
Author: mariok <mario.krattenmacher@web.de>
Date:   Mon Apr 20 09:59:49 2020 +0200

    started derivatives of hicum2 minority charge

commit a2946e98a4
Author: Markus Mueller <metroid120@googlemail.com>
Date:   Mon Apr 20 09:56:06 2020 +0200

    introduced dual numbers, ported hiucm2load to c++ hicumL2.cpp, boolean
    type protected by extern "C"

commit c7e5df27db
Author: mariok <mario.krattenmacher@web.de>
Date:   Thu Apr 16 14:44:41 2020 +0200

    DC runs with Ixf

commit 08a0e6a019
Author: mariok <mario.krattenmacher@web.de>
Date:   Wed Apr 15 18:15:26 2020 +0200

    gummel works with flsh = 1 and flnqs = 0

commit b83e05ee95
Author: mariok <mario.krattenmacher@web.de>
Date:   Tue Apr 14 16:09:42 2020 +0200

    added test to makefile

commit 7d29a9a269
Author: mariok <mario.krattenmacher@web.de>
Date:   Tue Apr 14 10:06:27 2020 +0200

    test circuit and results

commit 14c46bc3bd
Author: mariok <mario.krattenmacher@web.de>
Date:   Mon Apr 13 18:12:06 2020 +0200

    cleaned renaming in all files

commit 67ddd98f75
Author: dwarning <dwarning>
Date:   Wed Jan 29 13:08:02 2020 +0100

    rename

commit 9551b6df92
Author: dwarning <dwarning>
Date:   Wed Jan 29 13:07:42 2020 +0100

    rename

commit 12bb866ba5
Author: dwarning <dwarning>
Date:   Wed Jan 29 13:06:45 2020 +0100

    rename

commit 414eeb4067
Author: dwarning <dwarning>
Date:   Tue Jan 28 22:18:08 2020 +0100

    clarify charge and capacitance implementation

commit c318ef15ee
Author: dwarning <dwarning>
Date:   Sat Jan 25 14:57:55 2020 +0100

    introduce first excess phase network and update to 2.4.0

commit 85c34cfb0f
Author: dwarning <dwarning>
Date:   Wed Jan 22 18:16:54 2020 +0100

    VS update

commit 86ff2778f8
Author: dwarning <dwarning>
Date:   Wed Jan 22 18:16:29 2020 +0100

    OP infos

commit 1607f4d88c
Author: dwarning <dwarning>
Date:   Wed Jan 22 18:16:19 2020 +0100

    OP infos

commit ca1e114922
Author: dwarning <dwarning>
Date:   Wed Jan 22 18:16:11 2020 +0100

    OP infos

commit 408440d33b
Author: dwarning <dwarning>
Date:   Tue Jan 21 11:25:56 2020 +0100

    some cleanings

commit 3364f6da87
Author: dwarning <dwarning>
Date:   Tue Jan 14 09:55:58 2020 +0100

    VS update

commit 6fbefe4afa
Author: dwarning <dwarning>
Date:   Tue Jan 14 09:55:48 2020 +0100

    Ongoing derivations

commit 86521dd7c0
Author: dwarning <dwarning>
Date:   Tue Jan 14 09:02:52 2020 +0100

    VS update

commit ba5b106fae
Author: dwarning <dwarning>
Date:   Tue Jan 14 09:01:30 2020 +0100

    Ongoing derivations

commit ea6254eca3
Author: dwarning <dwarning>
Date:   Sat Jan 11 17:17:21 2020 +0100

    Initial HICUM2 integration

commit 2bd0f1bdab
Author: dwarning <dwarning>
Date:   Mon Jan 6 00:11:48 2020 +0100

    Initial HICUM2 integration

commit 7d160f659e
Author: dwarning <dwarning>
Date:   Sun Jan 5 15:01:20 2020 +0100

    Initial HICUM2 integration

commit 420ca90e55
Author: dwarning <dwarning>
Date:   Sun Jan 5 15:00:06 2020 +0100

    Initial HICUM2 integration
2020-12-22 11:10:10 +01:00
Holger Vogt d06ff2abab New variable 'plainwrite' added. Allows 'write' with node names
containing characters like + - /. Function are the disabled.
This replaces the automatic selection of this mode by compat flags,
which is not transparent enough to the user.
2020-12-22 11:09:40 +01:00
Holger Vogt 36e2a9af4d Add variable 'plainplot' to allow plotting without
function support, but with node names incl chatacters like + - /.
Flag to command 'plot' is renamed to plainplot.
Error message added if vector not found.
Example file added.
2020-12-22 11:09:27 +01:00
Holger Vogt b76ac6be1c Add writing all vectors if compat mode eg or ki is selected. 2020-12-22 11:09:09 +01:00
Holger Vogt f0090508b0 If new parameter 'plain' is added to the 'plot' command,
all expression handling is skipped, vectors are plotting as is.
This allows nodes names with vectors like v(+vs) or /out
to be plotted without need resorting to double quotes.
2020-12-22 11:08:57 +01:00
Holger Vogt 84d3d8c143 Don't add v(...) around output vector if compat mode 'eg' is set. 2020-12-22 11:08:22 +01:00
Holger Vogt c90230b43f If the compatibility flags ki or eg are set, the 'write' command
will not use function parsing and evaluation, but simply plot
the listed vectors. vec1 vs vec2 is also not supported.
This option is useful if node names vs+ or /mynode are used and
have to be written into a raw file, as may be used by KiCad or EAGLE.
2020-12-22 11:08:03 +01:00
Holger Vogt 5eaf7c27c1 typo 2020-12-22 11:07:50 +01:00
Holger Vogt 19a688513c add compatibility mode eg for EAGLE
clarify mode a for 'whole netlist' and ll for 'all'
2020-12-22 11:07:31 +01:00
Holger Vogt dd86bdee46 Enlarge the buffer size for command 'listing' from 512 to 4096 bytes. 2020-12-22 11:07:14 +01:00
Holger Vogt 3e98cecd56 enable paths with spaces for finding 'spinit' 2020-12-22 11:07:02 +01:00
dwarning d0eaaad200 more reasonable message for temperature limiting case 2020-12-22 11:06:27 +01:00
Holger Vogt f10676a8aa re-enable tran TSTART, which got lost in Commit [da7172] when UIC is set 2020-12-22 11:06:16 +01:00
Holger Vogt c67da190ef If function 'db' is evaluated, set
v_type to SV_DB.
2020-12-22 11:05:33 +01:00
Holger Vogt 97db844944 Prevent raw file entries (by the 'write' command) like
6	i(i(v_vsupply2))	current
2020-12-22 11:05:21 +01:00
Holger Vogt f49922c1f1 If a new vector is created by the functions cph or ph,
its type should be 'phase', not voltage. Thus prevent
raw file entries (created by the 'write' command like
	4	v(cph(vout2))	voltage
2020-12-22 11:05:10 +01:00
dwarning f88f3833da more reasonable rthcj default value 2020-12-22 11:04:42 +01:00
dwarning f12dfc6e7b prevent garbage output of X11 plotting function 2020-12-22 11:04:24 +01:00
dwarning f2139c0a78 rm unused variables and assignments 2020-12-22 11:04:07 +01:00
dwarning eb4c0ac4c5 VBIC separate and correct cth entry and rm unused variables 2020-12-22 11:03:54 +01:00
Holger Vogt 7360d8aa66 Fix a typo 2020-12-22 11:03:44 +01:00
dwarning 225f391de1 VBIC correct power calculation in ask routine 2020-12-22 11:03:35 +01:00
Holger Vogt 4796face12 Make message more verbose by printing the scale value 2020-12-22 11:03:22 +01:00
dwarning e1a428e002 VDMOS parameter default fixing and node collapsing for body diode series resistance 2020-12-22 11:03:11 +01:00
Holger Vogt 371ad3496c Add icons to the distribution 2020-10-18 11:35:22 +02:00
Holger Vogt 798d2b2db1 add type conversion to int 2020-10-16 18:36:23 +02:00
Holger Vogt a95700799d install the callback function 2020-10-16 18:15:05 +02:00
Holger Vogt 28861739f8 allow writing character '%' 2020-10-16 18:12:31 +02:00
dwarning 75228612c0 few fixes for prototypes 2020-10-15 18:25:25 +02:00
dwarning ac4aa9dd8f VSRC - requested power should comply with passive convention bug #517 2020-10-15 17:48:31 +02:00
Holger Vogt af99beb6a2 Allow simple copying from start time to end time 2020-10-15 17:45:08 +02:00
Holger Vogt 013c74918f Command 'cutout': Don't add the scale vector to nv->v_scale.
So the new plot with its vectors copied resembles the old plot.
2020-10-15 17:44:30 +02:00
Holger Vogt a836f81d62 This is a quick fix to the Windows printing function.
Tested with pdf and a color laser printer.
Still some bugs: the grid needs to be fixed.
2020-10-15 17:41:58 +02:00
Holger Vogt d14e53b0dd Prepare ngspice-33 2020-10-11 22:30:57 +02:00
Holger Vogt 51df9aaa55 remove non ascii character §, which leads to compiler warnings 2020-10-11 21:12:29 +02:00
dwarning d3f0a53a81 VDMOS missing entry for shomod AF and KF - bug #515 2020-10-10 14:04:46 +02:00
dwarning 099e2c13eb VDMOS handle thermal as a flag 2020-10-10 14:04:06 +02:00
dwarning cbe02d9265 VDMOS allow series resistance = 0 Ohm by using node collapsing 2020-10-10 14:03:54 +02:00
dwarning f2e902b2bb VDMOS few model parameter default corrections 2020-10-10 14:03:41 +02:00
dwarning 280bea9d50 restructering thermal update by unified function
introduce diode series resistor thermal contribution

separate naming of mos and diode model parameter
2020-10-10 14:03:26 +02:00
dwarning 89cceb1560 BJT, alias NK for NKF beta rolloff parameter 2020-10-10 13:55:40 +02:00
Holger Vogt 16b225705f Add a check for 'windres' to configure.ac,
if Windows GUI or Console
2020-10-10 13:55:32 +02:00
Holger Vogt ef7f43a060 Move compiling the ICON from compile_mingw.sh to makefile.am
fixes bug no. #516
2020-10-10 13:55:11 +02:00
dwarning 43f10237b5 BJT unsetup delete coll nodes from inner to outer 2020-10-10 13:54:47 +02:00