Commit Graph

6867 Commits

Author SHA1 Message Date
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
Holger Vogt 4d062ecc92 fix a bug in the derivative 2020-10-10 13:54:39 +02:00
Holger Vogt 1f6c4d6338 Add a new code model pswitch, behaviour directly compatible
to PSPICE (rounded corner at cntl_on)
2020-10-10 13:53:47 +02:00
Holger Vogt fdc143ce16 Add a limit capability to the code model aswitch
Example switch-oscillators_inc.cir showed currents up to 3GA
2020-10-10 13:53:36 +02:00
Holger Vogt 4bcacb310d enable XSPICE %vnam in subcircuits.
The token following after %vnam has to be
tranlated as an instance during subcircuit expansion.
2020-10-10 13:53:10 +02:00
Holger Vogt 14ef4e74ec Add PSPICE compatible ISWITCH
Translates iswitch either to csw or to aswitch models
2020-10-10 13:53:02 +02:00
Holger Vogt 51cfedc054 Improved error message (name the device instance)
when ac simulation and current or power are requested
2020-10-10 13:52:43 +02:00
Holger Vogt 644d8d0a3f Error message where to find the missing parameter
(only if 'set ngdebug' is given).
2020-10-10 13:52:32 +02:00
Holger Vogt aa25ec7f7c Improve on commit d6aa22e5 from 09.09.2020
Warning message only when 'set ngdebug' and instance or model line vectors read in do not have enclosing parens.
Both vectors with or without enclosing parens are allowed.
2020-10-10 13:52:12 +02:00
dwarning b31a65afb9 BSIM4 change wnflag parameter to integer 2020-10-10 13:51:41 +02:00
dwarning 32b161854d BSIM4 add wnflag to latest bsim4 version 2020-10-10 13:51:27 +02:00
dwarning 5f7f54d961 cleaning prototypes 2020-10-10 12:30:40 +02:00
dwarning 5d999be998 rm redundant redeclaration 2020-10-10 12:30:22 +02:00
dwarning bdd1e2faf6 better place for prototype 2020-10-10 12:23:10 +02:00
dwarning 31a054f244 prevent few gcc warnings 2020-10-10 12:22:57 +02:00
Holger Vogt a3380903be Fix a bug in the comment of the file headers 2020-10-10 12:22:43 +02:00
Holger Vogt 1bcfe886f3 GPL instead of BSD 2020-10-10 12:22:27 +02:00
Holger Vogt 468769df16 Update on various licences for XSPICE code models 2020-10-10 12:22:12 +02:00
Holger Vogt 2335639848 License 3-clause BSD
Update to license information
2020-10-10 12:22:01 +02:00
Holger Vogt df0ffcfc2b XSPICE is Public Domain
Update to license info
2020-10-10 12:21:35 +02:00
Holger Vogt cc5369816b XSPICE is in the public domain.
Update to the license information.
2020-10-10 12:21:22 +02:00
Holger Vogt 617ed01a5b licensi info:
Public Domain

Georgia Tech Research Corporation
Atlanta, Georgia 30332
PROJECT A-8503
2020-10-10 12:21:10 +02:00
Holger Vogt a066c43378 Add wnflag as an instance parameter. 2020-10-10 12:20:47 +02:00
Holger Vogt b1dc7f77d1 Add .options wnflag = 0|1 to unselect|select
nf as a divisor for w/nf while model binning.
Enable reading wnflag from the instance line.
2020-10-10 12:20:27 +02:00
Holger Vogt 3a3b7d3cde Use W/nf for selecting binning model,
if compat mode Spectre is set by
set ngbehavior=spe
in .spiceinit
2020-10-10 12:20:11 +02:00
Holger Vogt 2f1d3df8c7 add a Spectre compatibility mode 2020-10-10 12:19:49 +02:00
Holger Vogt 990d87bf1c replace gettok by gettok_node to ignore parentheses when reading
a .model line in the altermod ... file ... command.
2020-10-10 12:19:32 +02:00
Holger Vogt 110a853ce5 Fix a bug when reading a list of type ( 2 4 6 ): If ')' was not
the last token, an error message was generated.
2020-10-10 12:19:23 +02:00
Holger Vogt 64e5e13c4e Bug no. #512: Set a breakpoint at delay time td to safely
catch the starting time point of the random numbers
2020-10-10 12:19:04 +02:00
dwarning 2b33ef8c58 VDMOS fix bypass label in diode section 2020-10-10 12:18:46 +02:00
dwarning 1ae131551b truncation error calculation for body diode charge 2020-10-10 12:18:23 +02:00
dwarning 56b8da7be6 white spaces 2020-10-10 12:18:07 +02:00
dwarning 797042e7e7 include power dissipation of drain resistance 2020-10-10 12:17:03 +02:00
dwarning 04a1a74c2e limit deltemp maximum stepsize 2020-10-10 12:16:34 +02:00
dwarning 3f4b24be89 VDMOS change name of some matrix entries to make life easier 2020-10-10 12:16:04 +02:00
dwarning 17497eddec VDMOS change thermal left and rigth side signs that mos and diode part follow same logic 2020-10-10 12:15:51 +02:00
dwarning 689d561c9e unify temperature limit routine for usage in self-heating model 2020-10-10 12:15:37 +02:00
dwarning 04656c4596 rearrange and white spaces 2020-10-10 12:15:14 +02:00
dwarning 7f5f8ac69f correct peripheral resistor current temperature dependency 2020-10-10 12:15:02 +02:00
dwarning 8a7fce8676 BJT prevent crash in qs model for insane parameter entry 2020-10-10 12:14:50 +02:00
dwarning c8fa54ce1c BJT Kull Quasi-Saturation model 2020-10-10 12:14:37 +02:00
dwarning d00fbd0c51 workaround for bug #511 to prevent copy model parameter M to device multiplier 2020-10-10 12:13:55 +02:00
dwarning aab54e8a55 add alternative temperature model for certain jfet parameter 2020-10-10 12:13:19 +02:00
Holger Vogt b0a790a463 proper size_t to int conversion 2020-10-10 12:12:59 +02:00
Holger Vogt 8ea8ddcc03 simplify the previous commit, single step warp if multibyte utf-8 character 2020-10-10 12:12:37 +02:00
Holger Vogt f911758e4b X11: re-enable writing text to a graph if libxft is used 2020-10-10 12:12:21 +02:00
Holger Vogt 445c6f2d32 fix a bug that occurs when xspice is not selected
missing function parameter has been introduced in previous commit
2020-10-10 12:11:41 +02:00
Holger Vogt 602baf68e6 spice2g6 allows to omit the poly(n) statement, if the
polynomial is one-dimensional (n==1).
For compatibility with the XSPIXE code, we have to add
poly(1) appropriately.
2020-10-10 12:11:14 +02:00
Holger Vogt 60dfe836f4 If ps is enabled, .dc TEMP -15 75 5 will have been
modified to .dc (TEMPER) -15 75 5.
So we repair it here with a preliminary fix.
2020-10-10 12:10:43 +02:00
Holger Vogt 1698004078 The tests of cmaths function will be done only on request,
with configure flag --enable-cmathtests
2020-10-10 12:09:52 +02:00
Holger Vogt ca27319213 no forcing lower-case letters for command 'cd' 2020-10-10 12:09:25 +02:00
Holger Vogt a0389bb547 In PS compatibility mode:
In subcircuit .subckt and X lines with 'params:' statement
replace comma separator by space. Do nothing if comma is inside of {}.
2020-08-20 15:49:32 +02:00
Holger Vogt 26a4a32b8b avoid some compiler warnings 'referencing a NULL pointer' 2020-08-20 15:49:05 +02:00
Holger Vogt 458411b2e1 more precise freeing the wordlist, depending on exit point 2020-08-20 15:48:45 +02:00
Holger Vogt e3aad7849c remove vceo= and icrating= from bjt model cards 2020-08-20 15:47:49 +02:00
Holger Vogt c69a4d6633 fix typo
Reported by Ferdy in bug report #506
2020-08-20 15:47:17 +02:00
Kevin Zheng efde6902a0 indentation 2020-08-20 15:46:44 +02:00
Holger Vogt 54d8c990c5 src/spicelib/analysis/dcpss.c
line endings Windows --> Linux
2020-08-20 15:44:04 +02:00
Holger Vogt 23ceaabf83 fix a memory leak
Reported in bug report 504 by Ferdy
2020-08-20 15:41:39 +02:00
Holger Vogt a04c909a23 Don't add copied scale vector as new vector, but as new scale vector,
thus preventing crash after pushing X11 'Hardcopy' twice or
pushing 'quit' after 'Hardcopy'.
Scale vector was deleted two times, then crashimg ngsoice.
2020-08-20 15:41:15 +02:00
Holger Vogt f9f8174cb8 enable debug output, taking into account that there may be two threads
accessing fcn SetAnalyse()
2020-08-20 15:40:16 +02:00
Holger Vogt c68940712d prevent writing beyond end of buffer 2020-08-20 15:39:55 +02:00
Holger Vogt ebb1e953fe Streamline the compatibility flag generation 2020-08-20 15:39:19 +02:00
Holger Vogt f03a32287f If 'set ngbehavior=ki' in .spiceinit or flag 'kicad' on the plot line:
Add " around vector names containing character /
Numerical ivision in plot line then requires spaces around /
2020-08-20 15:39:00 +02:00
Holger Vogt c112279555 new compatibility handling with struct compat newcompat:
simplify the compatibility handling, better readability
make it easily extendable
add new flag 'ki' for KiCad compatibility
2020-08-20 15:38:43 +02:00
Holger Vogt 9defcae963 Do not compile in fcn main() when shared ngspice is made 2020-08-20 15:38:29 +02:00
Holger Vogt 0caeaccdd3 fix typo 2020-08-20 15:38:18 +02:00
Kevin Zheng 068a1fee55 Fix indentation 2020-08-20 15:30:08 +02:00
caand 6907d17985 add missing get_sysmem() when no info available 2020-08-20 15:29:49 +02:00
Holger Vogt a406af26d6 bug fix 'extern int sh_vecinit()', not void
See patch #96, thanks to Balazs Kovacs
2020-08-20 15:29:42 +02:00
Holger Vogt ce69e8d70c Don't send the empty line to create_circbyline(),
it is not used anymore and may cause a crash
2020-08-20 15:29:21 +02:00
Holger Vogt c8c58b9f5b Print out the netlist sent to ngspice by caller via 'circbyline'
or ngSpice_Circ
2020-08-20 15:29:12 +02:00
Holger Vogt 71e65b75b0 Syntax check: If the first character in a netlist
or .control line is one of =[]?()&%$§\"!:, then ngspice
replaces it by '*' and issues a warning.
'set strict_errorhandling' will force ngspice existing.
2020-08-20 15:28:59 +02:00
Holger Vogt fe28feae4e Cut out part of each vector of the current tran plot,
from times cut-tstart to cut-tstop and copy these
into a new tran plot. A new scale vector 'time' will be
generated as well. Vectors that are shorter than the
new scale vector will not be copied.
2020-08-20 15:28:48 +02:00
Holger Vogt 71338c3271 replace 'noiseless' only if it is an unconnected token 2020-08-20 15:28:32 +02:00
Vogt 3fe4de5b7f enable special characters for cpl model names and parameters 2020-08-20 15:28:07 +02:00
Holger Vogt ba1945d685 enable flags xdelta, ydelta for gnuplot command 2020-08-20 15:27:46 +02:00
Holger Vogt a429e3fee8 Make the pwl parameter r adjustable by .param
if r == -1, no repetition done.
if r == 0, repeat forever.
if r == xx, repeat from time xx to last time point given.
If r is omitted, like r == -1 no rpetition done.
2020-08-20 15:27:01 +02:00
Holger Vogt 2c0729e8de Print also the bool value 'off'.
Do not abort ngspice when vector LIST cannot be printed,
just skip printing and continue.
2020-08-20 15:26:38 +02:00
Holger Vogt 8f4e512826 ust tmpstr instead of second strstr() 2020-08-20 15:26:30 +02:00
Holger Vogt e6fdf5f7e2 Make PPerror message more verbose:
give hint to buggy line segment
2020-08-20 15:26:10 +02:00
Holger Vogt 064bd39a2f Unify batch mode and control mode raw file output:
Voltage is always named as v(nodename)
2020-08-20 15:25:50 +02:00
Holger Vogt 527abee022 Do not print "Units" on a graph, if unknown type
or settype notype is given.
2020-08-20 15:25:00 +02:00
Holger Vogt e2f98b71ed enable node names with special characters like '/' 2020-08-20 15:24:39 +02:00
Kevin Zheng 797f08893a When NGSPICE performs a transient simulation with initial conditions, it
prints out an "Initial Transient Solution" and plots the first timestep.

