Holger Vogt
f5091bdc2d
Make the error message a little more reasonable.
...
Unfortunately the current setup does not easily allow naming
the offending command.
2023-07-15 11:21:11 +02:00
Holger Vogt
d46cd894cc
Prevent crash if s == NULL
2023-07-15 11:20:09 +02:00
Holger Vogt
7f8e1cecab
Allow ';' also at the beginning of a line.
2023-07-15 11:19:57 +02:00
Holger Vogt
c1db561373
No syntax check for title line
2023-07-15 11:19:31 +02:00
Holger Vogt
3420e66705
During syntax check: v,i sources need two nodes,
...
and prevent crash upon buggy ac input.
2023-07-15 11:18:09 +02:00
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 {(...)}.
2023-07-15 11:17:34 +02:00
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.
2023-07-15 11:17:10 +02:00
Holger Vogt
01e8b4da84
Prevent crash upon buggy user input (missing ] or >)
2023-07-15 11:16:57 +02:00
Holger Vogt
1340002c05
Improve error message
2023-07-15 11:16:43 +02:00
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
2023-07-15 11:15:50 +02:00
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.
2023-07-15 11:15:08 +02:00
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.
2023-07-15 11:14:35 +02:00
Holger Vogt
d295fe3ac6
Slightly improve error handling and warning message
2023-05-27 10:50:02 +02:00
Holger Vogt
823465ceb8
.csparam: Add some safeguarding against wrong input and crash,
...
allow multiple parameters in a .csparam row (like .param).
2023-05-27 10:49:53 +02:00
Holger Vogt
ba7ad783a8
safeguard against crash upon buggy input
2023-05-27 10:49:07 +02:00
Holger Vogt
c723e124d9
Make error message more verbose and useful
2023-05-27 10:48:57 +02:00
Holger Vogt
e834c89313
Prevent a crash when number of nodes differs in subckt and X call.
2023-05-27 10:48:30 +02:00
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.
2023-05-27 10:47:27 +02:00
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.
2023-05-27 10:46:45 +02:00
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.
2023-05-27 10:46:24 +02:00
Holger Vogt
923f7efab0
Prevent crash (seg fault), if measure statement is incomplete
2023-05-27 10:46:01 +02:00
Holger Vogt
66a4b2226e
.libsave: don't save the command itself, improve messaging
2023-05-27 10:44:56 +02:00
Holger Vogt
006a66b055
.libsave: Print to file the expanded library read by .lib
2023-05-27 10:44:04 +02:00
Holger Vogt
c6efc6bc9c
Send 'refernce value' to stdout, not to stderr
2023-05-27 10:43:16 +02:00
Holger Vogt
50a9daf24a
Line concatenation: use dstring instead of tprintf:
...
Parsing time of Skywater libs reduced by more than 35%.
2023-05-27 10:42:47 +02:00
dwarning
924dc10368
get the right place for variable declaration
2023-05-27 10:41:29 +02:00
dwarning
a4f6a777c0
few cleanings to prevent compiler warnings
2023-05-27 10:41:21 +02:00
Brian Taylor
6b85bcb805
Allocate compound gate connectors where needed.
2023-05-27 10:41:04 +02:00
Brian Taylor
de34a90bb4
Create correct translations of degenerate compound gates with $d_hi/$d_lo inputs.
2023-05-27 10:40:51 +02:00
Holger Vogt
797795e7c0
Shift all compatibility handlinmg from inpcom.c into its own source files
...
inpcompat.c and inpcompat.h
2023-05-27 10:39:05 +02:00
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.
2023-05-27 10:38:40 +02:00
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).
2023-04-01 13:56:12 +02:00
Holger Vogt
8f8f7ff8ab
Command 'listing r': No extra formatting, truncation etc.
...
of netlist lines when printing to file or console.
2023-04-01 13:50:17 +02:00
Holger Vogt
062785319a
When '.probe alli' is set, disable auto bridging and set a flag
2023-03-24 22:10:18 +01:00
Holger Vogt
f121c433a7
Check for buggy diode instance line, avoid crash
2023-03-22 14:29:48 +01:00
Brian Taylor
8c69ada5b5
The logicexp example in the PSpice ref. manual has a name with a '+' character (LCN+4). Update lexer_scan.
2023-03-22 14:26:43 +01:00
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.
2023-03-22 14:26:18 +01:00
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.
2023-03-22 14:25:51 +01:00
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.
2023-03-19 15:24:27 +01:00
Holger Vogt
71571a1432
Add function atanh to .control section
2023-03-18 22:31:48 +01:00
Holger Vogt
3996d27b29
Make code a little more efficient
2023-03-18 22:31:33 +01:00
Holger Vogt
7af6c4a661
Re-enable single line parameter lists, separated by commas
2023-03-18 22:31:27 +01:00
Holger Vogt
63d86f5af8
Prevent a crash in strchr
...
Reported by KiCad Sentry
2023-03-18 14:37:59 +01:00
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}
2023-03-18 14:37:53 +01:00
Holger Vogt
d8505f0069
Make error message more verbose by a hint to the line (fragment).
2023-03-18 14:37:47 +01:00
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.
2023-03-18 14:37:40 +01:00
Holger Vogt
e4601c16ee
Not a warning but an error, stopping the simulation
2023-03-18 14:37:33 +01:00
Holger Vogt
f32f3ac8cd
Improve previous commit: A bad .model line leads to a breakup
...
of the simulation.
2023-03-18 14:37:26 +01:00
Holger Vogt
c61acefef7
Prevent crash when a bad .model line is given, like
...
.model
.model xxx
2023-03-18 14:37:19 +01:00
Holger Vogt
247562c096
Update copyright notice
2023-03-18 14:37:08 +01:00