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
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
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.
2021-09-29 20:27:29 +02:00
Holger Vogt
3599c189b6
re-enable lower-casing of tokens beginning with 'cd',
...
except for command 'cd' which is usually followed by a space.
2021-09-29 20:27:05 +02:00
Brian Taylor
abad190b38
Don't search for ic.file within comments.
2021-09-29 20:23:26 +02:00
Brian Taylor
b3a99f0c6c
Do not use non-portable strcasestr.
2021-09-29 20:23:08 +02:00
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.
2021-09-29 20:22:56 +02:00
Holger Vogt
9221df234c
Patch to allow (and ignore) leading or trailing commas
...
when putting {} around tokens. Tested with PWL voltage source.
Patch has been suggested by Liqian Zhang
2021-09-29 19:58:36 +02:00
Holger Vogt
9cc9c56cad
Don't write past '\0', fixes a bug in commit
...
1c5e0d11d ("If there is a XSPICE code model .model line with
file input, keep quotes and case for the file path.", 2021-07-15)
2021-07-18 11:19:51 +02:00
Holger Vogt
b7473a33a0
Check for double '{', replace the inner '{', '}' by '(', ')'
...
in .subckt or .model (which both may stem from external sources)
2021-07-18 10:29:16 +02:00
Holger Vogt
1c5e0d11dd
If there is a XSPICE code model .model line
...
with file input, keep quotes and case for the file path.
2021-07-16 10:52:54 +02:00
Holger Vogt
15a3ed87c0
Enable the m parameter in E, G, B, R behavioral source/devices
2021-07-16 10:52:21 +02:00
Holger Vogt
ae72677cc2
Remove a false read when curr_line has
...
already been invalidated.
2021-07-05 19:43:25 +02:00
Holger Vogt
0f25c25c7e
Remove a memory leak
...
Make inp_rem_levels non-static
and use it to remove 'root' after it has been used.
2021-07-05 19:42:14 +02:00
Holger Vogt
93ddc7a3eb
Enhancement for E source with table, convert to B source with pwl:
...
Add G source
Allow 'table' also being part of a parameter name like 'table_something'
2021-07-05 14:32:34 +02:00
Holger Vogt
76eac5aa0f
Make error message more verbode
2021-07-05 14:30:35 +02:00
Holger Vogt
a4be66b9b0
Prevent crash if there is bad syntax in h, g, e, or f line
2021-07-05 14:30:26 +02:00
Holger Vogt
31fbf910af
Crash when trying to delete root and netlist:
...
Revert the order of deletion: Firstly the root, then the netlist.
2021-07-05 14:30:08 +02:00
Holger Vogt
858689d206
Make syntax check for nesting of .subckt ... .ends more verbose:
...
Try to find out where .subckt/.ends may be doubled, or missing.
2021-07-05 14:29:50 +02:00
Holger Vogt
52b5e218c7
Add '\f' to characters to be replace by '+'
...
during the syntax check of an netlist input file.
2021-07-05 14:29:35 +02:00
Holger Vogt
dcde7b590e
Don't put brackets around dtemp and temp, when they denote
...
instance parameters and thus are on the left hand side of '='
2021-07-05 14:28:39 +02:00
Holger Vogt
19abc83312
Make the choice of last commit mor obvious
2021-07-05 14:27:23 +02:00
Holger Vogt
87a9d87f7d
Replace identifier by func not only after '=', but also '{'
...
Extension to commit
61e48f984 ("Start replacing identifiers by func only after the first '='", 2021-06-18)
2021-07-05 14:26:57 +02:00
Holger Vogt
68e51848a4
logic condition to check only 'x' lines had not been given
2021-07-05 14:26:46 +02:00
Holger Vogt
d0ca6a4773
Start replacing identifiers by func only after the first '='
2021-07-05 14:26:21 +02:00
Holger Vogt
0d2d034eb2
Add devices s and w to previous commit.
...
R and C are not yet covered here, due to the many
varieties available.
2021-07-05 14:23:52 +02:00
Holger Vogt
c033298db9
Don't replace a device model name by a parameter, if both
...
have the same names.
This is an extension to commit
7706889a0 ("inpcom.c, fix bug no 384 do not quote fourth
token in f, h lines otherwise if dev name equals param
name parsing fails", 2018-12-08)
Fixes bug 327 reported by T. Edwards at
https://github.com/google/skywater-pdk/issues/327
2021-07-05 14:23:23 +02:00
Holger Vogt
273b773280
New pswitch is not compatible to iswitch
...
Keep the old aswitch until a modified pswitch is available.
2021-07-05 14:20:31 +02:00
Holger Vogt
5cc5e351f1
prepare for the new pswitch with g, gd input
2021-07-05 14:19:28 +02:00
Holger Vogt
9abb61d6ac
Bug fix for %i(node1) in an A instance.
...
Don't do i() replacement in an A instance as shown above.
2021-07-05 14:19:12 +02:00
Holger Vogt
c46676d06e
If compatmode PS is set, translate vswitch and iswitch to pswitch.
...
This reverts commit 025a9fe59 ("Partially undo commit [ab778d] : revert to aswitch as vswitch replacement", 2020-11-22)
Successful OpAmp tests vote for pswitch.
Enable iswitch.
2021-07-05 14:18:30 +02:00
Holger Vogt
db5395032f
Avoid model warning for C if compat flag lt is set.
2021-07-05 14:17:49 +02:00
Holger Vogt
7dd96c241c
PSPICE MC parameters are not (yet) supported, so remove them
...
from .model (lot, dev) and netlist (.distribution)
Triggered by Patch #104 by Giles Atkinson
2021-07-05 14:12:09 +02:00
Holger Vogt
c8db059144
Use 'm' and 'multi' correctly in PDKs
...
If there is alraedy m=xx in a subcircuit instance line,
replace it by m='m*xx' to aknowledge the additional m.
Tested with an (old) TSMC PDK and with Skywater PDK.
2021-07-05 14:07:46 +02:00
Holger Vogt
741cab390f
Prevent a crash when the number of models exceeds MODNUMBERS
...
Raise MODNUMBERS to 2048
https://github.com/kicad-spice-library/KiCad-Spice-Library/issues/16
2021-07-05 13:59:53 +02:00
Holger Vogt
66cbac3f4e
Fixes a bug introduced by commit [4895a4]
...
Re-enables R with .model like
.model R_NOISELESS RES (TCE=0 T_ABS=-273.15)
R77 1 0 R_NOISELESS 100
2021-07-05 13:59:24 +02:00
dwarning
b1bf7ea0ad
Diode model with selfheating option
2021-07-05 13:58:51 +02:00
Holger Vogt
bc74caca2f
Don't create cat2strings if on VS2019
2021-07-02 11:54:06 +02:00
Holger Vogt
d07fab904c
Speed enhancement while reading large PDKs:
...
Line concatenation used tprintf, which uses vsnprintf,
which is very inefficient in Linux, MINGW, but efficient
using MSVC. Thus for the others a function cat2strings() is
introduced, which uses memccpy().
2021-07-02 11:51:18 +02:00
Holger Vogt
8076e2b4cf
Check for double '{{ }}', replace the inner '{', '}' by '(', ')'
...
in .model lines, if compat mode ps is set. Enables use of some On-Semi
power transistor models.
2021-02-21 16:48:53 +01:00
Holger Vogt
5747982ae8
Re-enable devices like E2 1 0 (2,3) 1
...
Add a new function nexttok_noparens(const char *s) which
skips tokens. Characters , ( and ) are treated like spaces.
2021-01-28 17:06:02 +01:00
Holger Vogt
939410874a
Info "No circuit loaded!" is added.
2021-01-20 16:49:05 +01:00
Holger Vogt
d239a523e0
remove memory leak
2021-01-20 16:48:46 +01:00
Holger Vogt
ed15d6f975
replace controlles_exit by error return,
...
delete netlist cc when returning upon error.
2021-01-20 16:48:27 +01:00
Holger Vogt
058f474f90
Prevent crash if netlist input is something like
...
H n1
2021-01-20 16:48:08 +01:00
Holger Vogt
c9eeb0ceea
Modify get_number_terminals() and make it non-static.
...
Use modified function to replace fixed node number.
2021-01-20 16:46:37 +01:00
Holger Vogt
b640e57c39
re-enable getting correct node numbers for bipolar
...
using TSMC cv018bcd
2021-01-20 16:46:27 +01:00
Holger Vogt
822a63974f
Unused binning models are removed.
...
Flag 'nf', when given on the x lines, is
recognized.
Tested with TSMC, Skywater, and X-Fab model
files.
2021-01-20 16:44:57 +01:00
Holger Vogt
e601325149
Avoid any buffer overflow if user provides a large TABLE:
...
Replace fixed length strings and fcn 'cat' by dstrings.
2021-01-20 16:44:19 +01:00
Holger Vogt
02630c0af2
fix a bug in printing the compatibility status
2021-01-20 16:41:53 +01:00