Holger Vogt
b07a54b8e1
test of supply ramping
2021-09-29 20:07:42 +02:00
Holger Vogt
7de526237e
upon finishing 'optran', restore old CKTstep
...
remove unused
2021-09-29 20:06:35 +02:00
Holger Vogt
0eafec254e
safeguard command 'optran' against circuit no being loaded
2021-09-29 20:05:56 +02:00
Holger Vogt
cf61e1e564
add missing header
2021-09-29 20:05:28 +02:00
Holger Vogt
83e223fafc
header for optran
2021-09-29 20:05:08 +02:00
Holger Vogt
a20afc54a5
When we sre ready, reset CKTmaxstep to its previous value
2021-09-29 20:04:26 +02:00
Holger Vogt
3956095484
set maxstepsize to stepsize
2021-09-29 20:04:08 +02:00
Holger Vogt
ecdb3b9eb4
set the task values, not the ckt values,
...
because task is called only afterwards when
the simulation command is given.
2021-09-29 20:03:31 +02:00
Holger Vogt
fd36eb552f
set stepsize
2021-09-29 20:02:11 +02:00
Holger Vogt
ab6224767b
Add command 'optran' to set 6 flags for transient op
2021-09-29 20:01:44 +02:00
Holger Vogt
df0792818f
Transient op calculation added to the standard operating point code.
...
When standard iteration, gmin stepping and source stepping fail,
try a transient simulation (like tran with uic option) to
determine the op. Implemented for AC and Tran simulation.
2021-09-29 20:00:29 +02:00
Holger Vogt
a08e6a0676
Add new SOA parameters (safe operating area) for BJT.
...
We now scan for max of Ic, Ib, power, taking into
account the max allowed temperature, using the thermal
resistance rth0 model parameter between juntion and ambient.
Two user options are there: If rth0 is given, we calculate
a derating of the max power allowed.
Without a constant max power according to model param pow_max
is assumed.
The new model parameters for the bipolar model are:
pow_max, ic_max, ib_max, te_max, and rth0, in addition
to the already existing vbe_max, vbc_max, adn vce_max.
2021-09-29 19:59:58 +02:00
Holger Vogt
1084b4205c
Allow global .temp in addition to instance parameter 'temp'.
...
Update to comments.
2021-09-29 19:59:28 +02:00
Holger Vogt
9221df234c
Patch to allow (and ignore) leading or trailing commas
...
when putting {} around tokens. Tested with PWL voltage source.
Patch has been suggested by Liqian Zhang
2021-09-29 19:58:36 +02:00
Holger Vogt
33571877dc
Some update to SOA for a diode:
...
Limit output to four digits
Add power and temperature limits.
Derating with self-heating, or with fixed temperature,
or no derating at all, selectable by setting model parameters.
Example file: SOA plotted as frame, with diode current.
2021-09-29 19:58:11 +02:00
Holger Vogt
759f4f5f84
Make the output a little more verbose:
...
add terminal voltage to Id, Te, and Pd outputs.
Compare SOA data to terminal voltage, not (unknown) junction voltage.
2021-09-29 19:57:54 +02:00
Holger Vogt
9c8380a031
Enhance the SOA (safe operating area) operations
...
Parameters id_max, pd_max and te_max have been added
for current, power, and temperature to the already existing
fv_max and bv_max (max forward and backward volteges).
2021-09-29 19:57:34 +02:00
Holger Vogt
e5fdb4c742
Patch sorts 1 byte vars in sequence,
...
to save some memory.
Patch #107 provided by Florian Ballenegger
2021-09-29 19:57:08 +02:00
Carsten Schoenert
2c2e21a80c
Smal typo fixup s/currntly/currently
2021-08-08 11:56:30 +02:00
Holger Vogt
605f59b417
Fix a bug with the alter statement
...
lower case for device name, when sent from shared ngspice
or from interactive mode.
2021-08-08 10:21:22 +02:00
Holger Vogt
9a2d968577
When transferring boolean data over the ABI, keep them as boolean types, not integer
...
Replace the type of all boolean variables around the ABI by NG_BOOL.
NG_BOOL is typedefed to _Bool, when compiling shared ngspice. When
sharedspice.h is use externally NG_BOOL is typdefed to bool
2021-08-03 15:57:58 +02:00
Carsten Schoenert
61b5c0563b
src/Makefile.am: Adopt used variables for lib versioning
...
A small adjustment so the configured ABI version from configure.ac will
get used for creating the libngspice library.
2021-08-03 15:56:02 +02:00
Holger Vogt
4258fe94b5
Add library versioning according to
...
https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html#Libtool-versioning
Add package versioning with m4 macros
2021-08-03 15:55:16 +02:00
Holger Vogt
6aac403ab0
XSPICE delay: add some more safeguards
2021-08-03 15:53:42 +02:00
Holger Vogt
4feb43e067
Prepare ngspice-35
2021-07-22 20:38:08 +02:00
Holger Vogt
4dbd8b7f9a
Preliminary fix for the 'interpolate' function.
...
Interpolation of 1D vectors is o.k. now,
multi-dimensional vectors are not (yet) supported.
2021-07-22 20:37:57 +02:00
Holger Vogt
1977128380
Prevent crash when CIDER diode models are used.
...
There is no third node in NUMD or NUMD2, so don't set
GENnode(fast)[i]. This patch fixes a bug introduced in
4895a4b5a ("Diode model with selfheating option", 2021-04-11)
2021-07-20 14:24:43 +02:00
Holger Vogt
9cc9c56cad
Don't write past '\0', fixes a bug in commit
...
1c5e0d11d ("If there is a XSPICE code model .model line with
file input, keep quotes and case for the file path.", 2021-07-15)
2021-07-18 11:19:51 +02:00
Holger Vogt
b7473a33a0
Check for double '{', replace the inner '{', '}' by '(', ')'
...
in .subckt or .model (which both may stem from external sources)
2021-07-18 10:29:16 +02:00
Holger Vogt
85b07e35bf
Fixes bug 483
...
prevent crash when surface mobility (surfmob) has been
selected in 2D simulation.
The patch is provided by Brian Taylor (see
https://sourceforge.net/p/ngspice/mailman/ngspice-devel/thread/e6e921a3-677c-f513-7410-df8568c4bdad%40comcast.net/#msg37318450
)
2021-07-16 10:53:07 +02:00
Holger Vogt
1c5e0d11dd
If there is a XSPICE code model .model line
...
with file input, keep quotes and case for the file path.
2021-07-16 10:52:54 +02:00
Holger Vogt
15a3ed87c0
Enable the m parameter in E, G, B, R behavioral source/devices
2021-07-16 10:52:21 +02:00
Holger Vogt
973a60b898
re-enable making the old help system for Linux/Cygwin
...
by --enable-help --enable-oldapps
2021-07-08 15:34:41 +02:00
Holger Vogt
d34d1e7c7c
Get immediate response into text window,
...
when requesting information on coordinates.
2021-07-07 19:50:50 +02:00
Holger Vogt
182a4d3f5f
WinGUI: Push any remaining error message into text window
...
before emitting interactive error message window and exit.
2021-07-07 19:50:37 +02:00
Holger Vogt
ae72677cc2
Remove a false read when curr_line has
...
already been invalidated.
2021-07-05 19:43:25 +02:00
Holger Vogt
0f25c25c7e
Remove a memory leak
...
Make inp_rem_levels non-static
and use it to remove 'root' after it has been used.
2021-07-05 19:42:14 +02:00
Holger Vogt
54cbfb4138
Nodedamping: Make difference independent of the sign
...
of the difference
2021-07-05 14:32:57 +02:00
Holger Vogt
c74321e0f5
JFET2: Add a link to literature
2021-07-05 14:32:47 +02:00
Holger Vogt
93ddc7a3eb
Enhancement for E source with table, convert to B source with pwl:
...
Add G source
Allow 'table' also being part of a parameter name like 'table_something'
2021-07-05 14:32:34 +02:00
dwarning
0ece04cdc8
Add channel type determination belong nmos/pmos model parameter
2021-07-05 14:32:14 +02:00
Holger Vogt
fe158341ba
Don't show message for every iteration
2021-07-05 14:31:47 +02:00
Holger Vogt
c38b8e3615
Fix a bug in the 'dc' progress report
2021-07-05 14:31:32 +02:00
Holger Vogt
8eeb924460
CIDER: Enable printing either binary or ascii data output to file.
...
Patch provided by Brian Taylor, see
(https://sourceforge.net/p/ngspice/mailman/message/37309841/ )
2021-07-05 14:31:21 +02:00
Holger Vogt
9bb401d9cd
Add a 'qsort' dummy according to current compiler standards.
...
Detected during the very rare condition of not finding a 'qsort'
during the ./configure step.
2021-07-05 14:31:08 +02:00
Holger Vogt
76eac5aa0f
Make error message more verbode
2021-07-05 14:30:35 +02:00
Holger Vogt
a4be66b9b0
Prevent crash if there is bad syntax in h, g, e, or f line
2021-07-05 14:30:26 +02:00
Holger Vogt
31fbf910af
Crash when trying to delete root and netlist:
...
Revert the order of deletion: Firstly the root, then the netlist.
2021-07-05 14:30:08 +02:00
Holger Vogt
858689d206
Make syntax check for nesting of .subckt ... .ends more verbose:
...
Try to find out where .subckt/.ends may be doubled, or missing.
2021-07-05 14:29:50 +02:00
Holger Vogt
52b5e218c7
Add '\f' to characters to be replace by '+'
...
during the syntax check of an netlist input file.
2021-07-05 14:29:35 +02:00
Holger Vogt
c061747f19
Add evaluating and using temp and dtemp
...
as ASRC instance parameters.
2021-07-05 14:29:10 +02:00
Holger Vogt
ddcc6f6097
add a comment: we should use TNOM, but not a fixed 300.15.
...
TNOM still has to be added to the ASRC parameters.
2021-07-05 14:28:51 +02:00
Holger Vogt
dcde7b590e
Don't put brackets around dtemp and temp, when they denote
...
instance parameters and thus are on the left hand side of '='
2021-07-05 14:28:39 +02:00
Holger Vogt
945786fba7
Make PTcheck more verbose:
...
Send error message containing failed expression
2021-07-05 14:28:19 +02:00
Holger Vogt
7e01b800f0
add the parameter name to error message of missing or bad parameter
2021-07-05 14:28:07 +02:00
Holger Vogt
7eb791fe00
No parse tree submitted to IFeval:
...
Prevent segfault and emit error message
2021-07-05 14:27:46 +02:00
Holger Vogt
19abc83312
Make the choice of last commit mor obvious
2021-07-05 14:27:23 +02:00
Holger Vogt
87a9d87f7d
Replace identifier by func not only after '=', but also '{'
...
Extension to commit
61e48f984 ("Start replacing identifiers by func only after the first '='", 2021-06-18)
2021-07-05 14:26:57 +02:00
Holger Vogt
68e51848a4
logic condition to check only 'x' lines had not been given
2021-07-05 14:26:46 +02:00
Holger Vogt
d0ca6a4773
Start replacing identifiers by func only after the first '='
2021-07-05 14:26:21 +02:00
Holger Vogt
36069467fb
Clarify that 'scale set to ...'
...
is not a query, but a statement
by 'scale is set to ...'..
2021-07-05 14:25:49 +02:00
Holger Vogt
5d1dfdf34e
Fix a comment
2021-07-05 14:25:26 +02:00
Holger Vogt
06136d2d02
Set the default line width for grid and graph to 1.
...
0 is possible but seems to be too thin for reasonable plots.
2021-07-05 14:25:13 +02:00
Holger Vogt
028dd0ab88
Remove unused
...
Add a delay of half a time step to reduce error
2021-07-05 14:24:46 +02:00
Holger Vogt
abc6eb56f3
Plausibility checking
...
Enforce out=in when delay == 0
2021-07-05 14:24:29 +02:00
Holger Vogt
fbab9a0fe2
Add an analog delay source for transient simulation
...
Internal circular memory of size tstop/tstep or user defined.
(aprox.) every tstep a value is stored.
Delay time in multiples of tstep, by control voltage or user defined.
Dc or ac sim will simply connect input to output.
2021-07-05 14:24:06 +02:00
Holger Vogt
0d2d034eb2
Add devices s and w to previous commit.
...
R and C are not yet covered here, due to the many
varieties available.
2021-07-05 14:23:52 +02:00
Holger Vogt
c033298db9
Don't replace a device model name by a parameter, if both
...
have the same names.
This is an extension to commit
7706889a0 ("inpcom.c, fix bug no 384 do not quote fourth
token in f, h lines otherwise if dev name equals param
name parsing fails", 2018-12-08)
Fixes bug 327 reported by T. Edwards at
https://github.com/google/skywater-pdk/issues/327
2021-07-05 14:23:23 +02:00
Holger Vogt
03517ae86c
Define the function DevFinalize as used in the previous commit.
2021-07-05 14:22:55 +02:00
Holger Vogt
5e8ae680db
Don't do gr_redraw twice (for non-X11 is already
...
done in gr_resize)
Add a function DevFinalize() to add the closings in SVG or PS
files ("/> or "stroke"), when files are generated by the
plot window in MS Windows.
2021-07-05 14:22:33 +02:00
Holger Vogt
a6079781ea
Fix previous commit, enable name upgrade for Linux and other non-Win OSs
2021-07-05 14:22:10 +02:00
Holger Vogt
1176bdb0b0
Bug: Plot window switching did not change the plot content.
...
Enable plotting the current graph to svg or ps by selecting
the graph from the current plot window.
2021-07-05 14:21:47 +02:00
Holger Vogt
604c4624d1
Within a single run, allow multiple plots with different names:
...
Add an increasing number to the id file name.
2021-07-05 14:21:16 +02:00
Holger Vogt
0f4d953950
Open mrdump file not in append, but in write mode
2021-07-05 14:20:55 +02:00
Holger Vogt
273b773280
New pswitch is not compatible to iswitch
...
Keep the old aswitch until a modified pswitch is available.
2021-07-05 14:20:31 +02:00
Holger Vogt
93f6a50553
New author
2021-07-05 14:20:14 +02:00
Holger Vogt
22a516bc4d
New author
2021-07-05 14:19:56 +02:00
Holger Vogt
d36fcaf34c
Neew pswitch with patch 0001-pswitch-fix.patch from Jube 3rd, 21 at
...
https://sourceforge.net/p/ngspice/discussion/127605/thread/d55d2322f2/#c966/b802/4764/2540/3b3f/04a4/bc51/3a68
Input resistance, numerically computed derivatives with auto-partial, reasonable limits.
2021-07-05 14:19:43 +02:00
Holger Vogt
5cc5e351f1
prepare for the new pswitch with g, gd input
2021-07-05 14:19:28 +02:00
Holger Vogt
9abb61d6ac
Bug fix for %i(node1) in an A instance.
...
Don't do i() replacement in an A instance as shown above.
2021-07-05 14:19:12 +02:00
Holger Vogt
e0d5d98b33
Just a reminder that truncation is currently diabled for CSW
2021-07-05 14:18:40 +02:00
Holger Vogt
c46676d06e
If compatmode PS is set, translate vswitch and iswitch to pswitch.
...
This reverts commit 025a9fe59 ("Partially undo commit [ab778d] : revert to aswitch as vswitch replacement", 2020-11-22)
Successful OpAmp tests vote for pswitch.
Enable iswitch.
2021-07-05 14:18:30 +02:00
Holger Vogt
f12592871a
Set derivative d out/d contrl to 0 if outside of switching range.
...
Disable auto derivatives.
Enable algorithmic derivatives.
2021-07-05 14:18:08 +02:00
Holger Vogt
db5395032f
Avoid model warning for C if compat flag lt is set.
2021-07-05 14:17:49 +02:00
Holger Vogt
1266225cdb
For C and R device enable value tokens like 4k7 or 1u2
...
in addition to 4.7k and 1.2u.
Valid for
R1 1 0 47k
C2 3 6 1u2
only. Does not interfere with other value tokens in params etc.
2021-07-05 14:17:31 +02:00
Holger Vogt
14402ffc96
Update to
...
6034c2bcd ("Internal global variable Infile_Path
is a file search path made available for the code models.
It is set when command 'source' is used.", 2021-04-17)
Correct path to variable.h
2021-07-05 14:17:01 +02:00
Holger Vogt
6d9876229c
Fixes bug #331
...
Bug detected and analysed by Arsen Liash
Patch provided by Yurii Demchyna
2021-07-05 14:16:35 +02:00
Holger Vogt
c75e4129f4
Plug another memory leak in LTRA transmission line
2021-07-05 14:16:17 +02:00
Holger Vogt
5d39ff2d8c
Plug memory leaks in transmission line LTRA
2021-07-05 14:15:20 +02:00
Holger Vogt
d2ac525f52
Plug some more memory leak in TXL transmission line.
2021-07-05 14:14:38 +02:00
Markus Mueller
74ba5c1f96
found non-initialized value!
2021-07-05 14:14:15 +02:00
Markus Mueller
5c71349bad
remove dead assign statements, yet just commented them out for the time
...
being
2021-07-05 14:14:00 +02:00
Holger Vogt
c0bd7ca6e2
Plug a memory leak in TXL transmissiom line (y device)
2021-07-05 14:13:44 +02:00
Holger Vogt
b5054cc9f1
Plug a memory leak
...
Add function HICUMdelete() to remove model->HICUMversion
2021-07-05 14:12:46 +02:00
Holger Vogt
7dd96c241c
PSPICE MC parameters are not (yet) supported, so remove them
...
from .model (lot, dev) and netlist (.distribution)
Triggered by Patch #104 by Giles Atkinson
2021-07-05 14:12:09 +02:00
Holger Vogt
58bdf9e0e6
Remove 'goto end' and 'end:' statements.
2021-07-05 14:11:48 +02:00
Holger Vogt
c2d11728c4
enable usage of parameters in .options lines.
2021-07-05 14:11:26 +02:00
Holger Vogt
78eee72b36
.temp could not apply params like
...
.ttemp {tmpparam}:
move evaluation of .temp to a later stage
2021-07-05 14:11:03 +02:00
Holger Vogt
d0da4bebd3
make variable 'dir' local
2021-07-05 14:10:44 +02:00
Holger Vogt
11d3188e19
fix typo
2021-07-05 14:10:20 +02:00
Holger Vogt
4fd7de9e34
Partially re-introduce and improve code that has been
...
inadvertently deleted in commit
83592c456 ("unify the evaluation of '.options scale=xx'
.option in a netlist will override 'options' from spinit,
.spiceinit or a script '.options scalm=xx' yields a warning,
it is not supported.", 2021-04-05)
The code transforms the option statements and adds them
to the current circuit.
2021-07-05 14:09:56 +02:00
dwarning
6bafdf70d5
sub-coll junction calculation only if ISS given
2021-07-05 14:09:35 +02:00
Holger Vogt
3a908c76ef
Prevent crash, refName may be NULL
2021-07-05 14:08:41 +02:00
Holger Vogt
98f8a4fcb2
Improve error message, if occuring during op
2021-07-05 14:08:25 +02:00
dwarning
4ca4b43801
simplify while loop for subckt diode and bjt models
2021-07-05 14:08:02 +02:00
Holger Vogt
c8db059144
Use 'm' and 'multi' correctly in PDKs
...
If there is alraedy m=xx in a subcircuit instance line,
replace it by m='m*xx' to aknowledge the additional m.
Tested with an (old) TSMC PDK and with Skywater PDK.
2021-07-05 14:07:46 +02:00
dwarning
1f95e12142
Value stored to vsub is never read
2021-07-05 14:07:26 +02:00
dwarning
52f4244345
fix Vcrit calculation for coll-subs junction and correct tlev=3 temperature model
2021-07-05 14:07:14 +02:00
dwarning
b00fa921ac
rm depreciated storage class
2021-07-05 14:06:52 +02:00
dwarning
e14dc3aaa3
few style cleanings
2021-07-05 14:06:28 +02:00
Holger Vogt
109e33f127
Improve font selection for Win GUI plot window
...
Font Names from
https://docs.microsoft.com/en-us/typography/fonts/windows_10_font_list
without option or with Bold or Italic are supported, e.g.
setcs wfont="Cambria Bold Italic".
2021-07-05 14:06:06 +02:00
Holger Vogt
80e5f67466
Reduce wchar_t string length to minimum required
...
(to be NULL-terminated for CreateWindowW)
2021-07-05 14:05:33 +02:00
Holger Vogt
c9a19c7569
Fix for bug 547
...
Reduce length of wchar_t strings to the minimum required
for conversion
Check if Bold or Italic is given in the font name, set
corresponding variable
2021-07-05 14:04:09 +02:00
dwarning
45e397727b
rm dead assignments
2021-07-05 14:03:38 +02:00
Holger Vogt
d2f6ad239f
If the input file path contains ANSI-encoded special characters,
...
utf-8 conversion and thus file opening will fail.
This patch then in addition tries opening the file with standard fopen.
2021-07-05 14:03:21 +02:00
Holger Vogt
ba262eaa5f
Internal global variable Infile_Path is a file search path made
...
available for the code models. It is set when command 'source' is used.
This patch makes the first entry in var 'sourcepath' available to
the code models as well by setting Infile_Path, when 'sourcepath'
is set in .spiceinit.
2021-07-05 14:02:51 +02:00
dwarning
a08f120518
TEMPFORMAT has already leading / in defines.h
2021-07-05 14:02:21 +02:00
dwarning
64c407332d
rm dead assignemnts
2021-07-05 14:02:04 +02:00
dwarning
9b2f3cfd5e
iter value never read - prevent compiler warning
2021-07-05 14:01:26 +02:00
dwarning
4e86cfa352
diode cbv only needed for tracing - prevent compiler warning
2021-07-05 14:01:09 +02:00
dwarning
2b2e40793e
correct indentation
2021-07-05 14:00:44 +02:00
Holger Vogt
741cab390f
Prevent a crash when the number of models exceeds MODNUMBERS
...
Raise MODNUMBERS to 2048
https://github.com/kicad-spice-library/KiCad-Spice-Library/issues/16
2021-07-05 13:59:53 +02:00
Holger Vogt
66cbac3f4e
Fixes a bug introduced by commit [4895a4]
...
Re-enables R with .model like
.model R_NOISELESS RES (TCE=0 T_ABS=-273.15)
R77 1 0 R_NOISELESS 100
2021-07-05 13:59:24 +02:00
dwarning
b1bf7ea0ad
Diode model with selfheating option
2021-07-05 13:58:51 +02:00
Holger Vogt
48acb10929
Remove compiler warnings
2021-07-02 11:58:30 +02:00
Holger Vogt
e91ec306ba
Remove some compiler warnings
2021-07-02 11:58:10 +02:00
Holger Vogt
2536b78acb
Allow tailing '\0'
...
Remove potentially user induced buffer overflow by replacing
sprintf by snprintf.
2021-07-02 11:57:30 +02:00
Holger Vogt
053e8c5a04
remove compiler warning
2021-07-02 11:56:29 +02:00
Holger Vogt
d5fd9c8625
correct function prototype
2021-07-02 11:56:14 +02:00
Holger Vogt
45c171635a
Remove compile error which may occur with specific settings
2021-07-02 11:55:28 +02:00
Holger Vogt
19ddeb8fe6
formatting (not complete)
2021-07-02 11:54:59 +02:00
Holger Vogt
545d2f9177
Report an error when trying to define ports
...
'v', 'vd', 'i', and 'id' as 'inout'
Parch 105 provided by Giles Atkinson
2021-07-02 11:54:34 +02:00
Holger Vogt
bc74caca2f
Don't create cat2strings if on VS2019
2021-07-02 11:54:06 +02:00
Holger Vogt
d19c8e7f41
Efficiency: Remove setting the random seed to behind the options selection
...
Evaluate '.options cshunt=xx' earlier to allow the following:
Set the option by calling INPpas4() during parsing the circuit,
before .ic is set.
Ckt and Task cshunt are still set, but their values are available
only too late for INPpas4(), but may be used by command 'option'
(w/o parameters) for assessing the options and their values.
2021-07-02 11:53:42 +02:00
Holger Vogt
911b50fa8f
Adding capacitors, one per voltage node
2021-07-02 11:52:45 +02:00
Holger Vogt
f8357dad88
Prepare Cshunt: add a cpacitor to each voltage node
...
Function inppas4() will add the extra caps, to be done.
2021-07-02 11:52:15 +02:00
Holger Vogt
db5c6cd0ec
Add some comments for inppas1,2,3
2021-07-02 11:51:57 +02:00
Holger Vogt
d07fab904c
Speed enhancement while reading large PDKs:
...
Line concatenation used tprintf, which uses vsnprintf,
which is very inefficient in Linux, MINGW, but efficient
using MSVC. Thus for the others a function cat2strings() is
introduced, which uses memccpy().
2021-07-02 11:51:18 +02:00
Holger Vogt
e2cf397b6d
Restrict the limit for exp function (linear growth when exponent
...
is larger than 14, commit [93a76d]) to the PSPICE compatibility
mode.
2021-07-02 11:50:42 +02:00
Holger Vogt
8da2f3c16d
unify the evaluation of '.options scale=xx'
...
.option in a netlist will override 'options'
from spinit, .spiceinit or a script
'.options scalm=xx' yields a warning, it is not supported.
2021-07-02 11:50:17 +02:00
dwarning
8a04d049ab
Correct scaling for area and pj geometry scaled diode (level=3)
2021-07-02 11:49:35 +02:00
dwarning
a7cf70e615
Introduce element parameter handling for geometry scaled diode (level=3)
2021-07-02 11:49:21 +02:00
dwarning
56c8a24dd7
Correct parameter handling for geometry scaled diode (level=3)
2021-07-02 11:48:53 +02:00
dwarning
2a55f50192
First attempt for geometry scaled diode (level=3)
2021-07-02 11:48:04 +02:00
Holger Vogt
4bee26b8b9
Remove unused prototype
2021-07-02 11:45:11 +02:00
Holger Vogt
7064df7f3b
Define a preprocessor flag HAS_NG_BOOL
2021-05-05 21:59:25 +02:00
Holger Vogt
f6ba097b9c
Replace BOOL by NG_BOOL
...
Avoid clashes in environments where BOOL my be used differently.
NG_BOOL is typedefed to int, as ngspice uses int for boolean variables.
2021-05-05 10:52:13 +02:00
Holger Vogt
ded0f79c01
Avoid type 'bool', as ist is a built-in type in C++, not
...
equaling 'int' which ngspice is using.
Change bool to BOOL and ad a
typedef int BOOL;
2021-03-28 18:20:47 +02:00
Holger Vogt
5abd8057e6
remove deprecated storage class
2021-03-28 13:30:39 +02:00
Holger Vogt
9311674499
re-enable PostScript/SVG to file by pushbutton
...
on the ngspice plot window, avoid crash due to double freeing.
2021-03-19 15:07:33 +01:00
Holger Vogt
e1ae8c7495
remove memory leak
2021-03-19 15:07:23 +01:00
Holger Vogt
9f6d550837
Remove memory leaks in the SVG code
2021-03-19 15:06:59 +01:00
Holger Vogt
74a615d5af
Free tmalloced Cfg.strings[i]
2021-03-19 15:06:49 +01:00
Holger Vogt
02b4f06f2d
variables like color1 may override thie svg_intopts and svg_stropts.
...
Unsetting the variables will reset to the default.
Malloced colors and cfg.strings will be freed again.
Examples do show more of the options.
2021-03-19 15:06:35 +01:00
Holger Vogt
4303534f91
Shift colorID evaluation to a place after svg_stropts is read.
...
Remove unused.
2021-03-16 11:01:54 +01:00
Holger Vogt
6443135892
libtool versioning added for Linux shared ngspice.
...
And commented out immediately, because not compatible
to KiCad, which is linking to libngsice.so.0.0.0
2021-03-14 15:33:25 +01:00
Holger Vogt
1ba168ff30
clarify call to gnuplot on Linux/Cygwin
2021-03-14 15:33:17 +01:00
Holger Vogt
7b9d1fb74a
enable variable 'nolegend' for gnuplot
2021-03-14 15:33:10 +01:00
Holger Vogt
f61ea3aa96
if 'set nounits' is given, plotting of the units is suppressed
...
(they may be added manually to the y and x labels for SI conformity).
2021-03-14 15:32:49 +01:00
Holger Vogt
736d42a5b0
remove unused
2021-03-14 15:32:39 +01:00
Holger Vogt
43f3fceb75
enable svg also for console app on Windows
2021-03-14 15:32:31 +01:00
Holger Vogt
f31ae08f0b
remove unused args
2021-03-14 15:32:15 +01:00
Holger Vogt
1607b3a21f
X11: Add a button for writing an SVG file to the plot window.
...
Update button texts.
Add a function hardcopySVG to write the SVG file, called by
clicking the SVG button.
2021-03-14 15:32:03 +01:00
Holger Vogt
43c44a8ca9
correct description
2021-03-14 15:31:57 +01:00
Holger Vogt
1f54a6add3
WinGUI: Make the text output from com_hardcopy available immediately
...
by call to function UpdateMainText.
Enable color for postscript output.
2021-03-14 15:31:45 +01:00
Holger Vogt
683ef77955
Separate color and b&w
...
b&w in the plot window is not(yet) supported.
2021-03-14 15:31:07 +01:00
Holger Vogt
6d388e1679
Select black&white, if appropriate
...
Return colorID to previous values after hardcopying.
2021-03-14 15:30:59 +01:00
Holger Vogt
391822b558
use colorN as for normal plots
...
color0 is background
svg_intops and svg_stropts may set all parameters
2021-03-14 15:30:33 +01:00
Holger Vogt
bc678baaca
modified from Giles Atkinson's patch:
...
use hardcopy entries to set variables
maybe overridden by stropts and intopts list variables
2021-03-14 15:30:24 +01:00
Holger Vogt
6b4d2a9241
separate svg and postscript handling
2021-03-14 15:30:13 +01:00
Holger Vogt
dacd727d87
separate svg and postscript
...
suitable text placement for svg
2021-03-14 15:30:06 +01:00
Holger Vogt
87b59d22a5
add generation of svg graphics file
...
based on patch no. 97 by Giles Atkinson
2021-03-14 15:29:53 +01:00
Holger Vogt
b86c85f85b
Safeguard against usage of --with-readline or --with-editline
...
Some package maintainers have erroneously used the above ./configure
flags during compiling libngspice-0.so. This has led to an unresolved
symbol history_file with ngspice-34.
2021-02-21 16:49:00 +01:00
Holger Vogt
8076e2b4cf
Check for double '{{ }}', replace the inner '{', '}' by '(', ')'
...
in .model lines, if compat mode ps is set. Enables use of some On-Semi
power transistor models.
2021-02-21 16:48:53 +01:00
Holger Vogt
d7feec20fe
enable parameter 'gain'
...
patch provided by Bohdan Tkhir
2021-02-21 16:48:28 +01:00
Holger Vogt
8abd8069a8
Re-enable compiling ngsconvert again
...
Capability to compile ngsconvert is extremely sensitive to changes in
associated files as found in makefile.am and may esily be
broken again next time. Requires manual tweaking.
2021-02-21 16:48:21 +01:00
Holger Vogt
462534a0fb
Rename the ngspice version information offered in sharedspice.h
2021-02-21 16:47:44 +01:00
Holger Vogt
99a7bfd8fe
Move version info from sharedspice.c to sharedspice.h
2021-02-21 16:47:19 +01:00
Holger Vogt
0ae9aeec41
remove config.h from dist and install
2021-02-21 16:47:02 +01:00
Holger Vogt
4f385b604b
remove obsolete command
2021-02-21 16:46:52 +01:00
Holger Vogt
65a47d3276
Remove compiler warnings: CIDER debug flags are used as int
...
FIXME: Why arer they defined as BOOLEAN in main.c
without generating a warning?
2021-01-29 10:46:10 +01:00
Holger Vogt
a77b529928
set the locale to "C" locally, if shared ngspice
2021-01-29 10:44:28 +01:00
Holger Vogt
5747982ae8
Re-enable devices like E2 1 0 (2,3) 1
...
Add a new function nexttok_noparens(const char *s) which
skips tokens. Characters , ( and ) are treated like spaces.
2021-01-28 17:06:02 +01:00
Holger Vogt
433a76a1f2
Guard against vector "time" not being available
2021-01-28 17:01:30 +01:00
Holger Vogt
c8a7b69190
re-enable setting options when 'set ngbehavior=hs' is set.
2021-01-27 16:29:15 +01:00
Holger Vogt
ffef8e1d16
Remeove "redefinition" warning
2021-01-26 18:18:59 +01:00
Holger Vogt
ca26364a7a
Remove "incompatible pointer" warning
2021-01-26 18:18:28 +01:00
Holger Vogt
8de513e8e9
ngspice.exe and .dll (.so): seperate the main files:
...
main.c now belongs to exe, sharedspice.c to dll (so)
2021-01-26 18:17:59 +01:00
Holger Vogt
55359e36e0
if SHARED_MODULE, exclude some unused function from build.
...
Finally complete main.c should be removed in shared ngspice.
2021-01-24 17:40:18 +01:00
Holger Vogt
06eddf1adc
We need config.h.in, when compiling with ./configure,
...
that is without resorting to autoconf, automake etc.
So partially undo the previous commit.
2021-01-24 12:55:51 +01:00
Holger Vogt
c14680c951
Do not distribute config.h.in
2021-01-24 11:29:48 +01:00
Holger Vogt
ebff1fe79f
makefile.am for cppduals
2021-01-23 12:54:23 +01:00
Holger Vogt
71bc5feacb
We need to include cppduals into the distribution process.
2021-01-23 12:45:49 +01:00
Holger Vogt
7dc6c47df5
config.h should not be distributed or installed
...
somewhere, because it is generated locally during
the build process.
2021-01-23 12:45:12 +01:00
Holger Vogt
d45e95aa4c
We no longer want to install cmpp or other XSPICE files.
...
The manual describes making code models from inside
the ngspice build process, and that's what we support
right now.
2021-01-23 12:43:51 +01:00
Holger Vogt
a5eac333bb
Revert "When installing ngspice, do not install the headers"
...
This reverts commit 5a0d213fec .
2021-01-22 16:05:14 +01:00
Holger Vogt
fb8e974ac4
i-sweep sall become a current vector (SV_CURRENT)
2021-01-20 16:49:14 +01:00
Holger Vogt
939410874a
Info "No circuit loaded!" is added.
2021-01-20 16:49:05 +01:00
Holger Vogt
d239a523e0
remove memory leak
2021-01-20 16:48:46 +01:00
Holger Vogt
ed15d6f975
replace controlles_exit by error return,
...
delete netlist cc when returning upon error.
2021-01-20 16:48:27 +01:00
Holger Vogt
058f474f90
Prevent crash if netlist input is something like
...
H n1
2021-01-20 16:48:08 +01:00
Holger Vogt
a86a500b07
checkspeed: use startclock instead of lastclock to ensure
...
Linux compatibility.
2021-01-20 16:47:48 +01:00
Holger Vogt
2a2a488f7d
If 'set ngdebug', and if transient simulation,
...
create a vector speedcheck in the tran plot
which contains the real time versus simulated time,
to check for obstacles during the course of the
transient simulation. If command 'save' is given,
one has to add speedcheck to obtain this vector.
2021-01-20 16:47:27 +01:00
Holger Vogt
65cb50a243
redo the reading for ngate parameter
...
if larger than 1.000001e24, assume m3 instead of cm3
2021-01-20 16:47:11 +01:00
Holger Vogt
c891bf846c
reduce precision to avoid false rounding
2021-01-20 16:46:59 +01:00
Holger Vogt
c9eeb0ceea
Modify get_number_terminals() and make it non-static.
...
Use modified function to replace fixed node number.
2021-01-20 16:46:37 +01:00
Holger Vogt
b640e57c39
re-enable getting correct node numbers for bipolar
...
using TSMC cv018bcd
2021-01-20 16:46:27 +01:00
Holger Vogt
273b0fb4a3
fix a plotting bug with xlog axis and ylabels
2021-01-20 16:45:54 +01:00
Holger Vogt
822a63974f
Unused binning models are removed.
...
Flag 'nf', when given on the x lines, is
recognized.
Tested with TSMC, Skywater, and X-Fab model
files.
2021-01-20 16:44:57 +01:00
Holger Vogt
e601325149
Avoid any buffer overflow if user provides a large TABLE:
...
Replace fixed length strings and fcn 'cat' by dstrings.
2021-01-20 16:44:19 +01:00
Holger Vogt
059e869754
free the wordlist wle to avoid memory leaks
2021-01-20 16:42:33 +01:00
Holger Vogt
02630c0af2
fix a bug in printing the compatibility status
2021-01-20 16:41:53 +01:00
Holger Vogt
5af7f0ff78
sort instance list entries: RHS numbers (like nf=2) come first,
...
expression then follow.
2021-01-20 16:41:25 +01:00
Holger Vogt
4a6fff05b6
typo
2021-01-05 23:11:50 +01:00
dwarning
a81a84c208
allow strobe and finish commands
2021-01-05 21:57:48 +01:00
Holger Vogt
4a8065c3ee
replace strncpy by memcpy to prevent valgrind error message
...
on uninitialized string.
2021-01-05 17:21:23 +01:00
dwarning
aedf9d0eb5
correct choice for both r model types
2021-01-05 11:18:07 +01:00
dwarning
08700f8147
include verilog-a r2_cmc resistor model
2021-01-05 11:12:09 +01:00
dwarning
b654296230
rm independent terms from ddx() operator
2021-01-05 11:07:29 +01:00
dwarning
43e9a8f594
activate command
2021-01-05 11:07:24 +01:00
Holger Vogt
8a21f6f2c0
enable OP information for hicum0 and mextram
2021-01-05 11:07:05 +01:00
Holger Vogt
176023f470
Remove compiler warnings
2021-01-03 14:28:22 +01:00
Holger Vogt
eedb5b9027
Update for ngspice-34
2021-01-03 08:47:47 +01:00
Holger Vogt
0d4685f459
preliminarily turn off fcn nlist_model_find()
...
to avoid compiler warning
2021-01-02 23:29:35 +01:00
Holger Vogt
e2650a2897
Patially undo commit [f9d9b6]:
...
macOS gcc/llvm complauns about non-existing -Wunused-but-set-variable
2021-01-02 23:00:19 +01:00
Holger Vogt
94eac89749
Remove 'comment out any unused models' for now, it
...
has been working, but led to spurious error messages.
Has to be checked more thoroughly.
Add a ngbehaviour setting 'mc', needed for running
'make check'. It will unset all other compatibility modes
and suppress the note on compatibility settings which
led to a 'make check' failure just due to its printout.
2021-01-02 19:12:26 +01:00
Holger Vogt
89f0fb6d74
sharedspice: make reading .spiceinit as robust as in
...
the standard executable.
2021-01-02 19:11:51 +01:00
Holger Vogt
1234c3bdf8
Update to the compatibility mode:
...
Rename new_compat_mode() to set_compat_mode().
Add fcn print_compat_mode() to print out
the selected compatibility mode.
2021-01-02 19:11:44 +01:00
Holger Vogt
164d3dd20c
Enable models with parens by using gettok_parens() like
...
.model NP NPN(BF=125 Cje=.5p Cjc=.5p Rb=500)
2021-01-02 19:11:29 +01:00
dwarning
a5cb4f2d20
hicum0 prevent crash in self heating mode
2021-01-02 19:10:42 +01:00
Holger Vogt
9485a51928
Re-enable the 'hardcopy' command
...
Fixes support-requests #53 by Paolo M.
2021-01-02 19:10:30 +01:00
dwarning
0e9d1c50a4
add latest available psp103 version to adms
2021-01-02 19:07:55 +01:00
Holger Vogt
70d1647cfa
Update to ps .model selection for MOS,
...
add support for bipolar (Mextram, lateral pnp),
enable 'level = nn' (with spaces).
2021-01-02 19:07:16 +01:00
Holger Vogt
3c354092ff
Line endings from \r\n to \n
2021-01-02 19:06:58 +01:00
Holger Vogt
2e9a51f2f7
Each model is checked only once
...
(not the same model check for every instance).
Add model comparison warning to file.
2021-01-02 19:06:37 +01:00
Holger Vogt
8602915942
level for ekv2.6 is 44
2021-01-02 19:06:17 +01:00
Holger Vogt
50ec89e284
PS compatibility: select appropriate level for MOS models
2021-01-02 19:05:41 +01:00
Markus Mueller
f9d9b6deba
fix "unused but set variable" warnings
2021-01-02 19:05:18 +01:00
Holger Vogt
b1daabbe95
update the model checking
2021-01-02 19:05:01 +01:00
Holger Vogt
03a68683ca
Update on error checking for bsim4.6 model
2021-01-02 19:04:24 +01:00
dwarning
fdf7a6a868
More effective check for BSIM3 model parameter
2021-01-02 19:04:07 +01:00
Holger Vogt
49890fe302
Fix the error message when fatal model parameter fail occurs
2021-01-02 19:03:53 +01:00
Holger Vogt
2e34b9d9a3
Improved visibility of model check error
2021-01-02 19:03:42 +01:00
dwarning
420d47cc75
fix max terminal count for vbic and hicum2 adms enabled
2021-01-02 19:03:20 +01:00
Holger Vogt
a147a3b190
If we encounter tc1= or tc2= (temp coeffs.) or m= (multiplier),
...
the expression is done, thus keeping the brackets as is.
Enables tcx={} or m={} with their own expressions, dealt with
by numparam.
2021-01-02 19:02:44 +01:00
Holger Vogt
98eb5bf475
bug #537 : remove memcopy with overlapping strings
...
Bug reported by Ronan BARZIC
2021-01-02 19:02:29 +01:00
Holger Vogt
86f5a9b819
Only print the devices that are really used in the circuit
...
(don't print the 0 occurencies).
2021-01-02 19:02:07 +01:00
dwarning
aaec6be4c6
only one .va file for psp model
2021-01-02 19:01:44 +01:00
dwarning
b44f1ad595
only one .va file for psp model
2021-01-02 19:01:31 +01:00
dwarning
336bb3480b
psp102 update to latest available version 102.5.0
2021-01-02 19:01:05 +01:00