Holger Vogt
ab6e273a5e
Remove inner couple {...} from {{...}} only when instance is not
a behavioral source which will be translated to a B source.
4 years ago
Brian Taylor
7f38ce4ebb
Remove debug code.
4 years ago
Brian Taylor
9361e9ae6c
Follow convention, use eq() macro. Show replacement cards when ngdebug=TRUE.
4 years ago
Brian Taylor
e38e1099b5
Create pin and port lists only when variable ps_pins_and_ports is set != 0.
4 years ago
Brian Taylor
528c50dc46
Retain the param: section after removing the optional: section from a Pspice subckt declaration.
4 years ago
Brian Taylor
bc8d67d5fa
Generate lists of subckt ports indicating direction (in, out, inout.)
4 years ago
Brian Taylor
1fb533a3d4
Stopped memory leak in continuation cards when removing old cards.
4 years ago
Brian Taylor
219ca23635
For debug tracing, list the cards before and after udevice replacements.
4 years ago
Brian Taylor
18e17cefdf
Add pullup/down. Skip spurious '*' line.
4 years ago
Brian Taylor
7b5c780043
Fix a memory leak. Cleanup the code a bit. All-digital Pspice subckts with U* devices for most used gates/ff can be handled. More extensive test cases are necessary. Also, interfacing subckts with analog ports is not implemented.
4 years ago
Brian Taylor
96a1b528fd
Replace Pspice U* and .model cards with their Xspice equivalent statements. There are still memory leaks which will be plugged next. The .subckts have only digital ports, which will need to addressed for mixed A/D designs.
4 years ago
Brian Taylor
a2fd346b1a
Trial run at scanning cards for Pspice U* devices and models. #define INTEGRATE_UDEVICES to turn it on. No new cards are created yet, just lots of debugging info.
4 years ago
Holger Vogt
1e304c6e53
Prevent a crash when line is empty
4 years ago
Holger Vogt
eb79e91175
This is a fix to bug report 589 by Bohdan Tkhir:
Remove only mfg=something, icrating=, vceo=, type=,
not any combination of text like net_type=... .
Restrict this removal to compatibility modes ps or lt.
4 years ago
Holger Vogt
838ad2b10c
Add multiplier flag 'm' to behavioral capacitor and inductor
4 years ago
Holger Vogt
b6abcb0436
Searching for params: as plain identifier
4 years ago
Holger Vogt
0be163d8d8
Search for "off" token in device instance lines not with
C standard fcn strstr, but with search_plain_identifier().
Thus allow model names that contain "off" (like offset)
4 years ago
Holger Vogt
4cc6222230
Make function search_plain_identifier non-static
Declare info on the compatibility mode as a 'Note'.
4 years ago
Holger Vogt
696736b2b3
adding expressions in {} as pwl parameters
not complete, still requires caring about the FIXME above.
4 years ago
Holger Vogt
242a1d796a
Remove the "type" declaration from a .model line
4 years ago
Holger Vogt
f21255ef1b
Fix regression bug #579
Accept numbers to ac statement in voltage (current) sources
also given as parameters.
4 years ago
Holger Vogt
0eb272243f
Enable RKM notation also for inductors (e.g. 1u2 for 1.2u)
4 years ago
Holger Vogt
632f8c033d
Make numoparam error messages more user friendly.
Add line number of netlist to the message.
Original line number added to new lines in inpcom.c.
Internal error messages only when 'ngdebug' is set
4 years ago
Holger Vogt
c4e94cd59b
safeguard against a crash when the s line is buggy
4 years ago
Holger Vogt
b636017359
add function prototype
for insert_new_line()
4 years ago
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 ( )
4 years ago
Holger Vogt
b749e62e31
Make error message more verbose
4 years ago
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()
4 years ago
Holger Vogt
3f3936c728
Remove memory leaks
4 years ago
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.
5 years ago
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.
5 years ago
Holger Vogt
6f6f2b8996
Remove double assigment to s[1]
Assignment Is either done in the loop or by *y = '\0';
5 years ago
Holger Vogt
df5e7e36f6
When checking for µ, truncated the line, when shifted.
Enable R470, when newcompat LT is selected.
5 years ago
Holger Vogt
3dcc36c1c3
ngspice input deck may contain special characters like µ (mu).
Detect mu for ANSI and UTF-8 and translate it to u.
5 years ago
Holger Vogt
601287e949
Check V and I lines for dc and ac.
Allow ac without parameters, a default is set to ac ( 1 0 )
5 years ago
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.
5 years ago
Holger Vogt
3599c189b6
re-enable lower-casing of tokens beginning with 'cd',
except for command 'cd' which is usually followed by a space.
5 years ago
Brian Taylor
abad190b38
Don't search for ic.file within comments.
5 years ago
Brian Taylor
b3a99f0c6c
Do not use non-portable strcasestr.
5 years ago
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.
5 years ago
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
5 years ago
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)
5 years ago
Holger Vogt
b7473a33a0
Check for double '{', replace the inner '{', '}' by '(', ')'
in .subckt or .model (which both may stem from external sources)
5 years ago
Holger Vogt
1c5e0d11dd
If there is a XSPICE code model .model line
with file input, keep quotes and case for the file path.
5 years ago
Holger Vogt
15a3ed87c0
Enable the m parameter in E, G, B, R behavioral source/devices
5 years ago
Holger Vogt
ae72677cc2
Remove a false read when curr_line has
already been invalidated.
5 years ago
Holger Vogt
0f25c25c7e
Remove a memory leak
Make inp_rem_levels non-static
and use it to remove 'root' after it has been used.
5 years ago
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'
5 years ago
Holger Vogt
76eac5aa0f
Make error message more verbode
5 years ago
Holger Vogt
a4be66b9b0
Prevent crash if there is bad syntax in h, g, e, or f line
5 years ago