Commit Graph

3373 Commits

Author SHA1 Message Date
Carsten Schoenert 486dd587d0 spelling: Fix misspelled word Instnace 2022-01-02 13:51:44 +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 a8d8600faa plug a memory leak 2021-12-23 14:37:57 +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 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
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 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 3f3936c728 Remove memory leaks 2021-12-13 21:34:07 +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
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 7ce476c0ad Make optran standrad by calling com_optran during ngspice initialization. 2021-10-29 16:38:27 +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 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 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 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 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
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