This is despite the fact that the first timestep is not meaningful when
initial conditions are applied. The first "real" output is available
only after the second transient timestep.

This patch suppresses "Initial Transient Solution" output and
plotting for the first timestep.
2020-08-20 15:24:28 +02:00
Holger Vogt da71726765 Do not print tansient initial conditions, if uic is selected.
This output at time 0 is 0 as well. Only the next time step
would be valid.
Do not save the time 0 values because they are 0.
2020-08-20 15:23:54 +02:00
Holger Vogt a459d37548 remove unused 2020-08-20 15:23:31 +02:00
Holger Vogt 6b0104849e Add statistics: load, subckt expansion, and parse times 2020-08-20 15:23:19 +02:00
Carsten Schoenert 5a0ed18907 Small fixup for misspelled words 2020-08-20 15:22:48 +02:00
holger 569bc228fd If code completetion is deselected, don't add keywords or key commands.
To prevent a crash in shared ngspice
2020-08-20 15:22:36 +02:00
holger 061e48253b definitely exclude command completion in shared ngspice 2020-08-20 15:22:26 +02:00
Holger Vogt 8c4394839d remove unused code that is now in CKTncDump() 2020-08-20 15:22:17 +02:00
Holger Vogt 18c532e74b improve comments 2020-08-20 15:22:07 +02:00
Holger Vogt 0cf6b89eb3 during removing the plot 'const', also delete the hash table 2020-08-20 15:21:49 +02:00
Holger Vogt f83bbb0d0f delete 'myvec' upon 'quit' 2020-08-20 15:21:29 +02:00
Holger Vogt 8be33bb361 clear all variables upon 'quit' 2020-08-20 15:21:12 +02:00
Holger Vogt 05f3d21c3e reset control structures (commands saved) upon 'quit' 2020-08-20 15:20:39 +02:00
Holger Vogt ce72667fcd shared lib version 32 2020-08-20 15:20:19 +02:00
Holger Vogt c522360a26 re-enable compiling with --enable-nobypass 2020-08-20 15:20:06 +02:00
Holger Vogt 8051a3c351 remove calling MIFdestroy() that is empty 2020-08-20 15:19:49 +02:00
Holger Vogt 75d14b73f4 add the icon also for the console build 2020-08-20 15:19:34 +02:00
Holger Vogt db28c65455 adding the ngspice icon to the MINGW executable 2020-08-20 15:19:21 +02:00
Holger Vogt ba7be26b95 If a g table source contains %, [, nor ] in its name,
replace it by _ in the a instance generated during parsing.
2020-08-20 15:18:40 +02:00
Holger Vogt 02fdcaff2d try first storing the temporary file in user directory,
only then in current directory
2020-05-13 22:14:52 +02:00
Holger Vogt 80ad645b49 prevent crash if Col==-1 2020-05-13 22:06:05 +02:00
Holger Vogt 8143fb67c2 comment, missing \n 2020-05-13 22:05:31 +02:00
Holger Vogt 6f03ac77af add missing library info 2020-05-08 00:00:12 +02:00
Holger Vogt 8d64983659 const parameter added 2020-05-06 11:12:54 +02:00
Holger Vogt 05bf86caaa safeguard against empty lines which may be sent to shared ngspice 2020-05-06 11:12:21 +02:00
Mamoru TASAKA fe207966d7 Fix compilation with gcc10 wrt multiple definitions issue
gcc10 now defaults to -fno-common (ref: https://gcc.gnu.org/gcc-10/changes.html ). Now with compiled with gcc10, multiple definitions are found which causes linker error as:

*  --with-tcl:
```
/usr/bin/ld: table/table3D/cfunc.o:/builddir/build/BUILD/ngspice-32/ngspice/tclspice/src/xspice/icm/../../../src/include/../xspice/icm/dlmain.h:8: multiple definition of `coreitf'; table/dlmain.o:/builddir/build/BUILD/ngspice-32/ngspice/tclspice/src/xspice/icm/dlmain.c:45: first defined here
```

*  --enable-oldapps
```
/bin/ld: frontend/com_history.o:(.data+0x4): multiple definition of `cp_maxhistlength'; ngsconvert.o:(.bss+0xa4): first defined here
collect2: error: ld returned 1 exit status
```

This commit fixes these issues.
2020-05-06 01:15:53 +09:00
Holger Vogt bbe81ca8f8 shared ngspice may transmit netlists with empty lines,
guard against crashing
2020-05-05 12:00:19 +02:00
Holger Vogt db91e19e36 enable making ngnutmeg, when --enable-oldapps is set 2020-05-05 11:59:23 +02:00
Holger Vogt 2b4394e34b add wincolornames.h 2020-05-03 23:06:17 +02:00
Holger Vogt dd5d1f1868 new copyright notice added 2020-05-03 11:47:22 +02:00
Holger Vogt 70be7508ce Prevent 'unused variable' compiler message 2020-05-03 00:49:53 +02:00
Holger Vogt 913635d252 remove unused function 2020-05-03 00:47:45 +02:00
Holger Vogt 13c23fd71b Prevent buf2 buffer overflow by limiting the the amount of bytes printed 2020-05-03 00:19:48 +02:00
Holger Vogt e0f5181bee Correct comment 2020-05-02 20:16:48 +02:00
Holger Vogt 8a1eff8e88 Add function 'remzerovec' to remove vectors of length 0
from current plot. Maybe of interest if you have option
savecurrents, write xx all, and ac generates length 0 vectors
2020-05-02 20:06:58 +02:00
Holger Vogt 3a00520071 Improve error message 2020-05-02 14:59:31 +02:00
Holger Vogt cbab726d69 use memcpy instead of strncpy to copy an exact amount of characters
remove unused function header
2020-05-01 18:49:45 +02:00
Holger Vogt 5e37955dc5 prevent buffer overrun by using snprintf 2020-05-01 18:48:18 +02:00
Holger Vogt 3c8a2d914d enable MINGW compilation by adding path information for config.h 2020-05-01 18:47:32 +02:00
Holger Vogt a32da32885 set parentheses for initializing struct 2020-05-01 18:46:44 +02:00
Holger Vogt 4bcc118406 exclude unused variable 2020-05-01 18:41:22 +02:00
Holger Vogt e2ddc5c06b exclude unused function 2020-05-01 18:40:56 +02:00
Holger Vogt 3c2bece87f prevent MINGW compiler warnings 2020-05-01 18:38:45 +02:00
Holger Vogt b0f99b900e Prevent crash if not enough nodes for standard MOS device 2020-04-28 18:59:18 +02:00
Holger Vogt 8ea51cc2f3 If command 'source' fails, don't move on with the script
(and od nonsens simulations), but stop ngspice and await
detaching (shared ngspice), or wait for user input.
2020-04-28 17:23:07 +02:00
Holger Vogt 2d4549ad96 There will be no default model paramaters without
the minimum model line:
J1 a b c JM1
.model JM1 njf
2020-04-28 17:18:57 +02:00
Holger Vogt 1a3738ccef Prevent warning by the macOS compiler 2020-04-27 10:58:06 +02:00
Holger Vogt a40f06de52 add #include <stdint.h> for SIZE_MAX 2020-04-27 10:27:20 +02:00
Holger Vogt e1a69e3fc5 controlled_exit only for WinGUI and shared ngspice 2020-04-27 10:27:00 +02:00
Jim Monte 0a8f700311 typo 2020-04-27 10:26:36 +02:00
Jim Monte 01574b91b5 remove unused 2020-04-27 10:26:22 +02:00
Jim Monte 7ead3fe552 rewrite load_opus(), add code model access to ngspice facilities,
add error message
2020-04-27 10:25:53 +02:00
Jim Monte 004b27bd92 remove path error, fix file extension 2020-04-27 10:25:35 +02:00
Jim Monte 654c9767d6 add fcn product_overflow() 2020-04-27 10:25:19 +02:00
Jim Monte a2b5d009db type cast 2020-04-27 10:25:00 +02:00
Jim Monte 9d714fe1bf #includes modified 2020-04-27 10:24:45 +02:00
Jim Monte 18d825e9c1 #includes modified 2020-04-27 10:24:22 +02:00
Jim Monte 381d4ec43d #includes modified 2020-04-27 10:23:59 +02:00
Jim Monte bd84e4be6c error messages 2020-04-27 10:23:33 +02:00
Jim Monte 7f82a4e036 FALLTHROUGH 2020-04-27 10:22:58 +02:00
Jim Monte 1d62ae2d97 type casts 2020-04-27 10:22:40 +02:00
Jim Monte ed8221afde Initialize pointer 2020-04-27 10:22:24 +02:00
Jim Monte 8d16e3e034 FALLTHROUGH 2020-04-27 10:21:59 +02:00
Jim Monte 41819a7226 FALLTHROUGH 2020-04-27 10:21:32 +02:00
Jim Monte 68e34f5a94 error messages, callback function moved 2020-04-27 10:21:14 +02:00
Jim Monte 2cac192814 initialize variables, add 'default:' 2020-04-27 10:20:48 +02:00
Holger Vogt f2e749e821 var redifinition removed 2020-04-27 10:20:10 +02:00
Jim Monte a10be03c75 FALLTHROUGH added 2020-04-27 10:19:32 +02:00
Jim Monte 6d3ab5945e variable redefinition removed 2020-04-27 10:19:13 +02:00
Jim Monte 82f832351b FALLTHROUGH added 2020-04-27 10:18:38 +02:00
Jim Monte ca2be5dd41 More efficient utf-8 to tchar conversion
remove 'graph' from SetColor
2020-04-27 10:18:10 +02:00
Jim Monte 3b0b944128 #include sequence, error message 2020-04-27 10:17:49 +02:00
Jim Monte b5ce669de5 fgets error 2020-04-27 10:17:22 +02:00
Jim Monte d96ea2490a EXITPOINT, memory leaks upon failure 2020-04-27 10:16:55 +02:00
Jim Monte b518d90509 EXITPOINT to delete malloced var in case of check failure 2020-04-27 10:16:37 +02:00
Jim Monte 9a83e6705c #include resource.h added, fcn parameter void 2020-04-27 10:16:19 +02:00
Jim Monte 3a72b8e562 const qualifier, graph removed from SetColor, 2020-04-27 10:16:02 +02:00
Jim Monte a3a8bc702d type modifier, parameter graph removed from SetColor() 2020-04-27 10:15:32 +02:00
Holger Vogt 5b98b1e723 typüe modifier 2020-04-27 10:15:01 +02:00
Jim Monte c8bf3a776c error message 2020-04-27 10:14:13 +02:00
Jim Monte 19318929c1 modifier const, error message if 'system' fails 2020-04-27 10:13:50 +02:00
Holger Vogt 9af5e20eaf formatting 2020-04-27 10:13:11 +02:00
Jim Monte 1e938f91b1 Error message if printing fails 2020-04-27 10:12:36 +02:00
Holger Vogt e3441044dd formatting 2020-04-27 10:12:19 +02:00
Holger Vogt 3ad93a50e8 Add EXITPOINTs, if reading inputs etc. fails 2020-04-27 10:09:30 +02:00
Holger Vogt d761ed9c79 comment on parse tree evaluation 2020-04-25 10:30:21 +02:00
Holger Vogt c520a9a4b9 if lt(a) comp mode is set, replace 'noiseless' by 'noisy=0' in resistors 2020-04-25 10:30:05 +02:00
Holger Vogt 74dbb1e843 Commit [88653f] Fixed assorted compiler warnings, memory leaks, etc.
branch beta_jdm by Jim Monte
2020-04-25 10:29:16 +02:00
Holger Vogt ca05aa318b Commit [88653f] Fixed assorted compiler warnings, memory leaks, etc.
branch beta_jdm by Jim Monte
2020-04-25 10:29:00 +02:00
Holger Vogt 779bd0e6e2 Commit [88653f] Fixed assorted compiler warnings, memory leaks, etc.
branch beta_jdm by Jim Monte
2020-04-25 10:28:49 +02:00
Holger Vogt a084f4f2b5 avoid type conversion warning size_t -> int 2020-04-25 10:28:34 +02:00
Holger Vogt d3866a6315 Spice_Notice is never NULL 2020-04-25 10:28:07 +02:00
Holger Vogt 0cd33d3fbb correct zeroing of allplots array 2020-04-25 10:27:49 +02:00
Holger Vogt fdbcdb5b7d apply const qualifier appropriately 2020-04-25 10:27:28 +02:00
Holger Vogt 814cadf36c remove const declaration to make ASRCsetup compatible with .DEVsetup 2020-04-25 10:25:42 +02:00
Holger Vogt 050cea146e correct zeroing of allnodes array 2020-04-25 10:24:25 +02:00
Holger Vogt 833751ab3f fix typo 2020-04-25 10:24:02 +02:00
Holger Vogt b3fdff7bc0 Spice_Build_Date is never NULL 2020-04-23 13:30:55 +02:00
Holger Vogt 1f8b179ef9 typo 2020-04-21 20:02:31 +02:00
Holger Vogt 572daed2ec Remove '.backanno' if LT campatibility mode is set 2020-04-21 20:02:18 +02:00
Holger Vogt b701a6347d cktislinear(): coupling of inductors is also linear 2020-04-21 20:02:05 +02:00
Holger Vogt bad2a4e467 Guard XSPICE plot switching against circuit being removed already 2020-04-21 20:01:49 +02:00
Holger Vogt ae2d207344 don't forget to free jobs->statistics[i] 2020-04-21 20:01:06 +02:00
Holger Vogt 3b5c272096 free mor data in jobs struct. Avoid memory leak upon 'quit' command. 2020-04-21 20:00:49 +02:00
Holger Vogt bc0cef9371 remove all data enlisted in the jobs structure 2020-04-21 20:00:35 +02:00
Holger Vogt bbb0007466 add function EVTswitch_plot() to switch the event data
according tothe (analog) plot. Called from plot_setcur()
in vetors.c, when command 'setplot xxx' is given.
2020-04-21 20:00:17 +02:00
Holger Vogt d72b4c415f get the plot name into the event job 2020-04-21 19:59:58 +02:00
Holger Vogt b356b00014 Fixes bugs 476, 486: Reset code model init flag,
required when any run is called a second time.
2020-04-21 19:59:43 +02:00
Holger Vogt c7e9c3884e pow(a,b) function derivative: special case also for a=const
with enhnaced efficiency
introduce TRACE and TRACE1 for debugging
2020-04-21 19:59:29 +02:00
Holger Vogt f5ebea5e9f use internally predefined pow() function 2020-04-21 19:59:11 +02:00
Holger Vogt a1a37d84a7 define is no longer needed with recent VS 2019 2020-04-21 19:58:55 +02:00
Holger Vogt d8085ed594 guard against ft_curckt->ci_ckt == NULL 2020-04-21 19:58:36 +02:00
Holger Vogt 11b22c8f46 showmod will no longer crash ngspice if run after some error 2020-04-21 19:58:07 +02:00
Holger Vogt 6ab1f8b2d6 add mfg to the .model tokens to be ignored during altermod 2020-04-21 19:57:47 +02:00
Holger Vogt 93a76d8e21 add a limit exp(arg) to the exp function. If arg is larger
than 14 (arbitrarily selected), continue with linear response.
2020-04-21 19:57:19 +02:00
Holger Vogt 87101cd26d no double parens 2020-04-21 19:56:55 +02:00
Holger Vogt 55f3776fc1 add a warning if file with modified parameters has not been found.
Then ignore the altermod command.
2020-04-21 19:56:27 +02:00
Holger Vogt 4c80a1ab7d fix a bug, use ciprefix instaed of cieq, cieq led to
always FALSE if statement
2020-04-21 19:55:42 +02:00
Holger Vogt a7e664a5c2 fix bug no. 484, correct TREALLOC usage 2020-04-21 19:55:04 +02:00
Holger Vogt 1c2dd967da During setup, ASRC (aka B source) uses ckt->CKTrhsOld[node->number]
for initial evaluation. .nodeset or .ic have never set CKTrhsOld,
so initalization for B source failed.
We still have to check why .nodeset and .ic are set two times,
first in CKTic(), then in CKTload()!
2020-04-21 19:54:41 +02:00
dwarning d735c60183 no size_t cast for GlobalMemoryStatusEx result 2020-04-21 19:52:05 +02:00
Holger Vogt 7889b5d540 re-add the icon to the top header of the ngspice GUI 2020-04-05 10:22:13 +02:00
Holger Vogt c4e23989f3 Don't us atexit(), but delete memory during 'quit' 2020-04-04 14:22:04 +02:00
Holger Vogt c2513af3e8 remove code that leads to crash if tran simulation is
interrupted and reset is sent (KiCAD)
2020-04-04 14:21:49 +02:00
Holger Vogt 1a9c1b8c24 remove unused code snippet 2020-04-04 14:21:33 +02:00
Holger Vogt e28cae42f1 enable both new gmin and dyngmin 2020-04-04 14:21:15 +02:00
Holger Vogt 673a14afdb more conservative op calculation:
start with new gmin, if this fails, fall back to dynamic gmin,
then source stepping
2020-04-04 14:20:45 +02:00
Holger Vogt 2f31bd5c2a avoid compiler warning 2020-04-04 14:20:16 +02:00
Holger Vogt 9edc436ef7 remove SIGINT handling which was not functional
add SIGSEGV handler which may be excluded by
set nosighandling
2020-04-04 14:19:55 +02:00
dwarning 8ca33bc8f5 VDMOS correct thermal diode contribution in reverse operation 2020-04-04 14:19:38 +02:00
dwarning b75791c87d VDMOS include body diode into power calculation 2020-04-04 14:19:21 +02:00
dwarning 897165d026 VDMOS change default value for Rthca 2020-04-04 14:19:03 +02:00
dwarning f19da3bd79 case correction for library name 2020-04-04 14:18:38 +02:00
Holger Vogt c076c932b4 enable MINGW linking to -lShlwapi,
which failed during making 32 bit shared lib
2020-04-04 14:17:54 +02:00
dwarning 3999dcc700 w and l must be exact altermod parameter for MOS binning 2020-04-04 14:16:47 +02:00
dwarning d3da0d5ebf VDMOS consider body diode thermal contribution for self-heatine effect 2020-04-04 14:16:19 +02:00
Holger Vogt c86cd740d6 fix a bug: re-enable reading vecs with length 1
Bug reported by LM
2020-04-04 14:15:55 +02:00
Holger Vogt ded0092ad6 If ngSpice_Command(NULL) is sent to shared ngspice,
the internal control structure memory is freed.
2020-04-04 14:15:38 +02:00
Holger Vogt d3fcf2f43f restrict removal of arg only to comma operator,
otherwise functions with a single variable may fail
2020-04-04 14:13:35 +02:00
Holger Vogt 4a3b193154 remove memory leak in function parser (bug. no 478),
second case
2020-04-04 14:13:01 +02:00
Holger Vogt 96976ee49d prevent non-English characters (e.g. Umlaute),
which gtkwave does not understand
2020-04-04 14:12:05 +02:00
Holger Vogt 3a6a445241 rcheck -> rcheckn in cmath1.c
delete alloced memory in case of check failure
2020-04-04 14:11:32 +02:00
Holger Vogt ba81e21197 rcheckn: rcheck plus freeing allocated memory 2020-04-04 14:11:07 +02:00
Holger Vogt 84ff135e5b syntax check for vdmos instances with 'thermal' flag 2020-04-04 14:10:07 +02:00
Holger Vogt 9e8e50cb57 Fix a bug raised by Sambeet in
[Ngspice-users] Problems with xspice limiter block:
Don't treat .model limit_comp limit(gain... as a function
if PSPICE compatibility is set.
2020-04-04 14:09:25 +02:00
dwarning edc5b5a4d4 VDMOS prevent fault if thermal switch is given but thermal nodes are not 2020-04-04 14:08:48 +02:00
dwarning 8c2bdd2f7a VDMOS include thermal components into convtest 2020-03-15 11:03:56 +01:00
dwarning 7b77a13d3d VDMOS return if NIintegrate fails 2020-03-15 11:03:36 +01:00
dwarning a850b2a070 VDMOS diode current op information 2020-03-15 11:00:34 +01:00
dwarning 793c82d384 VDMOS rise minimal diode resistance for better convergence 2020-03-15 11:00:23 +01:00
dwarning 5c5f43d122 VDMOS safe Temp init 2020-03-15 11:00:15 +01:00
dwarning 034f415621 VDMOS separate dc and thermal parts 2020-03-15 11:00:07 +01:00
dwarning 659ade6cf2 VDMOS few variable name changes 2020-03-15 10:59:59 +01:00
dwarning ce66266965 VDMOS remove drain resistance temperature derivation 2020-03-15 10:59:54 +01:00
dwarning ee7599b33f VDMOS few variable name changes 2020-03-15 10:59:49 +01:00
Holger Vogt 020c5578a1 remove unused code snippet 2020-03-15 10:59:27 +01:00
Holger Vogt 0490bc090b Allow 3-terminal MOS devices (e.g. VDMOS),
prevent crash upon user error
2020-03-15 10:59:05 +01:00
Holger Vogt 11cf6e709b third trial: get the token i(vss) as a whole in the lexer,
this prevents the parser from generating the spurious vector vss.
No need to do an extra translation i(vss) -> vss#branch.
2020-03-15 10:58:56 +01:00
Holger Vogt fbd17bc25a Imrove an error message: End-of-line delimiter $ is
not allowed when PSPICE compatibility is set. $ is
a standard character in PSPICE.
2020-03-15 10:58:30 +01:00
Holger Vogt 02cf88c119 correct the return values 2020-03-15 08:51:18 +01:00
dwarning ff07a21608 omit wanted fallthrough warnings with gcc 2020-03-15 08:51:18 +01:00
Holger Vogt d967e18632 compatibility to old vsnprintf() in MINGW is no longer needed.
Compiling with -D__USE_MINGW_ANSI_STDIO=1 enables C99 compatibility.
2020-03-15 08:51:18 +01:00
Holger Vogt 258c01d9bb Replace swprintf by MultiByteToWideChar to correctly
translate from utf-8 to wchar_t
2020-03-15 08:51:18 +01:00
Holger Vogt b81953fafd enable true gmin stepping
The old behavior, stepping diagmin, is re-obtained by adding flag
set 'dyngmin'
to .spiceinit or spinit
This flag may also be set within a .control section (e.g. to
compare results)
2020-03-15 08:51:18 +01:00
Holger Vogt 4bcb38abb5 clean up winmain.c 2020-03-15 08:51:18 +01:00
Holger Vogt 8d9d40d621 enable compiling wide char with MINGW 2020-03-15 08:51:18 +01:00
Holger Vogt 7a7f717574 make flag 'nolegend' localfor each plot 2020-03-15 08:51:17 +01:00
Holger Vogt 1398ee7aa0 set the proper preprocessor flag __MINGW32__ 2020-03-15 08:51:17 +01:00
Holger Vogt 249304a06f Instantiations of string and dstring functions as inline
This will remove the redundant-decls warning
2020-03-15 08:51:17 +01:00
Holger Vogt 0e4b736a5d remove outdated function GlobalMemoryStatus(&ms) 2020-03-15 08:51:17 +01:00
Holger Vogt 08a2f04e8d make code compile with MINGW (preliminary) 2020-03-15 08:51:17 +01:00
Holger Vogt bcfdc806a5 work around a bug in MINGW
Reported in
https://github.com/msys2/MINGW-packages/issues/6254
2020-03-15 08:51:17 +01:00
Holger Vogt 09d3fbe3ad remove false bracket in EXT_ASC 2020-03-15 08:51:17 +01:00
Holger Vogt 027b342a9c prevent crash if premature exit (without ckt) 2020-03-15 08:51:17 +01:00
Holger Vogt ded6bbbe34 make declaration inline 2020-03-15 08:51:16 +01:00
Holger Vogt cab9cbdddf re-enable making old apps with --enable-oldapps 2020-03-15 08:51:16 +01:00
Holger Vogt 2ff0e3b1b7 ngsconvert.c: add const to cp_enqvar 2020-03-15 08:51:16 +01:00
Holger Vogt 10c312856e re-enable making nutmeg 2020-03-15 08:51:16 +01:00
Holger Vogt 06239e567f plug a memory leak (in case of failing op for tran calculation) 2020-03-15 08:51:16 +01:00
Holger Vogt 2f23c58585 plug a memory leak (pll-xspice.cir) 2020-03-15 08:51:16 +01:00
Holger Vogt 14c0828a65 plug a memory leak (IXTH80N20L-IXTH48P20P-quasisat.sp) 2020-03-15 08:51:16 +01:00
dwarning 15b8e0ba7f add aliases for temp coeffs 2020-03-15 08:51:15 +01:00
dwarning 5e4c7a255e update .gitignore and make clean 2020-03-15 08:51:15 +01:00
dwarning e9abecc8c7 change vdmos flag to thermal, not to confuse with b4soi 2020-03-15 08:51:15 +01:00
dwarning 3686dbfb78 filter only mos instances with thermal switch 2020-03-15 08:51:15 +01:00
Holger Vogt f24ed96cbd plug some memory leaks 2020-03-15 08:51:15 +01:00
dwarning 791f18053f change vdmos flag to thermal, not to confuse with b4soi 2020-03-15 08:51:15 +01:00
Jim Monte b9d45349d5 Added featurest to com_let to allow default low and high indices and to allow the last dimension to default to its full range 2020-03-15 08:51:15 +01:00
dwarning 59bb80f3d3 free errMsg only if available 2020-03-15 08:51:14 +01:00
dwarning f632f79056 use errMsg under ngdebug condition and prevent memory leak 2020-03-15 08:51:14 +01:00
Holger Vogt eab10ee065 prevent double closing of file (Linux does not NULL fp during fclose) 2020-03-15 08:51:14 +01:00
Holger Vogt e53632c368 When plotting arrays of curves, plot lines only in the direction
of (in absolute terms) growing x values.
Example: MOS output characteristics.
In the rare case of plotting versus varying x directions
(e.g. example memristor.sp), one has to add the flag
'retraceplot' to the plot command.
2020-03-15 08:51:14 +01:00
Holger Vogt 14b154f5f3 Copy the scale vector as well and attach it to the data vector.
Remove it again when the graph is destroyed.
2020-03-15 08:51:14 +01:00
Holger Vogt f518766c66 add a slight offset between y axis labels and grid 2020-03-15 08:51:14 +01:00
Holger Vogt 1919cf5c94 replace variable 'gridwidth' by 'xgridwidth' 2020-03-15 08:51:13 +01:00
Holger Vogt c2cf4d7eda required for reliable re-plotting, however still has the
return line bug no #472
2020-03-15 08:51:13 +01:00
Holger Vogt 57e647c704 enable "null allowed" for reset input 2020-03-15 08:51:13 +01:00
Holger Vogt acbec3ae81 Preliminary 'fix' to a plotting bug (visible return line in an array of curves):
Partially undo code added in commit 10415875f4/
This will need further discussion or updates
2020-03-15 08:51:13 +01:00
Holger Vogt 71ad2903ff plug a memory leak in inpcom.c vdmos code 2020-03-15 08:51:13 +01:00
Holger Vogt 4ddcff55e7 add const declaration to newfopen 2020-03-15 08:51:13 +01:00
Holger Vogt c4045d371d single space indent in analysis window 2020-03-15 08:51:13 +01:00
Holger Vogt 8ff4c7cd3b just another remains of quote 2020-03-15 08:51:12 +01:00
Holger Vogt 7f085144a9 remove all the remains of quote() and strip() that had been
used to modify the eigths bit of a character or string.
The functions had been switched off some time ago.
We now need all bits of a char for extended ascii or utf8
2020-03-15 08:51:12 +01:00
Holger Vogt 8d986e50cc remove the remains of the old xgraph program
that has not been supported for many years
2020-03-15 08:51:12 +01:00
Holger Vogt 32722ecc57 some missing brackets, typos 2020-03-15 08:51:12 +01:00
Holger Vogt 93a408598a switch to colorarray in graph to string all color data,
one set per each graph.
If we are zooming or selecting a cutout, copy the
source graph's colors to the new graph. Transfer the
old graphs id to the new graph via graph->graphid.
2020-03-15 08:51:12 +01:00
Vogt 728ddae41e Set the color tables and linewidths personal for each graph,
added to strucht graph
Use only these data for plotting.
If zooming a plot windows, set as an extra parameter the graph id
of the 'mother graph'. Copy its color and line data to the new graph.
This is done by an extra parameter sgraphid to the internal plot
command that is issued in fcn PlotWindowProc().
Thus zooming will keep the background, text/line and graph colors.
Function setcolor() will always look into the colorarray of the
current graph.
2020-03-15 08:51:12 +01:00
Holger Vogt a7aaac854f enable color and font selection for X11:
Add graphics context gridgc for plotting the grids.
Enable rgbd:, input of color by RGB 0 ... 255
If no color1 (text/grid) is given,
    select black or white according to backgrund color.
Error message, but no crash if font cannot be selected.
Enable separate linewidth selection for grid and graph.
2020-03-15 08:51:11 +01:00
Holger Vogt 800cd05f3d new variable nolegend: with 'set nolegend' plotting of
the legend is suppressed.
2020-03-15 08:51:11 +01:00
Holger Vogt fed7ef378f add variable ticchar, allow an arbitrary character as ticmark 2020-03-15 08:51:11 +01:00
Holger Vogt 8639144093 cp_getvar: force a limit to a string entered
Issue a warning, truncate the string
2020-03-15 08:51:11 +01:00
Holger Vogt 1fda03382e color input for text/grids (color1), background (color0)
and graphs (color2-22) on Windows via
set color2=red
set color2=rgb:ff/0/0
set color2=rgbd:255,0,0
several examples given in the example files
2020-03-15 08:51:11 +01:00
Holger Vogt 86917e3d36 enclose in WinGUI #ifdef 2020-03-15 08:51:11 +01:00
Holger Vogt 6094769fda Restore original 'green', slight update on
auto color selection vs. background
2020-03-15 08:51:11 +01:00
Holger Vogt cb38e7a367 enable using setting colors by colornn with 0<=nn<=22
The name list of colors is given by
https://www.codeproject.com/Articles/1276/Naming-Common-Colors
2020-03-15 08:51:10 +01:00
Holger Vogt 54778527c4 list of colors used 2020-03-15 08:51:10 +01:00
Holger Vogt 167bd9b433 enable color selection, if compiled with MINGW 2020-03-15 08:51:10 +01:00
Holger Vogt 3701ca0364 add color selection to WinGui plots 2020-03-15 08:51:10 +01:00
Holger Vogt ef95ff7edc generate variable oscompiled
test for variable
2020-03-15 08:51:10 +01:00
Holger Vogt 38bb89663d replace old_x11 by HAVE_LIBXFT defined in configure 2020-03-15 08:51:09 +01:00
Holger Vogt 921058cb39 fix remaining bugs when EXT_ASC is defined 2020-03-15 08:51:09 +01:00
Holger Vogt 6e0b631492 Regain static behaviour, keep removing compiler warning 2020-03-15 08:51:09 +01:00
Holger Vogt 3a8e3d130c update and unify font handling 2020-03-15 08:51:08 +01:00
Holger Vogt bef9c70e71 Prepare font selection and rotation only once per graph
in func X11_DefineXft().
Only 0 and 90 degree are supported.
2020-03-15 08:51:08 +01:00
Holger Vogt 8312a8ade2 Select suitable default text color 2020-03-15 08:51:08 +01:00
Holger Vogt 3eb04b2fdc improve on memory leaks
(not yet completely satisfying)
2020-03-15 08:51:08 +01:00
Holger Vogt 8f42eae6ab add empty line after error message 2020-03-15 08:51:08 +01:00
Holger Vogt a23748cf8c Don't call DestroyGraph if graf id is 0 2020-03-15 08:51:08 +01:00
Holger Vogt 673069f442 add to the source window after 'source' command 2020-03-15 08:51:08 +01:00
Holger Vogt fd96983099 Reset DevSwitch before returning 2020-03-15 08:51:08 +01:00
Holger Vogt e7022f7fae utf-8 string length determined by strlen 2020-03-15 08:51:08 +01:00
Holger Vogt ac1c8c4a96 return NULL upon NULL input 2020-03-15 08:51:07 +01:00
Holger Vogt 93be5bab0c increase buffer size, send text to string window,
retrieve the correct number of byte after utf-8 conversion.

Answering to a promt (e.g. after command 'hardcopy') does not
yet do.
2020-03-15 08:51:07 +01:00
Holger Vogt 510b1865b4 Re-sort wide char variable definitions.
add utf-8 ... utf-16 conversion.
Strings in history buffer shall remain utf-8.
History buffering is not yet working.
2020-03-15 08:51:07 +01:00
Holger Vogt 7a41921035 prevent crash if 'hardcopy' is given without parameters 2020-03-15 08:51:07 +01:00
Holger Vogt 6edb0eea41 re-organize PS color selection
Improve settings for PS image
Improve error messages
2020-03-15 08:51:07 +01:00
Holger Vogt 18f1e896f8 allow independent linewidth and gridwidth settings from within the .control section 2020-03-15 08:51:07 +01:00
Holger Vogt 7c0b72c387 prevent compiler warnings
enable short GUI interaction from within spfactor.c
2020-03-15 08:51:06 +01:00
Holger Vogt bd7b35541d Lengthy op calculations make the Win GUI unresposive.
A macro adds a short travel to the GUI fro0m within
the matrix ordering and factoring. Time overhead
during op is less than 0.5%.
2020-03-15 08:51:06 +01:00
Holger Vogt 3d009fef22 Variables xbrushwidth and gridwidth (to be set e.g. in
.spiceinit) allow setting separately the linewidths of the
graph (xbrushwidth) and the grid (gridwidth).
2020-03-15 08:51:06 +01:00
Holger Vogt c9edc6fcb3 Add function returning the true string length in pixels.
May be called from outside of x11.c.
2020-03-15 08:51:06 +01:00
Holger Vogt 10f0eea93e add gridwidth, xbrushwidth to postscript output 2020-03-15 08:51:06 +01:00
Holger Vogt ca7c77315a add missing üarameter to DevDrawLine for X11 and HPGL 2020-03-15 08:51:06 +01:00
Holger Vogt 8751092812 Enable separate linewidths for grids and graphs.
New variable gridwidth overrides xbrushwidth for graphs.
Fcn DevDrawLine() with boolean flag if grid is plotted.
Postscript, Gnuplot and X11 not (yet) supported.
2020-03-15 08:51:05 +01:00
Holger Vogt 7690b64571 add missing declaration of old_x11 2020-03-15 08:51:05 +01:00
h_vogt 7c3a305d43 add wide char for string i/o under Windows
add utf-8 systax check
2020-03-15 08:51:05 +01:00
h_vogt 22f4e8f82d return extended ascii as alpha 2020-03-15 08:51:05 +01:00
Holger Vogt 85142709fc For UNICODE use char in comparison to ' '
only as unsigned char
2020-03-15 08:51:05 +01:00
h_vogt 531c229b0e Add library xft for allowing text rotation.
Setting variabe 'old_x11' will retain previous behaviour.
2020-03-15 08:51:05 +01:00
h_vogt 0cdea87cb5 Add and ignore angle in fcn for text out 2020-03-15 08:51:05 +01:00
Holger Vogt 0dfe8a22ad add angle to allow text rotation 2020-03-15 08:51:04 +01:00
h_vogt 697facdc30 #define fopen newfopen
and header for MINGW and MS VS
2020-03-15 08:51:04 +01:00
h_vogt 9f272ea8f6 function newfopen to replace fopen
by reading wide char strings
2020-03-15 08:51:04 +01:00
Holger Vogt 59adfc1d68 add extended ascii and its selection
converter UTF-8 to ISO-8859-1/ISO-8859-15
2020-03-15 08:51:04 +01:00
Holger Vogt c4f641dad6 remove bracket left over from recent manual merge conflict resolution 2020-03-15 08:51:04 +01:00
h_vogt dbd0a5743a Enable utf-8 and UNICODE for string handling.
preprocessor flag EXT_ASC resets handling to old behaviour.
Add utf-16 wide char to all Windows string i/o.
Add translation between utf-8 and utf-16.
Add angle to fcn DevDrawText.
2020-03-15 08:51:04 +01:00
Holger Vogt 28c0fbf397 Zero fp, this fixes bug no #475 2020-03-15 08:51:04 +01:00
Jim Monte 93233fde2c Made descriptions of invalid interpolation cases more descriptive and fixed a memory leak 2020-03-15 08:51:04 +01:00
dwarning 740df722c7 partially revert commit b4bbcb149 for spec analysis functionality 2020-03-15 08:51:04 +01:00
dwarning 86d7963f32 more meaningful warning if vector can't interpolate 2020-03-15 08:51:03 +01:00
Holger Vogt 0ad7acadec remove unreachable code warning, add const 2020-03-15 08:51:03 +01:00
Holger Vogt c77da1870d Fixed compiler warnings related to const, unreachable code, and an empty translation unit. 2020-03-15 08:51:03 +01:00
Jim Monte 7084274344 Fixed incorrect type of variable ch_cur. It was from const char * but should have been const char. 2020-03-15 08:51:03 +01:00
Holger Vogt 5bd45c0451 make path to dstring.c independent from build directory 2020-03-15 08:51:03 +01:00
Holger Vogt 5bc9a320eb Revert "correct the path to dstring.c"
This reverts commit 28002be150.
2020-03-15 08:51:03 +01:00
Holger Vogt 89ea46e39a prevent false freeing of vector 2020-03-15 08:51:03 +01:00
dwarning 129b219ed2 correct the path to dstring.c 2020-03-15 08:51:03 +01:00
dwarning 4f75d56011 no wrapper cp_globmatch needed 2020-03-15 08:51:03 +01:00
Vogt e628fd8977 just use strcmp instead of wrapper function 2020-03-15 08:51:02 +01:00
Holger Vogt 5e76758e57 update to cmpp by J. Monte 2020-03-15 08:51:02 +01:00
Jim Monte 955dda749d Jim Monte's update to cmpp 2020-03-15 08:51:02 +01:00
Holger Vogt 375a92d788 Fix of buffer overrun in interpolation at endpoint of interval.
Made cfunc.mod for tables more modular.
Prevented buffer overrun when building file name.
Added error checking for allocation failures in many locations.
Made binary search for interpolation more efficient.
2020-03-15 08:51:02 +01:00
Jim Monte 92065ea41b fixed singluar/plural agreement in an error message generated by the let command 2020-03-15 08:51:02 +01:00
Jim Monte a53cd3a3e9 fixed path created by ngdirname in Windows. Also added const to parameters whose arguments do not change and fixed some potential buffer overruns. 2020-03-15 08:51:02 +01:00
Jim Monte 2d9110bf65 Add const to some parameters, made function static 2020-03-15 08:51:02 +01:00
Jim Monte 1867f5b727 Fix of buffer overrun in interpolation at endpoint of interval. Made cfunc.mod for tables more modular. Prevented buffer overrun when building file name. Added error checking for allocation failures in many locations. Made binary search for interpolation more efficient. 2020-03-15 08:51:02 +01:00
Jim Monte b4757f934b Added support for DSTRING in code modules with makefile builds 2020-03-15 08:51:02 +01:00
Jim Monte 190c7fb75c Clarified error message 2020-03-15 08:51:01 +01:00
Jim Monte ac49ccaf58 Fixed compile warning about signed/unsigned comparison. 2020-03-15 08:51:01 +01:00
Jim Monte d254b6c97e Gave structure defining Mif_Complex_t a name so that it could be forward referenced. 2020-03-15 08:51:01 +01:00
Jim Monte bfe660e57b Formatting and added comments 2020-03-15 08:51:01 +01:00
Jim Monte 082f36e794 Formatting 2020-03-15 08:51:01 +01:00
Jim Monte 2f8b7ab062 Minor fix to end-of-index processing of let command 2020-03-15 08:51:01 +01:00
Jim Monte b967caaabb File path built more efficiently and now allows an arbitrary length. Prevented strdup() of NULL if path too long. Similarly prevented fopen with a NULL file name. Added function to determine Windows absolute paths properly. Fixed numerous issues that were caused by including Windows system header due to conflicting names. Generally a CMPP_ prefix was added as a "namespace". Also used the standard C bool type instead of defining one. 2020-03-15 08:51:01 +01:00
Jim Monte 0c741bbde2 Rework of let command. Added support for slices as described in feature #69 and fixed several crashes and issues described in bugs #443, #444, #446, #447, and #448. 2020-03-15 08:51:01 +01:00
Jim Monte 7990a82f02 Formatting and comments added 2020-03-15 08:51:01 +01:00
Jim Monte 3a2a05f7b0 Removed unnecessary comparisons when lowercasing a string. 2020-03-15 08:51:01 +01:00
Jim Monte b767df3a7e Modified calculation to determine when memory is nearly exhausted. Also changed prototypes of memory reporting functions to match their definitions. 2020-03-15 08:51:00 +01:00
dwarning 93317c87a9 simplify beta derivation 2020-03-15 08:51:00 +01:00
dwarning e966ce5054 alternative temperature model for extrinsic resistances and subthreshold range 2020-03-15 08:51:00 +01:00
Holger Vogt ec1d655289 In VDMOS device, if instance parameter tnodeout is set,
check for exactly five nodes
2020-03-15 08:51:00 +01:00
Holger Vogt 643b0edc26 enable local or global statistical values for B source
pre_set statlocal
(or set statlocal in spinit or .spiceinit) will be setting a
different random number for evaluating the value of fcn agauss
etc. in each B line, e.g. if this line appears in a subcircuit,
all expanded B lines will have different values. If not set,
each B line will use the same random number for agauss evaluation.
2020-03-15 08:51:00 +01:00
Holger Vogt 1353a5de77 allow again single letter vector names 2020-03-15 08:51:00 +01:00
dwarning 0fb1c6a000 prevent program crash by misusing thermal model 2020-03-15 08:50:59 +01:00
dwarning 7d17b8f082 vdmos have no Cgb 2020-03-15 08:50:59 +01:00
dwarning 0362d63094 update vdmos with self-heating network and tj and tcase terminal 2020-03-15 08:50:59 +01:00
Holger Vogt f585807085 re-enable V source with parameter EXTERNAL
Fix bug #463
2020-03-15 08:50:59 +01:00
Holger Vogt b699c7fad8 add the PSPICE vswitch S_ST variant,
which resolves to the classical ngspice sw switch
2020-03-15 08:50:59 +01:00
Holger Vogt 9d53780992 allow vec_get to verify vectors if their names are quoted by "" 2020-03-15 08:50:59 +01:00
Holger Vogt 987cc0aa86 another preliminary patch for macOS 2020-03-15 08:50:58 +01:00
Holger Vogt 7680be7312 stub to enable compilation on macOS,
memory info for macOS is currently not available.
2020-03-15 08:50:58 +01:00
dwarning fa8a77343b format line with LF 2020-03-15 08:50:58 +01:00
Holger Vogt b7012065ae remove compiler warning by setting variables to 0 2020-03-15 08:50:58 +01:00
Holger Vogt a9f83f3445 remove two small memory leaks 2020-03-15 08:50:58 +01:00
Holger Vogt 58901fe898 remove spurious error message 2020-03-15 08:50:58 +01:00
Holger Vogt 7ae76f0f51 update to the .measure and meas error messages:
remove crash uipon buggy inputs
add buggy example input file
unify fcn returns: 0 is OK, 1 is bad
Improve on error message for bad syntax
2020-03-15 08:50:58 +01:00
Holger Vogt e9603dcdeb enable inp_dodeck() to return an error state,
if error, inp_spsource() will return error as well
2020-03-15 08:50:57 +01:00
Holger Vogt 651ba72344 return immediately if ckt is NULL 2020-03-15 08:50:57 +01:00
Holger Vogt 51f80abe00 if inp_spsource() returns with an error code, emit a message 2020-03-15 08:50:57 +01:00
Holger Vogt f9307d0beb enable returning inp_spsource() with an error code 2020-03-15 08:50:57 +01:00
Holger Vogt 0c74820821 enable PSPICE compatible ~(~v(9)&v(8)) 2020-03-15 08:50:57 +01:00
Holger Vogt 46adeb5eaa plug memory leaks for the 'plot' command 2020-03-15 08:50:57 +01:00
Holger Vogt 573b270b6d Give a better, modern name for this type of display 2020-03-15 08:50:57 +01:00
Holger Vogt b1be546939 User expects an empty input line, not a text that has to be deleted befopre writing 2020-03-15 08:50:57 +01:00
Holger Vogt 966b69090d use only TMALLOC and TREALLOC for memory allocation 2020-03-15 08:50:56 +01:00
Holger Vogt 53613f4e69 deprecated gets() -> fgets() 2020-03-15 08:50:56 +01:00
Holger Vogt 85e0a08cff error message even if pNAME is not defined 2020-03-15 08:50:56 +01:00
Holger Vogt 39ce1f77d2 patch provided by Vito (see
https://sourceforge.net/p/ngspice/discussion/133842/thread/31aa24261e/ )
2020-03-15 08:50:56 +01:00
Holger Vogt 09f829b863 Further improvement of error message im 'meas' 2020-03-15 08:50:56 +01:00
Holger Vogt 94d5ad312e Improve error messages for the 'meas' command. 2020-03-15 08:50:56 +01:00
Jim Monte d4088c896a Restored command arguments accidentally deleted. 2020-03-15 08:50:56 +01:00
Jim Monte 4b145ddf5e Added #include <stdio.h> to define FILE. 2020-03-15 08:50:55 +01:00
Jim Monte 06ebf80983 Modified search for init file so that it searches both <HOME> and <USERPROFILE> if both are defined. 2020-03-15 08:50:55 +01:00
Jim Monte 2068c4fffb Added -D/--define option to define a variable from the command line. 2020-03-15 08:50:55 +01:00
Jim Monte 372fe2a5e7 Opened binary files for writing using "wb" in all cases 2020-03-15 08:50:55 +01:00
Jim Monte 21f3eb74b8 Added basic help messages in addtion to reference to web pages 2020-03-15 08:50:55 +01:00
Jim Monte de4788cfe5 Added conjugate function conj(). 2020-03-15 08:50:55 +01:00
Jim Monte a7946474fa Additional freeing of device-dependent information for bug #419 and related bugs. 2020-03-15 08:50:55 +01:00
Jim Monte d3343b1791 Removed redundant macro 2020-03-15 08:50:55 +01:00
Jim Monte 0cf53a34b2 Fixed resolution of ~ to home directory. (Bug #405) Also fixed potential buffer overruns in glob expansion 2020-03-15 08:50:54 +01:00
Jim Monte ce5410d33f Fixed checking for redirection tokens 2020-03-15 08:50:54 +01:00
Jim Monte cec6a8edd3 Fixed access of freed memory when reporting an error. 2020-03-15 08:50:54 +01:00
Jim Monte 8141a634d7 Fixed several issues related to plotting and vector lifetimes and made ownership of vectors clearer. The issues in bugs 419, 423, 425, and 426 were related and were addressed here. 2020-03-15 08:50:54 +01:00
Jim Monte 57ffe1769f Fixed "phantom vector" issue with plots and crash when plots are resized. See bugs #419 and #423 for details. Also several parameters were changed from char * to const char * in the plotting functions. 2020-03-15 08:50:54 +01:00
Jim Monte 9d2c105942 Fixed bug with 255 card deck entered using circbyline 2020-03-15 08:50:54 +01:00
Jim Monte e1ec2a21dd Added error recovery when invalid foreach statement found 2020-03-15 08:50:54 +01:00
Jim Monte 690b7730fe Fixed memory leak when empty word found. 2020-03-15 08:50:54 +01:00
Jim Monte b120e7bd21 Fixed reporting of system information in Windows. 2020-03-15 08:50:53 +01:00
Jim Monte 271afc87cf Made UI more consistent when comments are entered. 2020-03-15 08:50:53 +01:00
Jim Monte 2df00ad8c9 Cleaned up defintions of macro constants 2020-03-15 08:50:53 +01:00
Jim Monte 2f3b9d0f2d Used Win32 function PathIsRelativeA() to identify an absolute path instead of checking the string since the system function may handle more cases (network shares, etc.). Also reviewed formatting that was done on inpcom.c by a code beautifier in an earlier commit. Nearly all of it was an improvement, but a few cases were reverted back to closer to the original form. One particular instance was comments where a list of steps was given one per line. 2020-03-15 08:50:53 +01:00
Jim Monte 70600258bb Made checking for single-character words faster. The testing now also uses less memory and works for 8-bit characters, which would have previously caused buffer overruns. It is also more modular and has additional documentation. 2020-03-15 08:50:53 +01:00
Jim Monte 92725594f3 Used the new capabilities of ft_numparse() to allow the creation of variables and list items of type CP_NUM 2020-03-15 08:50:53 +01:00
Jim Monte ad970ae4e7 Made cp_enqvar() mode modular by adding a separate function to handle the case of a vector. Lists are more efficiently handled by moving common comparisons out of the loop over elements. The first argument of cp_enqvar() is changed from char * to const char * since the name of the variable being found is not altered by the function. 2020-03-15 08:50:53 +01:00
Jim Monte 72801b1ab1 Fixed buffer resizing, made string utilities more modular, and added several new utilities, some which do not require a null termination, potentially avoiding the need to copy a string. Also some substring utilities using the Rabin-Karp algorithm were added. 2020-03-15 08:50:52 +01:00
Jim Monte f7951af50b Fixed locating vectors like V(node) 2020-03-15 08:50:52 +01:00
Jim Monte 81fa829b7d Fixed potential infinite loop (until memory is exhausted) and added several utility functions for processing strings. 2020-03-15 08:50:52 +01:00
Jim Monte 068df274bf Made ft_numparse() thread-safe (no internal static variables) and prepared to support ngspice variable type CP_NUM. 2020-03-15 08:50:52 +01:00
Holger Vogt 89411e2fe4 Fixed merge conflict. Also made readifile() static and removed an unnecessary string duplication there. 2020-03-15 08:50:52 +01:00
Jim Monte 873e4a8db0 Added no_histsubst option and related fixes 2020-03-15 08:50:52 +01:00
Jim Monte 4bd4a6e9be Fixed usage of new dstring functions. Also added const to some parameters that did not change. 2020-03-15 08:50:52 +01:00
Jim Monte 75d233c40d If the prompt variable was set to a value that is not a string, memory that has been freed would be used when displaying the command prompt. This could lead to strange prompts and possible access violations, although it may appear to work OK if the freed memory has not been modified. This issue is fixed. Some useless duplications of strings when defining variables are also removed. 2020-03-15 08:50:51 +01:00
Jim Monte b677ae1611 The check for the scale vector was not comparing the name in a case-insensitive manner, so unlet Yes would delete the default yes scale vector, for example. That issue was corrected. The code was also made more modular and descriptive regarding the check for the scale vector. Also, the warning now prints the scale vector as it is stored to make clear that vector names are not case sensitive. 2020-03-15 08:50:51 +01:00
Jim Monte b7d8c61cd9 Cleaned up code to locate a vector in a plot by name. The code was made more modular, and special names like allv are handled more efficiently 2020-03-15 08:50:51 +01:00
Jim Monte c7b95587de Fixed compiler warnings regarding type of argument passed 2020-03-15 08:50:51 +01:00
Jim Monte c368f32039 Added a macro R_MIN to define the minimum resistance value aS 0.01 and replaced the numeric value with the macro in the sourc code. 2020-03-15 08:50:51 +01:00
Jim Monte 89efe5aeae Dynamic string (dstring) rework 2020-03-15 08:50:51 +01:00
Holger Vogt 9452121954 Remove memory leaks in cmpp.
Two small ones (a few bytes) are still there, difficult to assess.
2020-03-15 08:50:51 +01:00
Holger Vogt 29b2799c22 plug a memory leak by CALLBACK,
deleting locally malloced memory
2020-03-15 08:50:51 +01:00
Holger Vogt e89a92f944 prevent referencing a NULL pointer
free the loc pointer and NULL its origin STATIC_VAR (locdata)
(that translates to mif_private->inst_var[0]->element[0].pvalue)
2020-03-15 08:50:51 +01:00
Holger Vogt 707936efe3 enable setting a variable from an input file
using the existing i/o redirection
2020-03-15 08:50:50 +01:00
Holger Vogt 05f02f3662 On Linux: allow calling gnuplot without invoking a terminal.
Reported by Terry Pilling
2020-03-15 08:50:50 +01:00
Holger Vogt 9238c0f9d4 prevent crash if 0 length vector is assessed 2019-11-30 11:43:29 +01:00
Holger Vogt ac65968595 allow 'dc TEMP 10 20 1' as well as 'dc temp 10 20 1' 2019-11-30 11:43:12 +01:00
Holger Vogt ee5f4cfc29 Replace B source pwl by XSPICE PWL Controlled Source
that has smooth rounded and differentiable corners.
This is used in the replacem,ent operation evaluating
Exxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
2019-11-30 11:42:00 +01:00
Holger Vogt b76fbf99fe Replace B source pwl by XSPICE PWL Controlled Source
that has smooth rounded and differentiable corners.
Microchip or On-Semi OpAmps that needed gmin and source
stepping for operating point calculation  now converge
without, others like MCP6001 that generally refused
to converge are o.k. now. Reason is the heavily used
Gxxx n1 n2 TABLE {expression} = (x0, y0) (x1, y1) (x2, y2)
from the OpAmp models.
2019-11-30 11:39:09 +01:00
Holger Vogt 917ea99758 enable system info for Windows 10,
exclude function not existing in older SDKs
2019-11-30 11:38:53 +01:00
Holger Vogt 6598225ec0 Replace deprecated GetVersionExA by version helper functions
Add new macro _MSC_PLATFORM_TOOLSET to check for toolset
2019-11-30 11:38:25 +01:00
Holger Vogt de9dfad0c9 remove VS 'assignment within conditional expression' warning 2019-11-30 11:38:11 +01:00
Holger Vogt 13a6e042f6 remove 'unreachable code' warning 2019-11-30 11:37:49 +01:00
Holger Vogt dc1ee5f11f remove 'potentially uninitialized' warning 2019-11-30 11:37:02 +01:00
Holger Vogt ceea40e012 Revert "enable compiling with readline for macOS"
This reverts commit 11df2b7719.
2019-11-30 11:36:09 +01:00
Holger Vogt 71917744a8 remove superfluous double parentheses 2019-11-30 11:35:56 +01:00
Holger Vogt 7983b0d16a macOS: Do not use deprecated finite, but isfinite 2019-11-30 11:35:44 +01:00
Holger Vogt fa58223204 update for Linux 2019-11-30 11:35:24 +01:00
Holger Vogt 5542729694 fix for macOS 2019-11-30 11:35:12 +01:00
Holger Vogt 67f6fda216 Complete redesign of memory monitoring in resource.c.
Acquiring memory size is done by four functions
getMemorySize, getAvailableMemorySize, getPeakRSS,
and getCurrentRSS.
Time data are still obtained without code modifications.
2019-11-30 11:34:58 +01:00
Holger Vogt 22b111d9c0 tabs to spaces 2019-11-30 11:34:48 +01:00
Holger Vogt 6cd2e245c4 Add resource info on memory used and available for macOS 2019-11-30 11:34:35 +01:00
Holger Vogt 42e99ec66c safeguard against crash if instance lines are incomplete 2019-11-30 11:33:04 +01:00
Holger Vogt 33985ae1e5 Make DEVNUM robust against double initialization. 2019-10-05 13:17:38 +02:00
Holger Vogt 2f396187fa Better indentation of message 2019-10-05 13:17:30 +02:00
Holger Vogt 0575481206 Better info in case of error
Initited by a patch from Bohdan Tkhir
2019-10-05 13:17:22 +02:00
Holger Vogt eb667118cf If there are no controls, just skip creating the controls thread. 2019-10-05 13:17:11 +02:00
Holger Vogt a4402f1da7 prevent potential false reads if 'controlswait' is set. 2019-10-05 13:16:40 +02:00
Holger Vogt 03c5870034 in ps compatibility mode: translate t_measured to tnom 2019-10-05 13:16:25 +02:00
Holger Vogt 552d587deb readability 2019-09-28 16:21:44 +02:00
Holger Vogt 976c949c86 avoid false warnings of model not found 2019-09-28 16:21:36 +02:00
Holger Vogt 8276ef7b58 correct typos found by linthian 2019-09-28 12:24:09 +02:00
Holger Vogt 840d00c4ca no actions if controls thread tid2 is not set 2019-09-28 12:01:09 +02:00
Mamoru TASAKA fa0fc7f131 tclspice: avoid get_plot function type conflict
re-name get_plot as get_plot_by_index
2019-09-28 12:01:04 +02:00
Holger Vogt 9e427a1a1e Better thread handling
Embed thread tid2 into tid1
Avoid spurious thread collisions
2019-09-28 12:00:57 +02:00
Holger Vogt 1085512be5 Do not start a spurious thread with empty controls 2019-09-28 12:00:48 +02:00
Holger Vogt 712014b6db Does crash with recent Linux openSUSE Tumbleweed
Not required by shared ngspice
2019-09-28 12:00:31 +02:00
Holger Vogt cf752bf730 Revert "encapsulate fcn calls to cp_evloop into a mutex"
This reverts commit 2426a037db.
2019-09-28 12:00:23 +02:00
Holger Vogt 92b237da3b Missing files in distribution
Correction to commit
Fix a build error on FreeBSD 12, bison 3.3.2, automake 1.16.1 and BSD make
2019-09-28 12:00:16 +02:00
Kevin Zheng 6f20ec9929 patch to simplify compile for FreeBSD 2019-09-28 12:00:05 +02:00
Holger Vogt 11df2b7719 enable compiling with readline for macOS
which has a very simple readline header only
2019-09-20 20:43:36 +02:00
Holger Vogt acd0c7156c return immediately if empty commands are sent 2019-09-20 19:22:47 +02:00
Holger Vogt 2426a037db encapsulate fcn calls to cp_evloop into a mutex
thus preventing thread collisions
2019-09-20 19:21:56 +02:00
Holger Vogt 191ad0a574 avoid warning about potentially undefined variable 2019-09-14 12:43:48 +02:00
Holger Vogt ec6d676920 Make CopyGraph safe against NULL argument.
Otherwise memcpy will fail.
2019-09-14 12:38:57 +02:00
Holger Vogt aa726c9864 Make ...search_identifier safe against NULL arguments
Otherwise strstr will fail
2019-09-14 11:30:20 +02:00
Holger Vogt 0071ad8569 If a subcircuit is defined more than once,
only read the first one, rename the others und thus discard them.
2019-09-14 11:28:32 +02:00
Holger Vogt 972785095f Avoid crash, and send error message when r,l,c
instance lines does not have enough tokens.
2019-09-14 11:28:07 +02:00
Holger Vogt f9deefe326 Skip '\r' when reading lines from a file 2019-09-14 11:27:23 +02:00
Holger Vogt 8fc1b70e93 Bug #424 now lower-casing whenh following the redirection token >
Re-order the code for defining exceptions for not lower casing
2019-09-14 11:27:13 +02:00
Holger Vogt cdc8d3d054 new_title may contain a \r, remove it 2019-09-14 11:26:52 +02:00
dwarning 134e92b78f vbic model implementation including self-heating effect 2019-09-14 11:26:10 +02:00
Holger Vogt 1c8992bf15 Enable the file input as search path for .include files
also for non-Wondows OSs
2019-09-14 11:25:34 +02:00
Holger Vogt 9543a5644c Improve handling of non-printable characters (esp. for Linux)
If there is an isolated non-printable character leading the line,
convert it to *.
In fact there are some, e.g. in device lib TL072.301 from TI.
2019-09-14 11:25:07 +02:00
Holger Vogt 88008af088 remove memory leaks 2019-09-14 11:24:34 +02:00
Holger Vogt afdd0fe85e comments added
White spaces according to clang format
2019-09-14 11:24:05 +02:00
Holger Vogt 4cf2b5e5ce remove commenting out unused .model lines
from comment_out_unused_subckt_models().
This now handled by inp_rem_unused_models()
taking appropriate scoping into account.
2019-09-14 11:23:40 +02:00
Holger Vogt 6669cbc17c add function inp_rem_unused_models().
checking for unused models now also removes models
that are out of scope.
2019-09-14 11:23:24 +02:00
rlar 9e729bc8ee bug fix, avoid segfault when instantiating a unknown subcircuit 2019-09-14 11:22:52 +02:00
rlar e2b3dffcff drop bogus_find_subckt, use a proper scoped search 2019-09-14 11:22:39 +02:00