Holger Vogt
eda9cadbed
The 'plot' command is not available in batch mode.
Issue a warning and ignore it.
3 years ago
Holger Vogt
f5091bdc2d
Make the error message a little more reasonable.
Unfortunately the current setup does not easily allow naming
the offending command.
3 years ago
Holger Vogt
d46cd894cc
Prevent crash if s == NULL
3 years ago
Holger Vogt
7f8e1cecab
Allow ';' also at the beginning of a line.
3 years ago
Holger Vogt
c1db561373
No syntax check for title line
3 years ago
Holger Vogt
3420e66705
During syntax check: v,i sources need two nodes,
and prevent crash upon buggy ac input.
3 years ago
Holger Vogt
29c51c0d30
Bail out if {...} or '...' are missing around RHS of the equation.
(...) may be possible, elsewhere additional {} are put around,
so we have {(...)}.
3 years ago
Holger Vogt
0ee5e3f32a
Add a control language function cvector, to create a complex vector.
Let vec1 = cvector(50)
will generate a complex vector, with the real part values
increasing from 0 to 49, the imaginary values are set to 0.
Useful in ac loops to store result data.
3 years ago
Holger Vogt
01e8b4da84
Prevent crash upon buggy user input (missing ] or >)
3 years ago
Holger Vogt
1340002c05
Improve error message
3 years ago
Holger Vogt
695c1e1bd6
Add an extra model stitching for CIDER only.
This one fills in actualLine, which is use by
parsing the CIDER model parameters in INPparseNumMod()
from inpgmod.c
3 years ago
Giles Atkinson
d31568bd83
Add parsing and translation of the FREQ form of E-source devices,
integrated with the existing parsing of AND/NAND/OR/NOR forms (inpcom.c).
For the implementation, add a new analog XSPICE code model, xfer.
Add an example to examples/sp.
3 years ago
Giles Atkinson
422a205409
Always propgate any individual scale for a vector that appears
in an expression, resolving conflicts by matching length and warning
only when making an arbitary choice. One effect of this is that it
is now possible to mix analog nodes with offset digital nodes
(an expression like dvalue+6) without a warning and get a correct plot.
3 years ago
Holger Vogt
d295fe3ac6
Slightly improve error handling and warning message
3 years ago
Holger Vogt
823465ceb8
.csparam: Add some safeguarding against wrong input and crash,
allow multiple parameters in a .csparam row (like .param).
3 years ago
Holger Vogt
ba7ad783a8
safeguard against crash upon buggy input
3 years ago
Holger Vogt
c723e124d9
Make error message more verbose and useful
3 years ago
Holger Vogt
e834c89313
Prevent a crash when number of nodes differs in subckt and X call.
3 years ago
Holger Vogt
96bebafac5
Enable history substitution of interactive commands only when variable 'histsubst' is set.
This feature is in conflict with ! (logic inversion)
in .control language logic expressions.
3 years ago
Giles Atkinson
45015f974d
Add a "-w" option to the iplot command. It sets a width for the
window (in the current scale units) so that it does not re-scale
on overflow, but instead plots recently-generated data on a fixed scale.
3 years ago
Giles Atkinson
7a5514a1ff
In graf.c change local function set() to do what you might expect,
rather than the opposite. Also fix a debug message.
3 years ago
Holger Vogt
923f7efab0
Prevent crash (seg fault), if measure statement is incomplete
3 years ago
Holger Vogt
66a4b2226e
.libsave: don't save the command itself, improve messaging
3 years ago
Holger Vogt
006a66b055
.libsave: Print to file the expanded library read by .lib
3 years ago
Holger Vogt
c6efc6bc9c
Send 'refernce value' to stdout, not to stderr
3 years ago
Holger Vogt
50a9daf24a
Line concatenation: use dstring instead of tprintf:
Parsing time of Skywater libs reduced by more than 35%.
3 years ago
dwarning
924dc10368
get the right place for variable declaration
3 years ago
dwarning
a4f6a777c0
few cleanings to prevent compiler warnings
3 years ago
Brian Taylor
6b85bcb805
Allocate compound gate connectors where needed.
3 years ago
Brian Taylor
de34a90bb4
Create correct translations of degenerate compound gates with $d_hi/$d_lo inputs.
3 years ago
Holger Vogt
797795e7c0
Shift all compatibility handlinmg from inpcom.c into its own source files
inpcompat.c and inpcompat.h
3 years ago
Brian Taylor
14a403e193
Use ~ on the input of a tristate buffer for INV3, and avoid creating an extra inverter. For ff/latch use ~ on set/reset and jkff clock inputs to avoid creating extra inverters.
3 years ago
Giles Atkinson
5aa48cab0b
Do not generate netlist lines that use non-existent libraries.
To support that, give global scope to function inp_pathresolve()
in inpcom.c. Update internal documentation (long comment).
3 years ago
Holger Vogt
8f8f7ff8ab
Command 'listing r': No extra formatting, truncation etc.
of netlist lines when printing to file or console.
3 years ago
Holger Vogt
062785319a
When '.probe alli' is set, disable auto bridging and set a flag
3 years ago
Holger Vogt
f121c433a7
Check for buggy diode instance line, avoid crash
3 years ago
Brian Taylor
8c69ada5b5
The logicexp example in the PSpice ref. manual has a name with a '+' character (LCN+4). Update lexer_scan.
3 years ago
Brian Taylor
40a540a2ff
Add inertial_delay=true to .model statements generated when U* instances in PSpice library subckts are translated to Xspice. Any other Xspice A* digital instances might have different inertial_delay settings in their models, so potentially there could be a mixture of delay types. For example, if a user wishes to model a DLYLINE using a d_buffer with inertial_delay=false and equal rise/fall delays.
3 years ago
Brian Taylor
164db58404
The intent now is to rely on a variable setting in .spiceinit to control the use of inertial delay XSPICE digital models. This will apply to U* instances in subcircuits which are translated to XSPICE.
3 years ago
Holger Vogt
86951501a7
Add eprvcd to the commands which set node names to lower case,
but not the file names after >
Does not work for manually entered eprvcd commands, where the user
has to provide lower case node names.
3 years ago
Holger Vogt
71571a1432
Add function atanh to .control section
3 years ago
Holger Vogt
3996d27b29
Make code a little more efficient
3 years ago
Holger Vogt
7af6c4a661
Re-enable single line parameter lists, separated by commas
3 years ago
Holger Vogt
63d86f5af8
Prevent a crash in strchr
Reported by KiCad Sentry
3 years ago
Holger Vogt
e4202ea181
The tc for R, L, C may include an expression
like tc={expression} or tc={expression}, 1.3u or
tc={expression}, {expression2}
3 years ago
Holger Vogt
d8505f0069
Make error message more verbose by a hint to the line (fragment).
3 years ago
R. Timothy Edwards
c12296182c
The code in src/frontend/subckt.c has a fixed-size structure called table at the top with a size set to N_GLOBAL_NODES = 1005. If the number of items passed in formal and actual exceeds 1005, then ngspice exits immediately with an error.
This patch lets table be reallocated on the fly as needed to accommodate the number of subcircuit arguments, instead of being a fixed value.
3 years ago
Holger Vogt
e4601c16ee
Not a warning but an error, stopping the simulation
3 years ago
Holger Vogt
f32f3ac8cd
Improve previous commit: A bad .model line leads to a breakup
of the simulation.
3 years ago
Holger Vogt
c61acefef7
Prevent crash when a bad .model line is given, like
.model
.model xxx
3 years ago