dwarning
4ca4b43801
simplify while loop for subckt diode and bjt models
2021-07-05 14:08:02 +02:00
dwarning
b1bf7ea0ad
Diode model with selfheating option
2021-07-05 13:58:51 +02: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
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
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
5ee6a98e4b
Add a comment
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
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
4bcacb310d
enable XSPICE %vnam in subcircuits.
...
The token following after %vnam has to be
tranlated as an instance during subcircuit expansion.
2020-10-10 13:53:10 +02:00
Holger Vogt
0490bc090b
Allow 3-terminal MOS devices (e.g. VDMOS),
...
prevent crash upon user error
2020-03-15 10:59:05 +01:00
Jim Monte
bfe660e57b
Formatting and added comments
2020-03-15 08:51:01 +01:00
Jim Monte
4bd4a6e9be
Fixed usage of new dstring functions. Also added const to some parameters that did not change.
2020-03-15 08:50:52 +01:00
dwarning
134e92b78f
vbic model implementation including self-heating effect
2019-09-14 11:26:10 +02:00
dwarning
96a5ea0353
Allow 3 terminal vdmos in subckt.
2018-12-22 22:42:46 +01:00
dwarning
ddd3a11bff
variables are assigned values twice successively
2018-11-18 15:52:05 +01:00
dwarning
a36366be1a
A call of the 'memset' function will lead to underflow of the buffer 'table'.
...
Table structure multiplied by N_GLOBAL_NODES will initialize the entire table with 0.
2018-11-18 15:44:25 +01:00
Holger Vogt
2dfdf984d6
re-number the lines during copying,
...
required by nupa_copy()
2018-08-18 11:28:07 +02:00
Holger Vogt
f9eb75f55d
skip comment lines
2018-08-18 11:28:02 +02:00
Holger Vogt
09c876550f
prevent string overflow by adding the string length
...
to the cp_getvar parameters. Used only with CP_STRING
2018-07-22 14:57:49 +02:00
Holger Vogt
a98d01e5f8
Use only internal memory functions, replace
...
free->tfree, malloc->tmalloc, realloc->trealloc
2018-07-21 23:54:43 +02:00
h_vogt
464f855d1d
subckt.c, introduce new function inp_deckcopy_oc()
...
copy a deck
without li_actual,
without comment lines
without .control section
2018-05-15 22:45:10 +02:00
h_vogt
3dd2115291
frontend/subckt.c, do not put model names into numparam hash table
...
nobody seems to make use of these entries.
see nupa_type which shrinks to four enum's
2018-03-01 18:13:01 +01:00
rlar
7b175dd1c4
numparam, drop unused `srcfile'
2018-02-17 19:15:54 +01:00
rlar
4f8bef997d
numparam, nupa_signal(), drop useless return value
2018-02-17 19:15:54 +01:00
rlar
2a149d7541
numparam, #3/4, nupa_scan(), use struct card * argument
2018-02-17 19:15:53 +01:00
rlar
77da3c6f26
numparam, #2/2, nupa_copy(), use struct card * argument
2018-02-17 19:15:53 +01:00
rlar
19dfaf03f3
numparam, #1/2, nupa_eval(), use struct card * argument
2018-02-17 19:15:53 +01:00
rlar
4ec2717079
struct card, #5/6, rewrite from type "card" to "struct card"
2018-02-17 19:15:53 +01:00
rlar
511cdd7188
struct card, #3/6, rename members from struct line to struct card
2018-02-17 19:15:53 +01:00
rlar
2142cfdcce
subckt.c, cleanup
2017-03-25 18:17:08 +01:00
rlar
9b01dbae95
subckt.c, numnodes(), #4/4, drop 'buf'
2017-03-25 18:17:07 +01:00
rlar
66b8b3de54
subckt.c, numnodes(), #3/4, rename argument 'name' --> 'line'
2017-03-25 18:17:04 +01:00
rlar
7b6070e6b9
subckt.c, numnodes(), #2/4, cleanup
2017-03-25 18:00:43 +01:00
rlar
b18c06c441
subckt.c, numnodes(), #1/4, cleanup
2017-03-25 18:00:41 +01:00
rlar
0fb21eaf4a
subckt.c, translate(), #8/8 whitespace and comments
2017-03-22 21:25:46 +01:00
rlar
f19a6c6390
subckt.c, translate(), #7/8 cleanup
2017-03-22 21:25:46 +01:00
rlar
49947e0279
subckt.c, translate(), #6/8 cleanup
2017-03-22 21:25:46 +01:00
rlar
2a4c34c401
subckt.c, translate(), #5/8 trailing 's' is never used
2017-03-22 21:25:46 +01:00
rlar
7169ad4bfa
subckt.c, translate(), #4/8 don't append trailing whitespace
2017-03-22 21:25:46 +01:00
rlar
1f31f73295
subckt.c, translate(), #3/8 simplify
2017-03-22 21:25:45 +01:00
rlar
e40485b8a3
subckt.c, translate(), #2/8 cleanup
2017-03-22 21:25:45 +01:00
rlar
476c41f436
subckt.c, translate(), #1/8 cleanup
2017-03-22 21:25:45 +01:00
rlar
405c6f6f02
subckt.c, introduce translate_mod_name()
2017-03-22 21:25:45 +01:00
rlar
db213fd8d2
subckt.c, devmodtranslate(), dupplicate code from above
...
and drop a redundant piece
2017-03-22 21:25:45 +01:00
rlar
c653161666
subckt.c, introduce translate_inst_name()
...
to abstract the instance name translation during netlist flattening
2017-03-22 21:25:45 +01:00
rlar
a54a535dd5
subckt.c, introduce translate_node_name()
2017-03-22 21:25:45 +01:00
rlar
bab59844ff
subckt.c, emphasize instance_name translation
...
When translating an instance_name in a subcircuit instance 'xfoo'
undconditionally express the exception for 'x' instances, which is:
x42 --> xsub.x42
but for all others the first char (the devtype) is prepended
r42 --> r.xsub.r42
2017-03-22 21:25:45 +01:00
rlar
e3b3cc502a
subckt.c, translate(), emphasize instance_name translation
2017-03-22 21:25:45 +01:00
rlar
a03a57c9f9
subckt.c, emphasize token separator insertion
2017-03-22 21:25:44 +01:00