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
a86a500b07
checkspeed: use startclock instead of lastclock to ensure
...
Linux compatibility.
2021-01-20 16:47:48 +01:00
Holger Vogt
2a2a488f7d
If 'set ngdebug', and if transient simulation,
...
create a vector speedcheck in the tran plot
which contains the real time versus simulated time,
to check for obstacles during the course of the
transient simulation. If command 'save' is given,
one has to add speedcheck to obtain this vector.
2021-01-20 16:47:27 +01:00
Holger Vogt
65cb50a243
redo the reading for ngate parameter
...
if larger than 1.000001e24, assume m3 instead of cm3
2021-01-20 16:47:11 +01:00
Holger Vogt
c891bf846c
reduce precision to avoid false rounding
2021-01-20 16:46:59 +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
273b0fb4a3
fix a plotting bug with xlog axis and ylabels
2021-01-20 16:45:54 +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
059e869754
free the wordlist wle to avoid memory leaks
2021-01-20 16:42:33 +01:00
Holger Vogt
02630c0af2
fix a bug in printing the compatibility status
2021-01-20 16:41:53 +01:00
Holger Vogt
5af7f0ff78
sort instance list entries: RHS numbers (like nf=2) come first,
...
expression then follow.
2021-01-20 16:41:25 +01:00
Holger Vogt
4a6fff05b6
typo
2021-01-05 23:11:50 +01:00
dwarning
a81a84c208
allow strobe and finish commands
2021-01-05 21:57:48 +01:00
Holger Vogt
4a8065c3ee
replace strncpy by memcpy to prevent valgrind error message
...
on uninitialized string.
2021-01-05 17:21:23 +01:00
dwarning
aedf9d0eb5
correct choice for both r model types
2021-01-05 11:18:07 +01:00
dwarning
08700f8147
include verilog-a r2_cmc resistor model
2021-01-05 11:12:09 +01:00
dwarning
b654296230
rm independent terms from ddx() operator
2021-01-05 11:07:29 +01:00
dwarning
43e9a8f594
activate command
2021-01-05 11:07:24 +01:00
Holger Vogt
8a21f6f2c0
enable OP information for hicum0 and mextram
2021-01-05 11:07:05 +01:00
Holger Vogt
176023f470
Remove compiler warnings
2021-01-03 14:28:22 +01:00
Holger Vogt
eedb5b9027
Update for ngspice-34
2021-01-03 08:47:47 +01:00
Holger Vogt
0d4685f459
preliminarily turn off fcn nlist_model_find()
...
to avoid compiler warning
2021-01-02 23:29:35 +01:00
Holger Vogt
e2650a2897
Patially undo commit [f9d9b6]:
...
macOS gcc/llvm complauns about non-existing -Wunused-but-set-variable
2021-01-02 23:00:19 +01:00
Holger Vogt
94eac89749
Remove 'comment out any unused models' for now, it
...
has been working, but led to spurious error messages.
Has to be checked more thoroughly.
Add a ngbehaviour setting 'mc', needed for running
'make check'. It will unset all other compatibility modes
and suppress the note on compatibility settings which
led to a 'make check' failure just due to its printout.
2021-01-02 19:12:26 +01:00
Holger Vogt
89f0fb6d74
sharedspice: make reading .spiceinit as robust as in
...
the standard executable.
2021-01-02 19:11:51 +01:00
Holger Vogt
1234c3bdf8
Update to the compatibility mode:
...
Rename new_compat_mode() to set_compat_mode().
Add fcn print_compat_mode() to print out
the selected compatibility mode.
2021-01-02 19:11:44 +01:00
Holger Vogt
164d3dd20c
Enable models with parens by using gettok_parens() like
...
.model NP NPN(BF=125 Cje=.5p Cjc=.5p Rb=500)
2021-01-02 19:11:29 +01:00
dwarning
a5cb4f2d20
hicum0 prevent crash in self heating mode
2021-01-02 19:10:42 +01:00
Holger Vogt
9485a51928
Re-enable the 'hardcopy' command
...
Fixes support-requests #53 by Paolo M.
2021-01-02 19:10:30 +01:00
dwarning
0e9d1c50a4
add latest available psp103 version to adms
2021-01-02 19:07:55 +01:00
Holger Vogt
70d1647cfa
Update to ps .model selection for MOS,
...
add support for bipolar (Mextram, lateral pnp),
enable 'level = nn' (with spaces).
2021-01-02 19:07:16 +01:00
Holger Vogt
3c354092ff
Line endings from \r\n to \n
2021-01-02 19:06:58 +01:00
Holger Vogt
2e9a51f2f7
Each model is checked only once
...
(not the same model check for every instance).
Add model comparison warning to file.
2021-01-02 19:06:37 +01:00
Holger Vogt
8602915942
level for ekv2.6 is 44
2021-01-02 19:06:17 +01:00
Holger Vogt
50ec89e284
PS compatibility: select appropriate level for MOS models
2021-01-02 19:05:41 +01:00
Markus Mueller
f9d9b6deba
fix "unused but set variable" warnings
2021-01-02 19:05:18 +01:00
Holger Vogt
b1daabbe95
update the model checking
2021-01-02 19:05:01 +01:00
Holger Vogt
03a68683ca
Update on error checking for bsim4.6 model
2021-01-02 19:04:24 +01:00
dwarning
fdf7a6a868
More effective check for BSIM3 model parameter
2021-01-02 19:04:07 +01:00
Holger Vogt
49890fe302
Fix the error message when fatal model parameter fail occurs
2021-01-02 19:03:53 +01:00
Holger Vogt
2e34b9d9a3
Improved visibility of model check error
2021-01-02 19:03:42 +01:00
dwarning
420d47cc75
fix max terminal count for vbic and hicum2 adms enabled
2021-01-02 19:03:20 +01:00
Holger Vogt
a147a3b190
If we encounter tc1= or tc2= (temp coeffs.) or m= (multiplier),
...
the expression is done, thus keeping the brackets as is.
Enables tcx={} or m={} with their own expressions, dealt with
by numparam.
2021-01-02 19:02:44 +01:00
Holger Vogt
98eb5bf475
bug #537 : remove memcopy with overlapping strings
...
Bug reported by Ronan BARZIC
2021-01-02 19:02:29 +01:00
Holger Vogt
86f5a9b819
Only print the devices that are really used in the circuit
...
(don't print the 0 occurencies).
2021-01-02 19:02:07 +01:00
dwarning
aaec6be4c6
only one .va file for psp model
2021-01-02 19:01:44 +01:00
dwarning
b44f1ad595
only one .va file for psp model
2021-01-02 19:01:31 +01:00
dwarning
336bb3480b
psp102 update to latest available version 102.5.0
2021-01-02 19:01:05 +01:00
Holger Vogt
e8aea4967c
Remove some compiler warnings
2021-01-02 19:00:48 +01:00
Holger Vogt
2359f28812
Remove compiler warning
...
cast between incompatible function types from
‘void (*)(int, int)’ to ‘void (*)(int)’
2021-01-02 19:00:29 +01:00
Holger Vogt
19fa671832
Check for correctness of the BSIM4.5 parameters:
...
If parameter excursions are found, put the warning or error message into a wordlist.
Only then open a file bsim4v5.out and print the data into the file.
2020-12-22 17:56:19 +01:00
Holger Vogt
7bd12a60a6
Enable multiplier 'm' for behavioral resistor
...
(R using a B source).
2020-12-22 17:56:19 +01:00
Holger Vogt
03556b2215
Add multiplier 'm' to the ASRC instance line.
...
Default value is 1.
A new 'reciprocm' will determine, if m is multiplied
into numerator or denominator.
2020-12-22 17:56:19 +01:00
dwarning
30ccbc9a18
include ceil and floor function
2020-12-22 17:56:19 +01:00
dwarning
7cef1871bb
white spaces, formatting and verilog-a conformity
2020-12-22 17:56:19 +01:00
dwarning
8e4db91099
adms bsimbulk and bsimcmg implementation based on work from Robert Larice
2020-12-22 17:56:19 +01:00
dwarning
9a33791bc1
take care for different types of output variables in analogfunctions
2020-12-22 17:56:19 +01:00
Holger Vogt
014dfe1b7b
The old inp_deckcopy() is a safer way of copying, while retaining
...
the correct line numbers for parameter substitution.
2020-12-22 17:56:19 +01:00
Holger Vogt
b1d062668c
When there is no model found, and we have an m devices,
...
set the number of nodes to 4. This has to be fixed (find
a way to detect the number of nodes automatically).
2020-12-22 17:56:19 +01:00
Holger Vogt
b0a2ab5729
A FIXME: The number of nodes is fixed to 4!
...
Better make this flexible, but how to detect this number safely?
2020-12-22 17:56:19 +01:00
dwarning
fc70256828
psp102 white spaces and admsXml adaptions
2020-12-22 17:56:19 +01:00
dwarning
1a5016cd49
psp102 rm unused files
2020-12-22 17:56:19 +01:00
dwarning
1f2455d4df
PSP102 add description noise functions
2020-12-22 17:56:19 +01:00
dwarning
8ce89a2b80
update version and improve veriloga compatibility
2020-12-22 17:56:19 +01:00
dwarning
46122bab52
extend veriloga compatibility for admsXml compiler
2020-12-22 17:56:19 +01:00
dwarning
db1126c1bb
update version and improve veriloga compatibility
2020-12-22 17:56:19 +01:00
dwarning
0155d0722b
improve veriloga compatibility
2020-12-22 17:56:19 +01:00
Holger Vogt
5366f946eb
Remove more compiler warnings
2020-12-22 17:56:19 +01:00
Holger Vogt
238f8d393a
Suppress some compiler warnings
2020-12-22 17:56:19 +01:00
Holger Vogt
3c2f6585e0
Add some comment.
2020-12-22 17:56:19 +01:00
Holger Vogt
e1eb851ec4
Add function rem_unused_mos_models()
...
Netlist is flat at this stage, all numbers expanded,
but not yet parsed into the circuit structure.
So again try to remove unused MOS models.
All binning models are still here when w or l have been
determined by an expression from within the PDK.
2020-12-22 17:56:18 +01:00
Holger Vogt
19fb3ec38f
make some functions non-ststic to support function
...
rem_unused_mos_models() in inps.c
2020-12-22 17:56:18 +01:00
Holger Vogt
5ee6a98e4b
Add a comment
2020-12-22 17:56:18 +01:00
Holger Vogt
043634b60e
Jump over the HSPICE-specific key words
2020-12-22 17:56:18 +01:00
Holger Vogt
8c253524af
With the new inp_deckcopy_ln treat the first line
...
in the deck equal to all other lines.
2020-12-22 17:56:18 +01:00
Holger Vogt
8b376b4581
Remove dot lines somewhat later.
2020-12-22 17:56:18 +01:00
Holger Vogt
777cfcf477
Reduce the memory requirements if there is a PDK with
...
a lot of binning models.
This is a hack and needs testing!
inpcom.c: If an x line, add w and l to the netlist card,
if available.
subckt.c: select a suitable model bin, discard the rest
for each subcircuit, depending on w and l from above.
inpgmod.c: less restrictive equal for real numbers,
allow both min and max boundaries (problem of equating
real numbers), when the selected device has w or l on
the boundary between two model bins.
2020-12-22 17:56:18 +01:00
Holger Vogt
06ce137741
Remove #ifdef XSPICE from ISRC_CURRENT definition
2020-12-22 17:56:18 +01:00
Holger Vogt
cbf4305ff8
Remove the XSPICE dependency of the phase parameter for the
...
independent voltage source.
2020-12-22 17:56:18 +01:00
Holger Vogt
52f3bd7900
Remove the XSPICE dependency of the phase parameter for the
...
independent current source.
2020-12-22 17:56:18 +01:00
Holger Vogt
fc6f41ae9b
Remove the XSPICE limitation of flag "current" (here->ISRCcurrent)
2020-12-22 17:56:18 +01:00
Holger Vogt
d6b4184625
typo
2020-12-22 17:56:18 +01:00
Holger Vogt
12ee985a68
Restrict #pragma warning to Visual Studio only.
2020-12-22 17:56:18 +01:00
Markus Mueller
c7f732b098
fix hicum warnings
2020-12-22 17:56:18 +01:00
Holger Vogt
79d6f27d74
fix a typo
2020-12-22 17:56:18 +01:00
Holger Vogt
f58b38a1ed
suppress warning that is not relevant (we don't use floats)
2020-12-22 17:56:18 +01:00
Holger Vogt
9072f40b9a
bug 535: re-enale tc1, tc2 even if tokens tc1 or tc2
...
may be part of other tokens as well.
2020-12-22 17:56:18 +01:00
Holger Vogt
aee35e6ef3
No brackets around instance parameters dtemp, temp
2020-12-22 17:56:18 +01:00
Holger Vogt
fe24a4135c
spice2g6 poly(19 compat:
...
When counting token, count an expression {...} for the
gain as a single token, even if it contains spaces.
2020-12-22 17:56:18 +01:00
Holger Vogt
ced7604fc4
fix comment
2020-12-22 17:56:18 +01:00
Holger Vogt
ff3904e1ac
re-enable 'external' as an instance parameter for current source.
2020-12-22 17:56:18 +01:00
Holger Vogt
03f9ac82b3
Relax the numerical precision a little bit when
...
comparing real valued time values.
Fixes bug no 536 reported by Victor Kuchynsky
2020-12-22 17:56:18 +01:00
dwarning
cffd55363d
prevent c++ compiler warning
2020-12-22 17:56:18 +01:00
Holger Vogt
c43c6f6ca4
improve comment
2020-12-22 17:56:18 +01:00
Holger Vogt
d24aa7134c
E_constant Vconst 0 TABLE {Max(V(DP)-V(GN),0)}=((20,120))
...
Allow such strange construct, where a single pair x,y will
simplay return a constant y (120 in the above example).
This is used in external devices models and aknowledged
by other simulators.
2020-12-22 17:56:18 +01:00
Holger Vogt
df913fb260
If T is below 1 uK, lets set it to 0 (avoid slightly negative values due to numerical issues)
2020-12-22 17:56:18 +01:00