Brian Taylor
6500caeba1
Now that checks on actuals and formals have been fixed for X* instances, some older PSpice libraries will not translate correctly in psa mode. This commit removes unnecessary power and ground nodes from X* instances of subcircuits where the nodes are optional. These X* instances occur within the body of another subcircuit which is being translated. MicroCap libraries that we can translate in ngspice do not have such cases. To enable the removal of the power and ground nodes, set ps_global_tmodels=1 in .spiceinit. This is not set by default since an extra pass through the circuit word list is necessary to find the subcircuits whose instances do not require power and ground node removal. Without enabling this feature, errors reporting too many parameters may be reported.
1 year ago
Holger Vogt
7d59ad2db7
Create extra name derived from node name, but with / replaced by _,
to become part of the new voltage source name: avoid names
which are not parsed correctly by the B source equation parser.
1 year ago
Holger Vogt
a45c1500a6
Remove 512 char limit of sourcepath variable.
Make attaching new path more efficient.
1 year ago
Holger Vogt
22b4f4e632
Re-enable detection of over- or underflow of number of nodes
when calling a subcircuit.
Update to commit
c12296182 ("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.", 2023-03-14)
1 year ago
Holger Vogt
33ef1fc876
typos
1 year ago
Giles Atkinson
b48224e514
Improve the behaviour of ngspice when run in the background on a
Unix-like OS with job control. The progress ticker is suppressed
for a command like "ngspice some_circuit.cir &" so the terminal
remains usuable while the simulation runs.
1 year ago
Giles Atkinson
4feb0c3ccc
Remove function cp_ccon() and related code. The function modifies
the terminal driver's treatment of the control-D (EOF) and escape
keys on Unix-like OSs. But escape has no special meaning, and treating
control-D as a line terminator was probably to prevent unexpected
session exit when connected through a modem without error-correction.
Removing the function allows "ngspice netlist &" to work correctly.
The function was called during initialisation, which caused an endless
loop of job-control stops when ngspice was started as a background process.
2 years ago
Giles Atkinson
562466a3c5
Three minor code improvements. Remove a redundant test in com_measure2.c.
In vectors.c, always initialise a newly-created plot exactly once.
Improve an error message in spiceif.c.
1 year ago
Giles Atkinson
fb63573b6b
Fix processing of lines like: "*# pre_some_command ...".
1 year ago
Brian Taylor
75c2811fa9
Fix some memory leaks.
1 year ago
dwarning
3d20dc0da7
format - white spaces
1 year ago
dwarning
bf6ffd357d
Keep it simple: use only one structure and get_time function
1 year ago
dwarning
60554855d8
seconds() gives difftime to program start, lower priority for getrusage() and times()
1 year ago
dwarning
3faed1647a
Reorder and renovate timer functions taking into account ngspice multiprocessor capabilities
by using available high performance functions first.
Deprecated ftime() still acts as a backup function.
Solution is portable for today's operating systems and compilers.
1 year ago
Holger Vogt
60ddad4983
Make the resistor name unique for a device with multiple unconnected nodes
1 year ago
Holger Vogt
793fca6e2a
If preprocessing is skipped, we still need the number of lines in the deck.
1 year ago
Holger Vogt
8e05683592
Prevent crash if number of lines is wrong/not available ...
1 year ago
Holger Vogt
20d6fb460f
Add a comment
1 year ago
Holger Vogt
e2c4182888
Vectors Cy_xxx are of type 'current'.
1 year ago
Holger Vogt
c716e34425
Use the correct type for each vector after S-parameter analysis.
Cy_1_1 is still missing (voltage as default).
1 year ago
Holger Vogt
27db91480b
Fix bug no. 708, reported by Philip Sauvage.
1 year ago
Holger Vogt
368c59466b
Allow plotting a single point in an ascii plot
(command .asciiplot)
1 year ago
Giles Atkinson
537d55d80b
Improve an error message.
1 year ago
Giles Atkinson
cf812da363
Try to clarify the mechanism of parameter substitution and add
an example of substituting an XSPICE vector parameter.
2 years ago
Holger Vogt
d5f0c6598f
Fix commit 09685dde1
("Set lower case for variables or vectors in command 'echo'.
Tokens starting with '$' will get lower-casing.", 2024-09-07)
Don't use s as name for temporary string, as s has been set
already and is used later.
2 years ago
Holger Vogt
b62528d7e5
Set lower case for variables or vectors in command 'echo'.
Tokens starting with '$' will get lower-casing.
2 years ago
Holger Vogt
287280c3db
Make error messages more verbose:
add line number and source file name.
2 years ago
Holger Vogt
bce621680b
Add line number and source file to some error messages
2 years ago
Holger Vogt
8e8716abc7
Fix warning message
2 years ago
Holger Vogt
c2c35b56a4
More on verbose error and warning messages
2 years ago
Holger Vogt
4e6af5a55f
Allow KiCad special token V(/xyz) by quoting
2 years ago
Holger Vogt
c33fd66a21
Make error messages more verbose:
add line number and source file name.
2 years ago
Holger Vogt
123ed0aada
Add simulator version info to raw file ('write' commad)
using an extra line 'Command: ...').
The old sequence (adding commands manually to raw file) is
still available.
The 'Command: anycommand' will not be executed if loading
an ngspice-generated raw file. Raw files from other simulators may
generate a warning that the command is not available.
2 years ago
Holger Vogt
1087c6a0c2
Add simulator version info to raw file in batch mode,
using the line 'Command:...'
2 years ago
Vogt
501a64470f
Error and warning messages to stderr
2 years ago
Holger Vogt
295be20859
Remove sourceinfo upon shared ngspice reset.
Remove memory leaks.
2 years ago
Holger Vogt
a2ca4616b9
Memcpy only when p_word is not NULL
enable -fsanitize=address
2 years ago
Holger Vogt
250e9afd92
Set pl_lookup_table to NULL after freeing: allow another initialization
2 years ago
Holger Vogt
4f8cfbf9f9
Update copyright
2 years ago
Holger Vogt
2af390f0b1
Update copyright info
2 years ago
Holger Vogt
3c7012a826
Repair the link to the xhtml manual
Thanks to Geoffrey Coram for the hint.
2 years ago
Holger Vogt
acdd93f157
If compiling shared ngspice, don't set up a terminal.
2 years ago
Holger Vogt
442d8554f0
Enable single terminal n devices (Verilog-A modules)
2 years ago
Holger Vogt
14bb63490c
Plug a memory leak
2 years ago
Brian Taylor
d01868b725
Cleanup gcc compiler warnings.
2 years ago
Holger Vogt
b1795dbcf2
add path or filepath (without file name) to variable sourcepath,
when calling command 'source'
2 years ago
Holger Vogt
dd6089c4fc
Improved warning message: hint to line causing the warning.
2 years ago
Holger Vogt
d61a728688
Add function check_for_nodes to
check if there are enough tokens in an instance line.
2 years ago
Holger Vogt
0362953cd4
Bail out when the instance line is not complete.
Moving on does typically not make any sense.
2 years ago
Holger Vogt
fa5ac4a0cd
When reading code models, allow only a single model pere command
(as was implicitely assumed anyway).
2 years ago