Holger Vogt
3bac1ffabe
Allow adequate size for copying.
Add the missing character string to fprintf.
4 years ago
Holger Vogt
b636017359
add function prototype
for insert_new_line()
4 years ago
Brian Taylor
8e75cad453
Fix missing initializer warning.
4 years ago
Holger Vogt
11117912f9
typos
4 years ago
Holger Vogt
1605d293d0
Add function integ to control language
Trapezoidal rule for integrating a vector.
4 years ago
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 ( )
4 years ago
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
4 years ago
Holger Vogt
b749e62e31
Make error message more verbose
4 years ago
Holger Vogt
aaf586ae83
.probe: Add more safeguards to prevent crashes
in case of wrong user input
due to obtain empty lines in shared ngspice
4 years ago
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
4 years ago
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).
4 years ago
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()
4 years ago
Holger Vogt
7f1a3bea20
.probe: Add the new file inpc_probe.c to the VS project files
and makefile.am in ngspice/src/frontend
4 years ago
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
4 years ago
Holger Vogt
7f75b2a7b8
Update to previous commit: safeguard against no circuit loaded
4 years ago
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
4 years ago
Holger Vogt
1ce0066d3b
Update to previous commit: corrected and enhanced warning messages
4 years ago
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 @
4 years ago
Holger Vogt
79c71a4ec3
Enable math characters in vector (node) names for command fft
Replace ft_getpnames() by ft_getpnames_quotes().
4 years ago
Holger Vogt
ccd9a217c3
Enable math characters in vector (node) names for logic comparison
Replace ft_getpnames() by ft_getpnames_quotes().
4 years ago
Holger Vogt
8895a6e633
Enable math characters in vector (node) names for command alter
Replace ft_getpnames() by ft_getpnames_quotes().
4 years ago
Holger Vogt
ee2f3a72f4
Enable math characters in vector (node) names for command fourier
Replace ft_getpnames() by ft_getpnames_quotes().
4 years ago
Holger Vogt
98b7074287
Enable math characters in vector (node) names for command spectrum
Replace ft_getpnames() by ft_getpnames_quotes().
4 years ago
Holger Vogt
c09839b209
Enable math characters in vector (node) names for commands
write and print
Replace ft_getpnames() by ft_getpnames_quotes().
4 years ago
Holger Vogt
57f6d41e69
Enable math characters in vector (node) names for plotting
Replace ft_getpnames() by ft_getpnames_quotes().
4 years ago
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.
4 years ago
Holger Vogt
3f3936c728
Remove memory leaks
4 years ago
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.
5 years ago
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.
4 years ago
Holger Vogt
bde0639bc4
save within subcircuit
enable V(a,b) as v(a) v(b)
4 years ago
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.
4 years ago
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
4 years ago
Holger Vogt
7ce476c0ad
Make optran standrad by calling com_optran during ngspice initialization.
5 years ago
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.
5 years ago
Holger Vogt
bbccb4b63e
Improved error message:
when argument out of range, name the term
5 years ago
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.
5 years ago
Holger Vogt
6f6f2b8996
Remove double assigment to s[1]
Assignment Is either done in the loop or by *y = '\0';
5 years ago
Holger Vogt
df5e7e36f6
When checking for µ, truncated the line, when shifted.
Enable R470, when newcompat LT is selected.
5 years ago
Holger Vogt
3dcc36c1c3
ngspice input deck may contain special characters like µ (mu).
Detect mu for ANSI and UTF-8 and translate it to u.
5 years ago
Holger Vogt
93f904fb0b
Make 'speedcheck' also available in batch mode simulation.
5 years ago
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.
5 years ago
Holger Vogt
3cf6857cfc
Fix bug #557
Revise memory allocation for different analysis types
5 years ago
Holger Vogt
601287e949
Check V and I lines for dc and ac.
Allow ac without parameters, a default is set to ac ( 1 0 )
5 years ago
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.
5 years ago
Holger Vogt
3599c189b6
re-enable lower-casing of tokens beginning with 'cd',
except for command 'cd' which is usually followed by a space.
5 years ago
Brian Taylor
abad190b38
Don't search for ic.file within comments.
5 years ago
Brian Taylor
b3a99f0c6c
Do not use non-portable strcasestr.
5 years ago
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.
5 years ago
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.
5 years ago
Holger Vogt
e35e3e3b33
prevent a crash, e.g. when incompatible 'option interp'
is set and 'stop' is called.
5 years ago