-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathreadme1
88 lines (70 loc) · 1.94 KB
/
readme1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
BSIM with Look-Up Table (LUT)
BSIM LUT speedup
G. Serdyuk <[email protected]>
1. Intro
--------
Idea is straighforward - substitute part of calculations with Look-Up Table.
2. Installation
---------------
- put models-bsim.lut directory below gnucap
gnucap
src
...
models-bsim (optional)
models-bsim.lut
- cd BSIM3v330.lut
- make
bsim330.lut.so library will be created. Use it as usual (gnucap -a bsim330.lut.so ....
or .attach bsim330.lut.so)
2.1.Developers version
---------------------
- put models-bsim.lut directory below gnucap
- cd BSIM3v330.lut
- make -f Makefile.work
this will clreate two libraries - bsim330.so and bsim330.lut.so
bsim330.so - usual bsim model, no changes
bsim330.lut.so - models which supports LUT
just attach them to gnucap as usual (-a or .attach)
3. Usage
--------
model supports 9 new parameters
vgsmin, vgsmax, vgsnum
vdsmin, vdsmax, vdsnum
vbsmin, vbsmax, vbsnum
that are correspondently minimum and maximum expected voltages
and number of grid points between them.
defaults are: -5, +5 and 20.
Reasonable (from convergencve point of view) are
vgsmin, vgsmax, vgsnum = -5 +5 50
vdsmin, vdsmax, vdsnum = -5 +5 50
vbsmin, vbsmax, vbsnum = -5 +5 10
If actual voltage will go out of vxxmin..vxxmax range, full BSIM
calculation will be performed
Device support 1 new parameter:
lut_mode = 0 1 or 2
0 - full BSIM model
1 - BSIM model w/o change calculation
3 - LUT used
4 - LUT with precision monitoring (output is not elaborated)
4. ToDO
-------
1) clean up code and makefile
+ clean printf-s done
+ use gnucap/spice-wrapper.cc done
- remove extra lines in main code done
+ use standard Makefile done
2) finish test cases
- tran
+ comprt
TBD
- dc
TBD
- time comparison
+ speed done
(many subsequent calls of b3load)
...
3) combine multiple LUTs for same devices -
TBD
4) write doc done
5) optimize time done (#define used)
6) check derivatives TBD