Holger Vogt
954cc86e59
Add new or upgraded functions as of 01-09-22.
...
Add a function prototype for cmod.
Rename function conj to conju because conj
is already defined differently in complex.h
2022-02-17 15:49:53 +01:00
Holger Vogt
94a73ffef2
Add changes from 01-09-22, but without the extra extern calls,
...
which have led to a bunch of warnings when compiling with gcc.
2022-02-17 15:49:33 +01:00
Holger Vogt
e99638c89f
Remove int <--> unsigned int warning
2022-02-17 15:49:20 +01:00
Holger Vogt
4e1ae255f6
Inlude code into #ifdef RFSPICE ... #endif
...
to allow compiling without pre-processor flag RFSPICE.
2022-02-17 15:49:09 +01:00
Holger Vogt
de572d2cdf
Remove in <--> unsigned int mismatch
2022-02-17 15:48:52 +01:00
Holger Vogt
c2d279a1ef
Remove trailing spaces.
2022-02-17 15:48:31 +01:00
Holger Vogt
648ba396ff
Add missing makefile.am in src/math/dense
...
and add src/math/dense to AC_CONFIG_FILES
in configure.ac
2022-02-17 15:48:25 +01:00
Holger Vogt
3b0eb41c74
Enable compiling with --enable-sp for RF SPICE
...
Set preprocessor flag RFSPICE
Add new files and directory 'dense' ('dense' is still buggy)
2022-02-17 15:48:19 +01:00
Holger Vogt
5b8ed0a84e
Remove redundant declarations
2022-02-17 15:48:10 +01:00
Alessio Cacciatori
2c10c4aebd
S parameter simulation
...
Command '.sp'
arbitrary number of ports
ports made with modified VSRC
Patch provided by Alessio Cacciatori
https://sourceforge.net/p/ngspice/discussion/127605/thread/7a2655c86f/
2022-02-17 15:48:00 +01:00
Brian Taylor
b774d03162
Change the y-axis direction for a 2d Cider gnuplot. The device surface is at the top and downwards is into the material, which is the normal presentation. Note that the x/y mesh commands in a Cider model also affect the orientation.
2022-02-17 15:45:28 +01:00
Holger Vogt
62f326b9d0
Fix a bug from previous commit: min -> MIN
2022-02-07 22:39:27 +01:00
Holger Vogt
0eb272243f
Enable RKM notation also for inductors (e.g. 1u2 for 1.2u)
2022-02-07 16:00:29 +01:00
Holger Vogt
640fa7e17b
bug 578 crash when scale is too short
...
Warning message if scale and vector length do not match.
Restrict number of points plotted to the smaller of both.
2022-02-07 15:59:43 +01:00
Holger Vogt
4f82a24df2
Add parameter 'isgrid' to plotting of arcs.
...
Smithgrid and polar plots could not discern between xgridwidth and
xbrushwidth. This is now available, similar to straight line plotting.
Tested also for PS and SVG.
2022-02-01 12:23:29 +01:00
Giles Atkinson
16f586b65e
Respect the "tstart" parameter when saving event node data (XSPICE).
...
Fixes Support Request #47 : "XSpice memory usage (TRAN TSTART effect)".
2022-01-28 12:25:36 +01:00
Giles Atkinson
6494befb2f
Request backing store for X11 plot windows. When supported by the X server
...
windows are redrawn vey quickly without replotting.
2022-01-28 12:24:58 +01:00
Giles Atkinson
f4285384e7
Add code in graf.c to merge connected lines with the same slope before
...
plotting. This speeds output and reduces file size when the vector
length is much larger than the number of pixels. It should help with
Feature Request #58 :
"Graph plotting under windows redraw very slow and hard to work with",
but is not a full fix.
2022-01-28 12:24:51 +01:00
Holger Vogt
ce9bc9fc64
The re-painting due to mouse-click under MS Windows is caused by line 561
...
of windisp.c. Upon left mouse button up the plot recangle is invalidated,
and a WM_PAINT message is generated (same on line 614 for right mouse
button up). If not re-pained, artifacts may be left on the canvas after
collecting coordinate data.
Shifting the command InvalidateRect to a place where it becomes active
only after the mouse has been moved, does the trick. Simple clicking
(right or left) will not cause a re-paint any more.
2022-01-28 12:11:39 +01:00
Kevin Zheng
857fbec985
Improve iteration limit options display
2022-01-17 12:06:35 +01:00
roman
74787f0c33
Fix EXTERNAL type in isrc
2022-01-17 11:32:01 +01:00
Holger Vogt
ced2128f58
.measure results from batch mode may be saved in a file
...
(in addition to the printout)
Add command
set measoutfile=<path/filename>
to .spiceinit or to a .control section in the netlist
2022-01-15 23:28:06 +01:00
dwarning
0c34ac019f
use total current for diffcap calculation
2022-01-15 16:22:42 +01:00
Holger Vogt
4ee0586cee
Enable output redirection for meas command
...
replace printf("... by fprintf(mout, "...
mout is routinely set to cp_out, which then allows redirection by > and >>
2022-01-15 16:02:20 +01:00
Holger Vogt
018713cc43
Bug 572 Error message 'function 'xyz' currently not supported' was buggy.
...
xyz had not been set.
Copy function name to the heap and free accordingly.
2022-01-15 14:43:44 +01:00
Holger Vogt
46696a6aaa
If function is not found, bail out if strict_errorhandling is set.
2022-01-15 14:09:50 +01:00
Holger Vogt
632f8c033d
Make numoparam error messages more user friendly.
...
Add line number of netlist to the message.
Original line number added to new lines in inpcom.c.
Internal error messages only when 'ngdebug' is set
2022-01-15 13:43:26 +01:00
Brian Taylor
08bc3ccdd6
Remove compiler warnings (writ_ifs.c ipcsockets.c).
2022-01-13 14:54:16 +01:00
Holger Vogt
1558c5abcb
Add a suitable error message and fallback to default temperature
...
if an error in the temperature entry is found.
2022-01-13 14:48:35 +01:00
Holger Vogt
5a065c1657
Originally only '.temp 125' had been accepted.
...
There has not been any error message if '=' was used,
the temperature just had been set to 0°C.
Now also '.temp=125' or .temp='param' are accepted.
2022-01-13 10:06:27 +01:00
Giles Atkinson
23e9df0181
Fix for ticket #570 : Interactive prompting is always active.
...
Control prompting with variable "interactive" and stop setting it by default.
Add code in main.c to set it for an interactve session.
2022-01-12 15:22:19 +01:00
Holger Vogt
c4e94cd59b
safeguard against a crash when the s line is buggy
2022-01-12 15:16:06 +01:00
Holger Vogt
64dba93b93
We are now developing ngspice-36+
2022-01-09 11:57:05 +01:00
Holger Vogt
f0e9a35eb6
Add 'esave' command to save only specific event nodes.
...
Add a prompt for esave/eprint/eprvcd.
2022-01-09 10:58:38 +01:00
Holger Vogt
9308c6b077
Reuse memory for queued events.
...
Patch #109 - 2 provided by Giles Atkinson
2022-01-03 22:11:03 +01:00
Holger Vogt
0c59a77fc4
During op evaluation we might use source stepping.
...
Independent V and I sources are stepped, the B source however is not.
Add source stepping to B source.
2022-01-02 13:53:38 +01:00
Carsten Schoenert
486dd587d0
spelling: Fix misspelled word Instnace
2022-01-02 13:51:44 +01:00
Holger Vogt
8263e2a4da
The AD and DA hybrid XSPICE bridges consume a lot of
...
memory (one state per time step added). Memory of
previous time steps is not recovered.
Patch #109 by Giles Atkinson reduces memory consumption
dramatically (> factor of 10).
2022-01-01 16:14:48 +01:00
Holger Vogt
1a6a9e6bb6
Add com_wr_ic.h to their makefile.am
...
to have them as part of make dist.
2021-12-30 15:23:22 +01:00
Holger Vogt
43f2182e56
Add com_optran.h and cplhash.h to their makefile.am
...
to have them as part of make dist.
2021-12-30 15:08:15 +01:00
Holger Vogt
c7bc84943a
plug a memory leak
2021-12-23 14:38:09 +01:00
Holger Vogt
a8d8600faa
plug a memory leak
2021-12-23 14:37:57 +01:00
Holger Vogt
cb0d8f18dc
Prepare for ngspice-36
2021-12-18 13:47:43 +01:00
Holger Vogt
4f73c27d86
Memory access error: don't free GENinst->GENname.
...
Use memcpy to overwrite old name by a (shorter) new name.
Compiler warnings are thus removed.
2021-12-16 08:04:54 +01:00
Holger Vogt
9be9f46f96
Remove unused function Evt_Data_destroy()
2021-12-16 08:04:44 +01:00
Holger Vogt
6ba484e5d2
Remove redundant redeclaration of ‘ft_getpnames_quotes’
2021-12-16 08:04:34 +01:00
Holger Vogt
5adbfc1c86
Remove compiler warnings associated with snprintf()
...
Use memory allocated on the heap instead.
2021-12-16 08:04:20 +01:00
Holger Vogt
b5b462506f
add a function prototype for com_wric()
2021-12-16 08:03:59 +01:00
Holger Vogt
3bac1ffabe
Allow adequate size for copying.
...
Add the missing character string to fprintf.
2021-12-13 22:31:19 +01:00
Holger Vogt
b636017359
add function prototype
...
for insert_new_line()
2021-12-13 22:09:17 +01:00
Brian Taylor
8e75cad453
Fix missing initializer warning.
2021-12-13 21:50:30 +01:00
Holger Vogt
11117912f9
typos
2021-12-13 21:50:20 +01:00
Holger Vogt
1605d293d0
Add function integ to control language
...
Trapezoidal rule for integrating a vector.
2021-12-13 21:49:45 +01:00
dwarning
2eaf35f633
fix a double application of device multiplier for certain diode parameter
2021-12-13 21:49:33 +01:00
Holger Vogt
422719200e
re-enable parameters in agauss function
...
fixes bug #564 reported by Stefan Schippers
If nested braces {..{ }...} have been created,
replace the inner { } by ( )
2021-12-13 21:49:18 +01:00
Holger Vogt
a68cfefb28
hcopywidth and hcopyheight failed with SVG plot
...
cp_getvar read CP_NUM, not CP_STRING
Patch #108 contributed by Giles Atkinson
Add hcopywidth and hcopyheight to example nmos_out_BSIM330_svg.sp
2021-12-13 21:49:01 +01:00
Holger Vogt
b749e62e31
Make error message more verbose
2021-12-13 21:48:29 +01:00
Holger Vogt
aaf586ae83
.probe: Add more safeguards to prevent crashes
...
in case of wrong user input
due to obtain empty lines in shared ngspice
2021-12-13 21:48:21 +01:00
Holger Vogt
bb9f1669f6
Enable math characters also in tokens like i(z/z) by
...
temporarily putting " around the token.
Improve error message on missing vector
2021-12-13 21:47:54 +01:00
Holger Vogt
b59d2aabd1
.probe: Add function call to modprobenames()
...
Function resides in inpc_probe.c.
The function renames all current measurement instances
vcurr_instance:node#branch to instance:node#branch by
modifying the global instance table (tab).
2021-12-13 21:47:37 +01:00
Holger Vogt
9dff15507d
.probe: Add call to function inp_probe() which resides
...
in inpc_probe.c.
Make function insert_new_line() non-static
Enable detecting the number of nodes in x-lines
(calls to subciruits) in function get_number_terminals()
2021-12-13 21:47:27 +01:00
Holger Vogt
7f1a3bea20
.probe: Add the new file inpc_probe.c to the VS project files
...
and makefile.am in ngspice/src/frontend
2021-12-13 21:47:11 +01:00
Holger Vogt
951be0ddb0
New dot command .probe:
...
Code to enable current measurements at all top level
device pins and to enable differential voltage measurements
between two (arbitrary, top level) device nodes.
Adds 0 V voltage sources for current measurements to selected or all
device nodes at top level (including X lines)
Adds an E source excited by two arbitrary nodes for differential
potential (aka voltage) measurements between these nodes
Function inp_probe() is called from inpcom.c
2021-12-13 21:46:57 +01:00
Holger Vogt
7f75b2a7b8
Update to previous commit: safeguard against no circuit loaded
2021-12-13 21:46:29 +01:00
Holger Vogt
54eb12de39
Fix a bug: Crash when 'settype @d1[id]' is given,
...
but simulation is not yet run.
Add a better check for having at least one simulation run
2021-12-13 21:46:15 +01:00
Holger Vogt
1ce0066d3b
Update to previous commit: corrected and enhanced warning messages
2021-12-13 21:46:03 +01:00
Holger Vogt
16fd8749cf
Fix a bug: Crash when 'settype @d1[id]' is given,
...
but simulation is not yet run.
Ask for the job before acknowledging settype on
a vector starting with @
2021-12-13 21:44:30 +01:00
Holger Vogt
2f98a5b305
evtprint: prevent a crash when eprint has been called
...
but there is no simulation run.
2021-12-13 21:44:02 +01:00
Holger Vogt
bff90f1498
Put the gmin reversal into the comment
2021-12-13 21:43:50 +01:00
Holger Vogt
5424fd0d43
Reverse the sequence of dynamic-gmin and new-gmin.
...
The old method dynamic-gmin now comes first,
new-gmin will follow when the former has failed to converge.
2021-12-13 21:43:30 +01:00
Holger Vogt
79c71a4ec3
Enable math characters in vector (node) names for command fft
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:42:36 +01:00
Holger Vogt
ccd9a217c3
Enable math characters in vector (node) names for logic comparison
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:42:25 +01:00
Holger Vogt
8895a6e633
Enable math characters in vector (node) names for command alter
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:42:12 +01:00
Holger Vogt
ee2f3a72f4
Enable math characters in vector (node) names for command fourier
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:58 +01:00
Holger Vogt
98b7074287
Enable math characters in vector (node) names for command spectrum
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:48 +01:00
Holger Vogt
c09839b209
Enable math characters in vector (node) names for commands
...
write and print
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:37 +01:00
Holger Vogt
57f6d41e69
Enable math characters in vector (node) names for plotting
...
Replace ft_getpnames() by ft_getpnames_quotes().
2021-12-13 21:41:28 +01:00
Holger Vogt
e93a19e3e8
Allow math characters in node names
...
Add a function ft_getpnames_quotes()
It puts quotes " around tokens xxx, when these are enclosed as
V(xxx) and contain arithmetic characters. V(R*C) becomes
V("R*C"). After settig up the parse tree, the quotes are removed again.
Thus these math character remain part of the node name and are not
parsed as parts of an equation.
2021-12-13 21:41:16 +01:00
Holger Vogt
d5dc757288
correct assignment of a variable value to a 1-bit-field
...
only by a logic comparison.
2021-12-13 21:40:57 +01:00
Holger Vogt
90377dcff9
struct TSKtask: group all single bit fields together
2021-12-13 21:40:38 +01:00
dwarning
26979079d4
prevent few compiler warnings
2021-12-13 21:40:15 +01:00
Holger Vogt
3f3936c728
Remove memory leaks
2021-12-13 21:34:07 +01:00
Holger Vogt
89eaf7739c
Remove unused variables
2021-12-13 21:33:09 +01:00
Holger Vogt
a420f58ef5
Plug a (potential) memory leak
...
Add missing memsaved
2021-12-13 21:32:46 +01:00
Holger Vogt
6b41ad433a
Remove memory leak
...
Free some tokens generated by CNVget_token
Initialize reset and clk
Still missing: free 'states'
2021-12-13 21:32:15 +01:00
Holger Vogt
36fa47a8a0
Remove memory leak
...
Add callback function free_local_data
Free some tokens generated by CNVget_token
2021-12-13 21:31:49 +01:00
dwarning
8f9bf94a38
Aware of sscanf return value
2021-12-13 21:30:55 +01:00
dwarning
ba6d8c871c
white spaces
2021-12-13 21:30:32 +01:00
dwarning
ba9f5be52c
Prevent arithmetic overflow and reduce operations
2021-12-13 21:29:37 +01:00
Brian Taylor
38848259e4
With the ngspice gnuplot command, enable x/y contour plots for 2d Cider save file data. Usage: gnuplot <file> xycontour <expr>. xycontour is a new flag which is ignored if the plot data is not from 2d Cider. For contours, only a single plotarg <expr> is allowed. With <expr1> vs <expr2>, only <expr1> is plotted and <expr2> is ignored.
2021-10-30 13:21:32 +02:00
dwarning
550e9f1a81
correct some scaling rules
2021-10-30 11:03:26 +02:00
dwarning
f638a63fba
save few calculation effort in diode load routine
2021-10-30 11:03:05 +02:00
dwarning
62242a5538
save few calculation effort in bjt load routine
2021-10-30 11:02:54 +02:00
dwarning
133f9c46e7
prevent unwanted fallthrough
2021-10-30 11:02:25 +02:00
dwarning
ae49043fe3
correct scaling for IBC parameter
2021-10-30 11:02:13 +02:00
dwarning
b15c7d29f1
correct temp update for IBE and IBC parameter
2021-10-30 11:01:51 +02:00
dwarning
01fb0ac18b
introduce IBE and IBC model parameter for more accurate current calculation
2021-10-30 11:01:36 +02:00
dwarning
231e6218a5
remove comment regarding ancient leakage current defaults
2021-10-30 11:01:24 +02:00
dwarning
5ff04ee85b
c2 and c4 are now aliases for B-E and B-C leakage saturation currents
2021-10-30 11:01:09 +02:00
Holger Vogt
fb98f7873b
remove some compiler warnings
2021-10-30 10:46:39 +02:00
Holger Vogt
f3cb69403a
bug 497: Prevent a crash in CPL
...
Forbiddeb combination of model parameters.
Details are not yet available.
2021-10-30 10:44:44 +02:00
Holger Vogt
69e2903bf6
Update to Garbage Collector for cpl
...
Update some comments
Insert the deleting functions
Reset pool_vi and ndn_btree
Add an example with 20 call to cpl in sequence
2021-10-30 10:44:29 +02:00
Holger Vogt
041264df03
No more meory leaks with existing cpl examples:
...
Add cpldelete.c and cplmdel.c
Delete the model parameters.
Add 2 missing memsaved().
2021-10-30 10:44:07 +02:00
Holger Vogt
9ede9b80e0
Issue a warnong only when ngdebug is set.
2021-10-30 10:43:38 +02:00
Holger Vogt
d2dd1950cb
Add memsaved() to TMALLOC, calloc and replace CPLTFREE for tfree
2021-10-30 10:43:10 +02:00
Holger Vogt
de00317e49
Add memsaved or memdelete to macros
2021-10-30 10:42:37 +02:00
Holger Vogt
8c5277a5e8
Re-format cplsetup.c
2021-10-30 10:42:09 +02:00
Holger Vogt
7dcb1b2a39
Add memsaved() to TMALLOC
2021-10-30 10:41:51 +02:00
Holger Vogt
1dddd6df8d
Each TMALLOC is accompanied by fcn memsaved().
2021-10-30 10:41:37 +02:00
Holger Vogt
b142f2eb9d
Add mem_init() and mem_delete() to setup and unsetup functions
2021-10-30 10:41:24 +02:00
Holger Vogt
3be7370fa8
Add header with extern function prototypes
2021-10-30 10:40:40 +02:00
Holger Vogt
677ec1a094
Update intro text
2021-10-30 10:40:04 +02:00
Holger Vogt
7c38699cd7
Add missing function nghash_delete_special(),
...
developed for branch gc-local
2021-10-30 10:39:19 +02:00
Holger Vogt
b9afd2bd16
add missing headers
2021-10-30 10:38:23 +02:00
Holger Vogt
2f5a00f0a5
hash functions for cpl garbage collector
2021-10-30 10:37:42 +02:00
Holger Vogt
063665c374
Fix a bug in optran code:
...
devname will be used in the list of instances
2021-10-29 16:41:18 +02:00
Holger Vogt
01ed224896
A check to avoid multiple entries for the same node into the .save list
...
Scan the data base dbs (list of saves) before a new entry is generated.
2021-10-29 16:40:51 +02:00
Holger Vogt
bde0639bc4
save within subcircuit
...
enable V(a,b) as v(a) v(b)
2021-10-29 16:40:34 +02:00
Holger Vogt
e90b3e711b
F.-request 85: save currents in subcircuits
...
Separate handling .ic/.nodeset and .save .
Add i(Vxx) to address translation.
Vxx#branch is not supported.
2021-10-29 16:40:23 +02:00
Holger Vogt
bd0113ea9a
Feature request 85: Enable .save within subcircuits
...
inp.c: Add .save to wl_first only after subcircuit expansion
subckt.c: treat .save like .ic
2021-10-29 16:40:06 +02:00
Holger Vogt
f9b743aa2a
remove compiler warnings
2021-10-29 16:39:28 +02:00
Holger Vogt
7ce476c0ad
Make optran standrad by calling com_optran during ngspice initialization.
2021-10-29 16:38:27 +02:00
Holger Vogt
36dd77f63e
if step size in optran command is set to 0,
...
optran is deselected.
2021-10-29 16:38:08 +02:00
Holger Vogt
1eb15de584
remove optran command from spinit
2021-10-29 16:37:56 +02:00
Holger Vogt
d6038ea43c
Redo the transformation vswitch -> pswitch
...
Parsing takes default values into account, when
parameter is missing.
S vswitch --> pswitch code model
S_ST vswitch (with hysreresis) --> SW switch
S iswitch --> aswitch code model
S_ST iswitch (with hysreresis) --> CSW switch
Use string handling for replacements: allow parameter
equations in .model lines.
2021-10-29 16:37:19 +02:00
Holger Vogt
bbccb4b63e
Improved error message:
...
when argument out of range, name the term
2021-10-29 16:36:55 +02:00
Holger Vogt
c895ca33f7
Pswitch: Fix a bug in resistance calculation when cntl_on < cntl_off
...
Correct setting of parens
2021-10-29 16:35:47 +02:00
Holger Vogt
eee639d98d
Rename the capacitor and inductor code models to capacitoric and inductoric
...
8e4db9109 ("adms bsimbulk and bsimcmg implementation based on work from Robert Larice", 2020-12-17)
changed inptypelk.c, line 37 from strcmp to strcasecmp.
Thus Capacitor (model for C) and code model capacitor are no longer
distinguished. Model parsing for the code models fails.
These code models are used very infrequently, thus renaming them
is a valid fix.
2021-10-29 16:28:25 +02:00
Holger Vogt
6b5bc9bcd8
There is no f (femto or Farad) in a resistor line
2021-10-05 18:07:32 +02:00
Holger Vogt
a87b237bff
is_a_modelname() to detect a model 1N4148, if compt LT is set.
...
Rewrite is_a_modelname(), when LT is set: only check element lines
beginning with r and c for RKM notation of a number.
So don't use a RKM number (e.g. 4k7) for naming a resistor model.
2021-10-05 18:01:53 +02:00
Holger Vogt
34c227815d
RKM for C: Revert reading f, it is again femto
...
Examples files include expected results
2021-09-29 20:31:53 +02:00
Holger Vogt
7f981569d9
Update to RKM if ngbehavior=lt is set:
...
Reading C and R values follow the RKM convention with 2 exceptions:
Upper case and lower case letters are not distinguished.
Letters m, M denote milli (1e-3), letters Meg or meg denote 1e6.
2021-09-29 20:31:44 +02:00
Holger Vogt
6f6f2b8996
Remove double assigment to s[1]
...
Assignment Is either done in the loop or by *y = '\0';
2021-09-29 20:31:22 +02:00
Holger Vogt
daa3609e58
Enable RKM notation for R and C, when ngbehavior LT is selected.
...
Add 2 evaluation functions specific for R and C respectively.
R has code letters L, R, K, M, G, T enabled. M here is Meg!
C has code letters p, n, u or µ, m, F. F here is unity, femto is
not available, m is still milli!
Two examples files show all cases.
2021-09-29 20:31:14 +02:00
Holger Vogt
df5e7e36f6
When checking for µ, truncated the line, when shifted.
...
Enable R470, when newcompat LT is selected.
2021-09-29 20:30:53 +02:00
Holger Vogt
3dcc36c1c3
ngspice input deck may contain special characters like µ (mu).
...
Detect mu for ANSI and UTF-8 and translate it to u.
2021-09-29 20:30:35 +02:00
Holger Vogt
4ce4f52938
XSPICE d_source: prevent a crash when the input file is not found
2021-09-29 20:30:10 +02:00
Holger Vogt
d4c559421e
prevent crash if info.node_table has not been defined,
...
caused by some preceding error.
2021-09-29 20:29:54 +02:00
Holger Vogt
93f904fb0b
Make 'speedcheck' also available in batch mode simulation.
2021-09-29 20:29:36 +02:00
Holger Vogt
5d116d1fb9
command listing: add option r (runable)
...
listing r > $inputdir/mycirc_runable.cir
will save the expanded netlist without line numbers,
ready to be sourced again and run in ngspice.
2021-09-29 20:29:26 +02:00
Keno Fischer
174f3d9cf9
Add missing rule for ngicon.rc
2021-09-29 20:29:13 +02:00
Brian Taylor
36313d59f3
Use the current point number as the single digit index for Cider 2D ascii save files. This conforms to the normal usage with other types of ascii rawfile. The numd parser table entry for ic.file now has the correct IF_STRING type.
2021-09-29 20:28:59 +02:00
Holger Vogt
3cf6857cfc
Fix bug #557
...
Revise memory allocation for different analysis types
2021-09-29 20:28:43 +02:00
Holger Vogt
601287e949
Check V and I lines for dc and ac.
...
Allow ac without parameters, a default is set to ac ( 1 0 )
2021-09-29 20:28:15 +02:00
Brian Taylor
81df6ed772
Retaining the mixed case of Cider quoted string valued parameters. Limit searches for ic.file to D*, M*, and Q* device instantiation lines. Cider model (numos, numd, nbjt) detection is limited to .model lines. Continuation lines which do contain these tokens are not checked, but this should rarely happen. All of the examples/cider circuits meet these assumptions. Memory errors have been removed.
2021-09-29 20:27:29 +02:00
Holger Vogt
3599c189b6
re-enable lower-casing of tokens beginning with 'cd',
...
except for command 'cd' which is usually followed by a space.
2021-09-29 20:27:05 +02:00
Holger Vogt
0266bd5894
make PTparse error message more verbose:
...
include point in a line where parsing failed.
2021-09-29 20:26:42 +02:00
Brian Taylor
abad190b38
Don't search for ic.file within comments.
2021-09-29 20:23:26 +02:00
Brian Taylor
b3a99f0c6c
Do not use non-portable strcasestr.
2021-09-29 20:23:08 +02:00
Brian Taylor
663a79dea8
Fix NAN error in numd2 area report and crashes when a doping file is missing. Update examples/cider so that the test circuits all run; add case sensitivity tests for rootfile and ic.file parameter strings enclosed in a single pair of double quotes.
2021-09-29 20:22:56 +02:00
Holger Vogt
68c5eb2d6b
Add resistance sweep error message for failing optran
2021-09-29 20:22:34 +02:00
Holger Vogt
8708b6651b
Optran may throw an error message while in temp sweep
...
and optran fails: message added (in addition prevent a crash)
2021-09-29 20:22:15 +02:00
Holger Vogt
1b3e192bfd
errno needs to be nulled in Linux.
...
Its previous value will be returned after checking.
2021-09-29 20:21:39 +02:00
Holger Vogt
e84c210876
'Option interp' and command 'stop' have been incompatible.
...
Allow both in a run.
Issue note (however not checked) that stop time data have to fit
the inpolated times.
2021-09-29 20:21:23 +02:00
Holger Vogt
e35e3e3b33
prevent a crash, e.g. when incompatible 'option interp'
...
is set and 'stop' is called.
2021-09-29 20:20:52 +02:00
Holger Vogt
a180eb60d5
command 'wrnodev'
...
Write current node voltages to file in format .ic=value
The file may be used to set initial conditions for another simulation,
e.g. ac at a specific time step of a transient simulation.
2021-09-29 20:20:27 +02:00
Holger Vogt
7f4fc2948b
Add a line feed to make message more readable.
2021-09-29 20:20:00 +02:00
Holger Vogt
fac1d3a79c
ASRC (B-Source) error message is cryptic, as it does not tell
...
which B-Source failed.
Add a hint to the ASRC error message on the name of the
B-Source instance.
2021-09-29 20:19:38 +02:00
Holger Vogt
18478380ad
Revise the SOA and add new parameters:
...
pd_max id_max idr_max te_max rth_ext derating
rth_ext is currently not used
2021-09-29 20:17:55 +02:00
Holger Vogt
3f322e1954
Add a check for sys/sysctrl.h, which has been declared deprecated,
...
and which may not be available (in the future) on some systems.
2021-09-29 20:17:23 +02:00
Holger Vogt
3b245ddd82
VDMOS, prepare SOA with new parameters
...
Model parameters pd_max, id_max, idr_max, and te_max
(power dissipated, drain current, drain reverse current, temperature)
2021-09-29 20:17:03 +02:00
Holger Vogt
4a1f7f950c
spinit: add optran to the standard inits
2021-09-29 20:16:09 +02:00
Holger Vogt
7c84e3f993
SOA for bipolar
...
Replace pow_max by pd_max
2021-09-29 20:15:41 +02:00
Holger Vogt
f06496c912
Enable command 'optran' in spinit or .spiceinit,
...
when the circuit is not yet loaded.
Then the optran data are stored in static variables,
until optran is called again with arg NULL from inp.c,
to set the data in ft_curckt->ci_defTask.
2021-09-29 20:15:13 +02:00
Holger Vogt
a225ce2aaf
List definition needs spaces between ( and next token,
...
and between token and )
Update to comment.
2021-09-29 20:14:45 +02:00
Holger Vogt
493cf73f7f
optran is only selected when the 'optran' command has been processed.
...
If not, the call to the OPtran() function returns the previous
'converged' value.
2021-09-29 20:12:52 +02:00
Holger Vogt
7f1fdd3934
Don't do optran, if command optran is not given.
2021-09-29 20:12:31 +02:00
Holger Vogt
711157e85d
Update comment: 0 is no initial iteration
2021-09-29 20:12:03 +02:00
Holger Vogt
f0cb886af1
Add command 'write_ic'
...
Write out the right hand side status of the matrix in format
.ic = V(node_xx)
This may be possible at the end of a simulation or after a 'stop'
of the simulation, which may be resumed again afterwars. This
status may be used to start another simulation with these
parameters by inluding into the netlist.
2021-09-29 20:11:45 +02:00
Holger Vogt
0e72287af7
Add command 'write_ic'
...
Write out the right hand side status of the matrix in format
.ic = V(node_xx)
This may be possible at the end of a simulation or after a 'stop'
of the simulation, which may be resumed again afterwars. This
status may be used to start another simulation with these
parameters by inluding into the netlist.
2021-09-29 20:11:13 +02:00
Holger Vogt
2ef3f66f96
if 'set ngdebug' print out transient initial conditions also with UIC set.
2021-09-29 20:10:25 +02:00
Holger Vogt
41ead284f3
make the error detection work properly
2021-09-29 20:10:02 +02:00
Holger Vogt
4e03efacb7
Use InpEvaluate() instead of strtod to enable ngspice numbers
...
with scale factors Meg k m u n p f etc.
2021-09-29 20:09:22 +02:00
Holger Vogt
3be5926f2c
Reverse stepsize and finaltime in optran command,
...
stepsize first as in tran command.
2021-09-29 20:08:51 +02:00
Holger Vogt
bca099ca29
prevent crash if first breakpoint is beyond optran max time
2021-09-29 20:08:28 +02:00
Holger Vogt
b07a54b8e1
test of supply ramping
2021-09-29 20:07:42 +02:00
Holger Vogt
7de526237e
upon finishing 'optran', restore old CKTstep
...
remove unused
2021-09-29 20:06:35 +02:00
Holger Vogt
0eafec254e
safeguard command 'optran' against circuit no being loaded
2021-09-29 20:05:56 +02:00
Holger Vogt
cf61e1e564
add missing header
2021-09-29 20:05:28 +02:00
Holger Vogt
83e223fafc
header for optran
2021-09-29 20:05:08 +02:00
Holger Vogt
a20afc54a5
When we sre ready, reset CKTmaxstep to its previous value
2021-09-29 20:04:26 +02:00
Holger Vogt
3956095484
set maxstepsize to stepsize
2021-09-29 20:04:08 +02:00
Holger Vogt
ecdb3b9eb4
set the task values, not the ckt values,
...
because task is called only afterwards when
the simulation command is given.
2021-09-29 20:03:31 +02:00
Holger Vogt
fd36eb552f
set stepsize
2021-09-29 20:02:11 +02:00
Holger Vogt
ab6224767b
Add command 'optran' to set 6 flags for transient op
2021-09-29 20:01:44 +02:00
Holger Vogt
df0792818f
Transient op calculation added to the standard operating point code.
...
When standard iteration, gmin stepping and source stepping fail,
try a transient simulation (like tran with uic option) to
determine the op. Implemented for AC and Tran simulation.
2021-09-29 20:00:29 +02:00
Holger Vogt
a08e6a0676
Add new SOA parameters (safe operating area) for BJT.
...
We now scan for max of Ic, Ib, power, taking into
account the max allowed temperature, using the thermal
resistance rth0 model parameter between juntion and ambient.
Two user options are there: If rth0 is given, we calculate
a derating of the max power allowed.
Without a constant max power according to model param pow_max
is assumed.
The new model parameters for the bipolar model are:
pow_max, ic_max, ib_max, te_max, and rth0, in addition
to the already existing vbe_max, vbc_max, adn vce_max.
2021-09-29 19:59:58 +02:00
Holger Vogt
1084b4205c
Allow global .temp in addition to instance parameter 'temp'.
...
Update to comments.
2021-09-29 19:59:28 +02:00
Holger Vogt
9221df234c
Patch to allow (and ignore) leading or trailing commas
...
when putting {} around tokens. Tested with PWL voltage source.
Patch has been suggested by Liqian Zhang
2021-09-29 19:58:36 +02:00
Holger Vogt
33571877dc
Some update to SOA for a diode:
...
Limit output to four digits
Add power and temperature limits.
Derating with self-heating, or with fixed temperature,
or no derating at all, selectable by setting model parameters.
Example file: SOA plotted as frame, with diode current.
2021-09-29 19:58:11 +02:00
Holger Vogt
759f4f5f84
Make the output a little more verbose:
...
add terminal voltage to Id, Te, and Pd outputs.
Compare SOA data to terminal voltage, not (unknown) junction voltage.
2021-09-29 19:57:54 +02:00
Holger Vogt
9c8380a031
Enhance the SOA (safe operating area) operations
...
Parameters id_max, pd_max and te_max have been added
for current, power, and temperature to the already existing
fv_max and bv_max (max forward and backward volteges).
2021-09-29 19:57:34 +02:00
Holger Vogt
e5fdb4c742
Patch sorts 1 byte vars in sequence,
...
to save some memory.
Patch #107 provided by Florian Ballenegger
2021-09-29 19:57:08 +02:00
Carsten Schoenert
2c2e21a80c
Smal typo fixup s/currntly/currently
2021-08-08 11:56:30 +02:00
Holger Vogt
605f59b417
Fix a bug with the alter statement
...
lower case for device name, when sent from shared ngspice
or from interactive mode.
2021-08-08 10:21:22 +02:00
Holger Vogt
9a2d968577
When transferring boolean data over the ABI, keep them as boolean types, not integer
...
Replace the type of all boolean variables around the ABI by NG_BOOL.
NG_BOOL is typedefed to _Bool, when compiling shared ngspice. When
sharedspice.h is use externally NG_BOOL is typdefed to bool
2021-08-03 15:57:58 +02:00
Carsten Schoenert
61b5c0563b
src/Makefile.am: Adopt used variables for lib versioning
...
A small adjustment so the configured ABI version from configure.ac will
get used for creating the libngspice library.
2021-08-03 15:56:02 +02:00
Holger Vogt
4258fe94b5
Add library versioning according to
...
https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html#Libtool-versioning
Add package versioning with m4 macros
2021-08-03 15:55:16 +02:00
Holger Vogt
6aac403ab0
XSPICE delay: add some more safeguards
2021-08-03 15:53:42 +02:00
Holger Vogt
4feb43e067
Prepare ngspice-35
2021-07-22 20:38:08 +02:00
Holger Vogt
4dbd8b7f9a
Preliminary fix for the 'interpolate' function.
...
Interpolation of 1D vectors is o.k. now,
multi-dimensional vectors are not (yet) supported.
2021-07-22 20:37:57 +02:00
Holger Vogt
1977128380
Prevent crash when CIDER diode models are used.
...
There is no third node in NUMD or NUMD2, so don't set
GENnode(fast)[i]. This patch fixes a bug introduced in
4895a4b5a ("Diode model with selfheating option", 2021-04-11)
2021-07-20 14:24:43 +02:00
Holger Vogt
9cc9c56cad
Don't write past '\0', fixes a bug in commit
...
1c5e0d11d ("If there is a XSPICE code model .model line with
file input, keep quotes and case for the file path.", 2021-07-15)
2021-07-18 11:19:51 +02:00
Holger Vogt
b7473a33a0
Check for double '{', replace the inner '{', '}' by '(', ')'
...
in .subckt or .model (which both may stem from external sources)
2021-07-18 10:29:16 +02:00
Holger Vogt
85b07e35bf
Fixes bug 483
...
prevent crash when surface mobility (surfmob) has been
selected in 2D simulation.
The patch is provided by Brian Taylor (see
https://sourceforge.net/p/ngspice/mailman/ngspice-devel/thread/e6e921a3-677c-f513-7410-df8568c4bdad%40comcast.net/#msg37318450
)
2021-07-16 10:53:07 +02:00
Holger Vogt
1c5e0d11dd
If there is a XSPICE code model .model line
...
with file input, keep quotes and case for the file path.
2021-07-16 10:52:54 +02:00
Holger Vogt
15a3ed87c0
Enable the m parameter in E, G, B, R behavioral source/devices
2021-07-16 10:52:21 +02:00
Holger Vogt
973a60b898
re-enable making the old help system for Linux/Cygwin
...
by --enable-help --enable-oldapps
2021-07-08 15:34:41 +02:00
Holger Vogt
d34d1e7c7c
Get immediate response into text window,
...
when requesting information on coordinates.
2021-07-07 19:50:50 +02:00
Holger Vogt
182a4d3f5f
WinGUI: Push any remaining error message into text window
...
before emitting interactive error message window and exit.
2021-07-07 19:50:37 +02:00
Holger Vogt
ae72677cc2
Remove a false read when curr_line has
...
already been invalidated.
2021-07-05 19:43:25 +02:00
Holger Vogt
0f25c25c7e
Remove a memory leak
...
Make inp_rem_levels non-static
and use it to remove 'root' after it has been used.
2021-07-05 19:42:14 +02:00
Holger Vogt
54cbfb4138
Nodedamping: Make difference independent of the sign
...
of the difference
2021-07-05 14:32:57 +02:00
Holger Vogt
c74321e0f5
JFET2: Add a link to literature
2021-07-05 14:32:47 +02:00
Holger Vogt
93ddc7a3eb
Enhancement for E source with table, convert to B source with pwl:
...
Add G source
Allow 'table' also being part of a parameter name like 'table_something'
2021-07-05 14:32:34 +02:00
dwarning
0ece04cdc8
Add channel type determination belong nmos/pmos model parameter
2021-07-05 14:32:14 +02:00
Holger Vogt
fe158341ba
Don't show message for every iteration
2021-07-05 14:31:47 +02:00
Holger Vogt
c38b8e3615
Fix a bug in the 'dc' progress report
2021-07-05 14:31:32 +02:00
Holger Vogt
8eeb924460
CIDER: Enable printing either binary or ascii data output to file.
...
Patch provided by Brian Taylor, see
(https://sourceforge.net/p/ngspice/mailman/message/37309841/ )
2021-07-05 14:31:21 +02:00
Holger Vogt
9bb401d9cd
Add a 'qsort' dummy according to current compiler standards.
...
Detected during the very rare condition of not finding a 'qsort'
during the ./configure step.
2021-07-05 14:31:08 +02:00
Holger Vogt
76eac5aa0f
Make error message more verbode
2021-07-05 14:30:35 +02:00
Holger Vogt
a4be66b9b0
Prevent crash if there is bad syntax in h, g, e, or f line
2021-07-05 14:30:26 +02:00
Holger Vogt
31fbf910af
Crash when trying to delete root and netlist:
...
Revert the order of deletion: Firstly the root, then the netlist.
2021-07-05 14:30:08 +02:00
Holger Vogt
858689d206
Make syntax check for nesting of .subckt ... .ends more verbose:
...
Try to find out where .subckt/.ends may be doubled, or missing.
2021-07-05 14:29:50 +02:00
Holger Vogt
52b5e218c7
Add '\f' to characters to be replace by '+'
...
during the syntax check of an netlist input file.
2021-07-05 14:29:35 +02:00
Holger Vogt
c061747f19
Add evaluating and using temp and dtemp
...
as ASRC instance parameters.
2021-07-05 14:29:10 +02:00
Holger Vogt
ddcc6f6097
add a comment: we should use TNOM, but not a fixed 300.15.
...
TNOM still has to be added to the ASRC parameters.
2021-07-05 14:28:51 +02:00
Holger Vogt
dcde7b590e
Don't put brackets around dtemp and temp, when they denote
...
instance parameters and thus are on the left hand side of '='
2021-07-05 14:28:39 +02:00
Holger Vogt
945786fba7
Make PTcheck more verbose:
...
Send error message containing failed expression
2021-07-05 14:28:19 +02:00
Holger Vogt
7e01b800f0
add the parameter name to error message of missing or bad parameter
2021-07-05 14:28:07 +02:00
Holger Vogt
7eb791fe00
No parse tree submitted to IFeval:
...
Prevent segfault and emit error message
2021-07-05 14:27:46 +02:00
Holger Vogt
19abc83312
Make the choice of last commit mor obvious
2021-07-05 14:27:23 +02:00
Holger Vogt
87a9d87f7d
Replace identifier by func not only after '=', but also '{'
...
Extension to commit
61e48f984 ("Start replacing identifiers by func only after the first '='", 2021-06-18)
2021-07-05 14:26:57 +02:00
Holger Vogt
68e51848a4
logic condition to check only 'x' lines had not been given
2021-07-05 14:26:46 +02:00
Holger Vogt
d0ca6a4773
Start replacing identifiers by func only after the first '='
2021-07-05 14:26:21 +02:00
Holger Vogt
36069467fb
Clarify that 'scale set to ...'
...
is not a query, but a statement
by 'scale is set to ...'..
2021-07-05 14:25:49 +02:00
Holger Vogt
5d1dfdf34e
Fix a comment
2021-07-05 14:25:26 +02:00
Holger Vogt
06136d2d02
Set the default line width for grid and graph to 1.
...
0 is possible but seems to be too thin for reasonable plots.
2021-07-05 14:25:13 +02:00
Holger Vogt
028dd0ab88
Remove unused
...
Add a delay of half a time step to reduce error
2021-07-05 14:24:46 +02:00
Holger Vogt
abc6eb56f3
Plausibility checking
...
Enforce out=in when delay == 0
2021-07-05 14:24:29 +02:00
Holger Vogt
fbab9a0fe2
Add an analog delay source for transient simulation
...
Internal circular memory of size tstop/tstep or user defined.
(aprox.) every tstep a value is stored.
Delay time in multiples of tstep, by control voltage or user defined.
Dc or ac sim will simply connect input to output.
2021-07-05 14:24:06 +02:00
Holger Vogt
0d2d034eb2
Add devices s and w to previous commit.
...
R and C are not yet covered here, due to the many
varieties available.
2021-07-05 14:23:52 +02:00
Holger Vogt
c033298db9
Don't replace a device model name by a parameter, if both
...
have the same names.
This is an extension to commit
7706889a0 ("inpcom.c, fix bug no 384 do not quote fourth
token in f, h lines otherwise if dev name equals param
name parsing fails", 2018-12-08)
Fixes bug 327 reported by T. Edwards at
https://github.com/google/skywater-pdk/issues/327
2021-07-05 14:23:23 +02:00
Holger Vogt
03517ae86c
Define the function DevFinalize as used in the previous commit.
2021-07-05 14:22:55 +02:00
Holger Vogt
5e8ae680db
Don't do gr_redraw twice (for non-X11 is already
...
done in gr_resize)
Add a function DevFinalize() to add the closings in SVG or PS
files ("/> or "stroke"), when files are generated by the
plot window in MS Windows.
2021-07-05 14:22:33 +02:00
Holger Vogt
a6079781ea
Fix previous commit, enable name upgrade for Linux and other non-Win OSs
2021-07-05 14:22:10 +02:00
Holger Vogt
1176bdb0b0
Bug: Plot window switching did not change the plot content.
...
Enable plotting the current graph to svg or ps by selecting
the graph from the current plot window.
2021-07-05 14:21:47 +02:00
Holger Vogt
604c4624d1
Within a single run, allow multiple plots with different names:
...
Add an increasing number to the id file name.
2021-07-05 14:21:16 +02:00
Holger Vogt
0f4d953950
Open mrdump file not in append, but in write mode
2021-07-05 14:20:55 +02:00
Holger Vogt
273b773280
New pswitch is not compatible to iswitch
...
Keep the old aswitch until a modified pswitch is available.
2021-07-05 14:20:31 +02:00
Holger Vogt
93f6a50553
New author
2021-07-05 14:20:14 +02:00
Holger Vogt
22a516bc4d
New author
2021-07-05 14:19:56 +02:00
Holger Vogt
d36fcaf34c
Neew pswitch with patch 0001-pswitch-fix.patch from Jube 3rd, 21 at
...
https://sourceforge.net/p/ngspice/discussion/127605/thread/d55d2322f2/#c966/b802/4764/2540/3b3f/04a4/bc51/3a68
Input resistance, numerically computed derivatives with auto-partial, reasonable limits.
2021-07-05 14:19:43 +02:00
Holger Vogt
5cc5e351f1
prepare for the new pswitch with g, gd input
2021-07-05 14:19:28 +02:00
Holger Vogt
9abb61d6ac
Bug fix for %i(node1) in an A instance.
...
Don't do i() replacement in an A instance as shown above.
2021-07-05 14:19:12 +02:00
Holger Vogt
e0d5d98b33
Just a reminder that truncation is currently diabled for CSW
2021-07-05 14:18:40 +02:00
Holger Vogt
c46676d06e
If compatmode PS is set, translate vswitch and iswitch to pswitch.
...
This reverts commit 025a9fe59 ("Partially undo commit [ab778d] : revert to aswitch as vswitch replacement", 2020-11-22)
Successful OpAmp tests vote for pswitch.
Enable iswitch.
2021-07-05 14:18:30 +02:00
Holger Vogt
f12592871a
Set derivative d out/d contrl to 0 if outside of switching range.
...
Disable auto derivatives.
Enable algorithmic derivatives.
2021-07-05 14:18:08 +02:00
Holger Vogt
db5395032f
Avoid model warning for C if compat flag lt is set.
2021-07-05 14:17:49 +02:00
Holger Vogt
1266225cdb
For C and R device enable value tokens like 4k7 or 1u2
...
in addition to 4.7k and 1.2u.
Valid for
R1 1 0 47k
C2 3 6 1u2
only. Does not interfere with other value tokens in params etc.
2021-07-05 14:17:31 +02:00
Holger Vogt
14402ffc96
Update to
...
6034c2bcd ("Internal global variable Infile_Path
is a file search path made available for the code models.
It is set when command 'source' is used.", 2021-04-17)
Correct path to variable.h
2021-07-05 14:17:01 +02:00
Holger Vogt
6d9876229c
Fixes bug #331
...
Bug detected and analysed by Arsen Liash
Patch provided by Yurii Demchyna
2021-07-05 14:16:35 +02:00
Holger Vogt
c75e4129f4
Plug another memory leak in LTRA transmission line
2021-07-05 14:16:17 +02:00
Holger Vogt
5d39ff2d8c
Plug memory leaks in transmission line LTRA
2021-07-05 14:15:20 +02:00
Holger Vogt
d2ac525f52
Plug some more memory leak in TXL transmission line.
2021-07-05 14:14:38 +02:00
Markus Mueller
74ba5c1f96
found non-initialized value!
2021-07-05 14:14:15 +02:00
Markus Mueller
5c71349bad
remove dead assign statements, yet just commented them out for the time
...
being
2021-07-05 14:14:00 +02:00
Holger Vogt
c0bd7ca6e2
Plug a memory leak in TXL transmissiom line (y device)
2021-07-05 14:13:44 +02:00
Holger Vogt
b5054cc9f1
Plug a memory leak
...
Add function HICUMdelete() to remove model->HICUMversion
2021-07-05 14:12:46 +02:00
Holger Vogt
7dd96c241c
PSPICE MC parameters are not (yet) supported, so remove them
...
from .model (lot, dev) and netlist (.distribution)
Triggered by Patch #104 by Giles Atkinson
2021-07-05 14:12:09 +02:00
Holger Vogt
58bdf9e0e6
Remove 'goto end' and 'end:' statements.
2021-07-05 14:11:48 +02:00
Holger Vogt
c2d11728c4
enable usage of parameters in .options lines.
2021-07-05 14:11:26 +02:00
Holger Vogt
78eee72b36
.temp could not apply params like
...
.ttemp {tmpparam}:
move evaluation of .temp to a later stage
2021-07-05 14:11:03 +02:00
Holger Vogt
d0da4bebd3
make variable 'dir' local
2021-07-05 14:10:44 +02:00
Holger Vogt
11d3188e19
fix typo
2021-07-05 14:10:20 +02:00
Holger Vogt
4fd7de9e34
Partially re-introduce and improve code that has been
...
inadvertently deleted in commit
83592c456 ("unify the evaluation of '.options scale=xx'
.option in a netlist will override 'options' from spinit,
.spiceinit or a script '.options scalm=xx' yields a warning,
it is not supported.", 2021-04-05)
The code transforms the option statements and adds them
to the current circuit.
2021-07-05 14:09:56 +02:00
dwarning
6bafdf70d5
sub-coll junction calculation only if ISS given
2021-07-05 14:09:35 +02:00
Holger Vogt
3a908c76ef
Prevent crash, refName may be NULL
2021-07-05 14:08:41 +02:00
Holger Vogt
98f8a4fcb2
Improve error message, if occuring during op
2021-07-05 14:08:25 +02:00
dwarning
4ca4b43801
simplify while loop for subckt diode and bjt models
2021-07-05 14:08:02 +02:00
Holger Vogt
c8db059144
Use 'm' and 'multi' correctly in PDKs
...
If there is alraedy m=xx in a subcircuit instance line,
replace it by m='m*xx' to aknowledge the additional m.
Tested with an (old) TSMC PDK and with Skywater PDK.
2021-07-05 14:07:46 +02:00
dwarning
1f95e12142
Value stored to vsub is never read
2021-07-05 14:07:26 +02:00
dwarning
52f4244345
fix Vcrit calculation for coll-subs junction and correct tlev=3 temperature model
2021-07-05 14:07:14 +02:00
dwarning
b00fa921ac
rm depreciated storage class
2021-07-05 14:06:52 +02:00
dwarning
e14dc3aaa3
few style cleanings
2021-07-05 14:06:28 +02:00
Holger Vogt
109e33f127
Improve font selection for Win GUI plot window
...
Font Names from
https://docs.microsoft.com/en-us/typography/fonts/windows_10_font_list
without option or with Bold or Italic are supported, e.g.
setcs wfont="Cambria Bold Italic".
2021-07-05 14:06:06 +02:00
Holger Vogt
80e5f67466
Reduce wchar_t string length to minimum required
...
(to be NULL-terminated for CreateWindowW)
2021-07-05 14:05:33 +02:00
Holger Vogt
c9a19c7569
Fix for bug 547
...
Reduce length of wchar_t strings to the minimum required
for conversion
Check if Bold or Italic is given in the font name, set
corresponding variable
2021-07-05 14:04:09 +02:00
dwarning
45e397727b
rm dead assignments
2021-07-05 14:03:38 +02:00
Holger Vogt
d2f6ad239f
If the input file path contains ANSI-encoded special characters,
...
utf-8 conversion and thus file opening will fail.
This patch then in addition tries opening the file with standard fopen.
2021-07-05 14:03:21 +02:00
Holger Vogt
ba262eaa5f
Internal global variable Infile_Path is a file search path made
...
available for the code models. It is set when command 'source' is used.
This patch makes the first entry in var 'sourcepath' available to
the code models as well by setting Infile_Path, when 'sourcepath'
is set in .spiceinit.
2021-07-05 14:02:51 +02:00
dwarning
a08f120518
TEMPFORMAT has already leading / in defines.h
2021-07-05 14:02:21 +02:00
dwarning
64c407332d
rm dead assignemnts
2021-07-05 14:02:04 +02:00
dwarning
9b2f3cfd5e
iter value never read - prevent compiler warning
2021-07-05 14:01:26 +02:00
dwarning
4e86cfa352
diode cbv only needed for tracing - prevent compiler warning
2021-07-05 14:01:09 +02:00
dwarning
2b2e40793e
correct indentation
2021-07-05 14:00:44 +02:00
Holger Vogt
741cab390f
Prevent a crash when the number of models exceeds MODNUMBERS
...
Raise MODNUMBERS to 2048
https://github.com/kicad-spice-library/KiCad-Spice-Library/issues/16
2021-07-05 13:59:53 +02:00
Holger Vogt
66cbac3f4e
Fixes a bug introduced by commit [4895a4]
...
Re-enables R with .model like
.model R_NOISELESS RES (TCE=0 T_ABS=-273.15)
R77 1 0 R_NOISELESS 100
2021-07-05 13:59:24 +02:00
dwarning
b1bf7ea0ad
Diode model with selfheating option
2021-07-05 13:58:51 +02:00
Holger Vogt
48acb10929
Remove compiler warnings
2021-07-02 11:58:30 +02:00