summaryrefslogtreecommitdiff
path: root/ext/dsent/tech/tech_models/Bulk32LVT.model
blob: 2514407db8b84ea8b1374317debccdbfccb5ceb4 (plain)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# Copyright (c) 2012 Massachusetts Institute of Technology
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# 
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# 
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.

# WARNING: Most commercial fabs will not be happy if you release their exact
# process information! If you derive these numbers through SPICE models,
# the process design kit, or any other confidential material, please round-off
# the values and leave the process name unidentifiable by fab (i.e. call it
# Bulk90LVT instead of TSMC90LVT) if you release parameters publicly. This
# rule may not apply for open processes, but you may want to check.

# All units are in SI, (volts, meters, kelvin, farads, ohms, amps, etc.)

# This file contains the model for a bulk 32nm LVT process
Name = Bulk32LVT

# Supply voltage used in the circuit and for characterizations (V)
Vdd = 0.9
# Temperature (K)
Temperature = 340

# =============================================================================
# Parameters for transistors
# =============================================================================

# Contacted gate pitch (m)
Gate->PitchContacted = 0.160e-6

# Min gate width (m)
Gate->MinWidth = 0.120e-6

# Gate cap per unit width (F/m)
Gate->CapPerWidth = 0.950e-9
# Source/Drain cap per unit width (F/m)
Drain->CapPerWidth = 0.640e-9

# Parameters characterization temperature (K)
Nmos->CharacterizedTemperature = 300.0
Pmos->CharacterizedTemperature = 300.0

#------------------------------------------------------------------------------
# I_Eff definition in Na, IEDM 2002
#       I_EFF = (I(VG = 0.5, VD = 1.0) + I(VG = 1.0, VD = 0.5))/2
#       R_EFF = VDD / I_EFF * 1 / (2 ln(2))
# This is generally accurate for when input and output transition times
# are similar, which is a reasonable case after timing optimization
#------------------------------------------------------------------------------
# Effective resistance (Ohm-m)
Nmos->EffResWidth = 0.890e-3               
Pmos->EffResWidth = 1.270e-3

#------------------------------------------------------------------------------
# The ratio of extra effective resistance with each additional stacked
# transistor
#       EffResStackRatio = (R_EFF_NAND2 - R_EFF_INV) / R_EFF_INV)
# For example, inverter has an normalized effective drive resistance of 1.0.
# A NAND2 (2-stack) will have an effective drive of 1.0 + 0.7, a NAND3 (3-stack)
# will have an effective drive of 1.0 + 2 * 0.7. Use NORs for Pmos. This fit
# works relatively well up to 4 stacks. This value will change depending on the
# VDD used. 
#------------------------------------------------------------------------------
# Effective resistance stack ratio
Nmos->EffResStackRatio = 0.78
Pmos->EffResStackRatio = 0.66

#------------------------------------------------------------------------------
# I_OFF defined as |I_DS| for |V_DS| = V_DD and |V_GS| = 0.0
#       Minimum off current is used as a second fit point, since I_OFF often
#       stops scaling with transistor width below some threshold
#------------------------------------------------------------------------------
# Off current per width (A/m)
Nmos->OffCurrent = 100e-3
Pmos->OffCurrent = 100e-3

# Minimum off current (A)
Nmos->MinOffCurrent = 100e-9
Pmos->MinOffCurrent = 20e-9

# Subthreshold swing (V/dec)        
Nmos->SubthresholdSwing = 0.100
Pmos->SubthresholdSwing = 0.100

# DIBL factor (V/V)
Nmos->DIBL = 0.150
Pmos->DIBL = 0.150

# Subthreshold leakage temperature swing (K/dec)
Nmos->SubthresholdTempSwing = 100
Pmos->SubthresholdTempSwing = 100
#------------------------------------------------------------------------------

# =============================================================================
# Parameters for interconnect
# =============================================================================

Wire->AvailableLayers = [Metal1,Local,Intermediate,Global]

# Metal 1 Wire (used for std cell routing only)
# Min width (m)
Wire->Metal1->MinWidth = 55e-9
# Min spacing (m)
Wire->Metal1->MinSpacing = 55e-9
# Resistivity (Ohm-m)
Wire->Metal1->Resistivity = 4.00e-8
# Metal thickness (m)
Wire->Metal1->MetalThickness = 100.0e-9
# Dielectric thickness (m)
Wire->Metal1->DielectricThickness = 100.0e-9
# Dielectric constant
Wire->Metal1->DielectricConstant = 3.2

# Local wire, 1.0X of the M1 pitch
# Min width (m)
Wire->Local->MinWidth = 55e-9
# Min spacing (m)
Wire->Local->MinSpacing = 55e-9
# Resistivity (Ohm-m)
Wire->Local->Resistivity = 4.00e-8
# Metal thickness (m)
Wire->Local->MetalThickness = 100.0e-9
# Dielectric thickness (m)
Wire->Local->DielectricThickness = 100.0e-9
# Dielectric constant
Wire->Local->DielectricConstant = 3.2

# Intermediate wire, 2.0X the M1 pitch
# Min width (m)
Wire->Intermediate->MinWidth = 110e-9
# Min spacing (m)
Wire->Intermediate->MinSpacing = 110e-9
# Resistivity (Ohm-m)
Wire->Intermediate->Resistivity = 2.60e-8
# Metal thickness (m)
Wire->Intermediate->MetalThickness = 200e-9
# Dielectric thickness (m)
Wire->Intermediate->DielectricThickness = 170e-9
# Dielectric constant
Wire->Intermediate->DielectricConstant = 3.00

# Global wire, 3.0X the M1 pitch
# Min width (m)
Wire->Global->MinWidth = 160e-9
# Min spacing (m)
Wire->Global->MinSpacing = 160e-9
# Resistivity (Ohm-m)
Wire->Global->Resistivity = 2.30e-8
# Metal thickness (m)
Wire->Global->MetalThickness = 280e-9
# Dielectric thickness (m)
Wire->Global->DielectricThickness = 250e-9
# Dielectric constant
Wire->Global->DielectricConstant = 2.80

# =============================================================================
# Parameters for Standard Cells
# =============================================================================

# The height of the standard cell is usually a multiple of the vertical
# M1 pitch (tracks). By definition, an X1 size cell has transistors
# that fit exactly in the given cell height without folding, or leaving
# any wasted vertical area

# Reasonable values for the number of M1 tracks that we have seen are 8-14
StdCell->Tracks = 11
# Height overhead due to supply rails, well spacing, etc. Note that this will grow
# if the height of the standard cell decreases!
StdCell->HeightOverheadFactor = 1.400

# Sets the available sizes of each standard cell. Keep in mind that
# 1.0 is the biggest cell without any transistor folding
StdCell->AvailableSizes = [1.0, 1.4, 2.0, 3.0, 4.0, 6.0, 8.0, 10.0, 12.0, 16.0]