110448Snilay@cs.wisc.edu# Copyright (c) 2012 Massachusetts Institute of Technology
210448Snilay@cs.wisc.edu#
310448Snilay@cs.wisc.edu# Permission is hereby granted, free of charge, to any person obtaining a copy
410448Snilay@cs.wisc.edu# of this software and associated documentation files (the "Software"), to deal
510448Snilay@cs.wisc.edu# in the Software without restriction, including without limitation the rights
610448Snilay@cs.wisc.edu# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
710448Snilay@cs.wisc.edu# copies of the Software, and to permit persons to whom the Software is
810448Snilay@cs.wisc.edu# furnished to do so, subject to the following conditions:
910448Snilay@cs.wisc.edu# 
1010448Snilay@cs.wisc.edu# The above copyright notice and this permission notice shall be included in
1110448Snilay@cs.wisc.edu# all copies or substantial portions of the Software.
1210448Snilay@cs.wisc.edu# 
1310448Snilay@cs.wisc.edu# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1410448Snilay@cs.wisc.edu# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1510448Snilay@cs.wisc.edu# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
1610448Snilay@cs.wisc.edu# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1710448Snilay@cs.wisc.edu# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1810448Snilay@cs.wisc.edu# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1910448Snilay@cs.wisc.edu# THE SOFTWARE.
2010448Snilay@cs.wisc.edu
2110447Snilay@cs.wisc.edu# WARNING: Most commercial fabs will not be happy if you release their exact
2210447Snilay@cs.wisc.edu# process information! If you derive these numbers through SPICE models,
2310447Snilay@cs.wisc.edu# the process design kit, or any other confidential material, please round-off
2410447Snilay@cs.wisc.edu# the values and leave the process name unidentifiable by fab (i.e. call it
2510447Snilay@cs.wisc.edu# Bulk90LVT instead of TSMC90LVT) if you release parameters publicly. This
2610447Snilay@cs.wisc.edu# rule may not apply for open processes, but you may want to check.
2710447Snilay@cs.wisc.edu
2810447Snilay@cs.wisc.edu# All units are in SI, (volts, meters, kelvin, farads, ohms, amps, etc.)
2910447Snilay@cs.wisc.edu
3010447Snilay@cs.wisc.edu# This file contains the model for a bulk 22nm LVT process
3110447Snilay@cs.wisc.eduName = Bulk22LVT
3210447Snilay@cs.wisc.edu
3310447Snilay@cs.wisc.edu# Supply voltage used in the circuit and for characterizations (V)
3410447Snilay@cs.wisc.eduVdd = 0.8
3510447Snilay@cs.wisc.edu# Temperature (K)
3610447Snilay@cs.wisc.eduTemperature = 340
3710447Snilay@cs.wisc.edu
3810447Snilay@cs.wisc.edu# =============================================================================
3910447Snilay@cs.wisc.edu# Parameters for transistors
4010447Snilay@cs.wisc.edu# =============================================================================
4110447Snilay@cs.wisc.edu
4210447Snilay@cs.wisc.edu# Contacted gate pitch (m)
4310447Snilay@cs.wisc.eduGate->PitchContacted = 0.120e-6
4410447Snilay@cs.wisc.edu
4510447Snilay@cs.wisc.edu# Min gate width (m)
4610447Snilay@cs.wisc.eduGate->MinWidth = 0.100e-6
4710447Snilay@cs.wisc.edu
4810447Snilay@cs.wisc.edu# Gate cap per unit width (F/m)
4910447Snilay@cs.wisc.eduGate->CapPerWidth = 0.900e-9
5010447Snilay@cs.wisc.edu# Source/Drain cap per unit width (F/m)
5110447Snilay@cs.wisc.eduDrain->CapPerWidth = 0.620e-9
5210447Snilay@cs.wisc.edu
5310447Snilay@cs.wisc.edu# Parameters characterization temperature (K)
5410447Snilay@cs.wisc.eduNmos->CharacterizedTemperature = 300.0
5510447Snilay@cs.wisc.eduPmos->CharacterizedTemperature = 300.0
5610447Snilay@cs.wisc.edu
5710447Snilay@cs.wisc.edu#------------------------------------------------------------------------------
5810447Snilay@cs.wisc.edu# I_Eff definition in Na, IEDM 2002
5910447Snilay@cs.wisc.edu#       I_EFF = (I(VG = 0.5, VD = 1.0) + I(VG = 1.0, VD = 0.5))/2
6010447Snilay@cs.wisc.edu#       R_EFF = VDD / I_EFF * 1 / (2 ln(2))
6110447Snilay@cs.wisc.edu# This is generally accurate for when input and output transition times
6210447Snilay@cs.wisc.edu# are similar, which is a reasonable case after timing optimization
6310447Snilay@cs.wisc.edu#------------------------------------------------------------------------------
6410447Snilay@cs.wisc.edu# Effective resistance (Ohm-m)
6510447Snilay@cs.wisc.eduNmos->EffResWidth = 0.700e-3
6610447Snilay@cs.wisc.eduPmos->EffResWidth = 0.930e-3
6710447Snilay@cs.wisc.edu
6810447Snilay@cs.wisc.edu#------------------------------------------------------------------------------
6910447Snilay@cs.wisc.edu# The ratio of extra effective resistance with each additional stacked
7010447Snilay@cs.wisc.edu# transistor
7110447Snilay@cs.wisc.edu#       EffResStackRatio = (R_EFF_NAND2 - R_EFF_INV) / R_EFF_INV)
7210447Snilay@cs.wisc.edu# For example, inverter has an normalized effective drive resistance of 1.0.
7310447Snilay@cs.wisc.edu# A NAND2 (2-stack) will have an effective drive of 1.0 + 0.7, a NAND3 (3-stack)
7410447Snilay@cs.wisc.edu# will have an effective drive of 1.0 + 2 * 0.7. Use NORs for Pmos. This fit
7510447Snilay@cs.wisc.edu# works relatively well up to 4 stacks. This value will change depending on the
7610447Snilay@cs.wisc.edu# VDD used. 
7710447Snilay@cs.wisc.edu#------------------------------------------------------------------------------
7810447Snilay@cs.wisc.edu# Effective resistance stack ratio
7910447Snilay@cs.wisc.eduNmos->EffResStackRatio = 0.800
8010447Snilay@cs.wisc.eduPmos->EffResStackRatio = 0.680
8110447Snilay@cs.wisc.edu
8210447Snilay@cs.wisc.edu#------------------------------------------------------------------------------
8310447Snilay@cs.wisc.edu# I_OFF defined as |I_DS| for |V_DS| = V_DD and |V_GS| = 0.0
8410447Snilay@cs.wisc.edu#       Minimum off current is used in technologies where I_OFF stops scaling
8510447Snilay@cs.wisc.edu#       with transistor width below some threshold
8610447Snilay@cs.wisc.edu#------------------------------------------------------------------------------
8710447Snilay@cs.wisc.edu# Off current per width (A/m)
8810447Snilay@cs.wisc.eduNmos->OffCurrent = 100.0e-3
8910447Snilay@cs.wisc.eduPmos->OffCurrent = 100.0e-3
9010447Snilay@cs.wisc.edu# Minimum off current (A)
9110447Snilay@cs.wisc.eduNmos->MinOffCurrent = 60e-9
9210447Snilay@cs.wisc.eduPmos->MinOffCurrent = 60e-9
9310447Snilay@cs.wisc.edu
9410447Snilay@cs.wisc.edu# Subthreshold swing (V/dec)        
9510447Snilay@cs.wisc.eduNmos->SubthresholdSwing = 0.100
9610447Snilay@cs.wisc.eduPmos->SubthresholdSwing = 0.100
9710447Snilay@cs.wisc.edu# DIBL factor (V/V)
9810447Snilay@cs.wisc.eduNmos->DIBL = 0.150
9910447Snilay@cs.wisc.eduPmos->DIBL = 0.150
10010447Snilay@cs.wisc.edu# Subthreshold temperature swing (K/dec)
10110447Snilay@cs.wisc.eduNmos->SubthresholdTempSwing = 100.0
10210447Snilay@cs.wisc.eduPmos->SubthresholdTempSwing = 100.0
10310447Snilay@cs.wisc.edu#------------------------------------------------------------------------------
10410447Snilay@cs.wisc.edu
10510447Snilay@cs.wisc.edu# =============================================================================
10610447Snilay@cs.wisc.edu# Parameters for interconnect
10710447Snilay@cs.wisc.edu# =============================================================================
10810447Snilay@cs.wisc.edu
10910447Snilay@cs.wisc.eduWire->AvailableLayers = [Metal1,Local,Intermediate,Semiglobal,Global]
11010447Snilay@cs.wisc.edu
11110447Snilay@cs.wisc.edu# Metal 1 Wire (used for std cell routing only)
11210447Snilay@cs.wisc.edu# Min width (m)
11310447Snilay@cs.wisc.eduWire->Metal1->MinWidth = 32e-9
11410447Snilay@cs.wisc.edu# Min spacing (m)
11510447Snilay@cs.wisc.eduWire->Metal1->MinSpacing = 32e-9
11610447Snilay@cs.wisc.edu# Resistivity (Ohm-m)
11710447Snilay@cs.wisc.eduWire->Metal1->Resistivity = 5.00e-8
11810447Snilay@cs.wisc.edu# Metal thickness (m)
11910447Snilay@cs.wisc.eduWire->Metal1->MetalThickness = 60.0e-9
12010447Snilay@cs.wisc.edu# Dielectric thickness (m)
12110447Snilay@cs.wisc.eduWire->Metal1->DielectricThickness = 60.0e-9
12210447Snilay@cs.wisc.edu# Dielectric constant
12310447Snilay@cs.wisc.eduWire->Metal1->DielectricConstant = 3.00
12410447Snilay@cs.wisc.edu
12510447Snilay@cs.wisc.edu# Local wire, 1.0X of the M1 pitch
12610447Snilay@cs.wisc.edu# Min width (m)
12710447Snilay@cs.wisc.eduWire->Local->MinWidth = 32e-9
12810447Snilay@cs.wisc.edu# Min spacing (m)
12910447Snilay@cs.wisc.eduWire->Local->MinSpacing = 32e-9
13010447Snilay@cs.wisc.edu# Resistivity (Ohm-m)
13110447Snilay@cs.wisc.eduWire->Local->Resistivity = 5.00e-8
13210447Snilay@cs.wisc.edu# Metal thickness (m)
13310447Snilay@cs.wisc.eduWire->Local->MetalThickness = 60.0e-9
13410447Snilay@cs.wisc.edu# Dielectric thickness (m)
13510447Snilay@cs.wisc.eduWire->Local->DielectricThickness = 60.0e-9
13610447Snilay@cs.wisc.edu# Dielectric constant
13710447Snilay@cs.wisc.eduWire->Local->DielectricConstant = 3.00
13810447Snilay@cs.wisc.edu
13910447Snilay@cs.wisc.edu# Intermediate wire, 2.0X the M1 pitch
14010447Snilay@cs.wisc.edu# Min width (m)
14110447Snilay@cs.wisc.eduWire->Intermediate->MinWidth = 55e-9
14210447Snilay@cs.wisc.edu# Min spacing (m)
14310447Snilay@cs.wisc.eduWire->Intermediate->MinSpacing = 55e-9
14410447Snilay@cs.wisc.edu# Resistivity (Ohm-m)
14510447Snilay@cs.wisc.eduWire->Intermediate->Resistivity = 4.00e-8
14610447Snilay@cs.wisc.edu# Metal thickness (m)
14710447Snilay@cs.wisc.eduWire->Intermediate->MetalThickness = 100.0e-9
14810447Snilay@cs.wisc.edu# Dielectric thickness (m)
14910447Snilay@cs.wisc.eduWire->Intermediate->DielectricThickness = 100.0e-9
15010447Snilay@cs.wisc.edu# Dielectric constant
15110447Snilay@cs.wisc.eduWire->Intermediate->DielectricConstant = 2.8
15210447Snilay@cs.wisc.edu
15310447Snilay@cs.wisc.edu# Semiglobal wire, 4.0X the M1 pitch
15410447Snilay@cs.wisc.edu# Min width (m)
15510447Snilay@cs.wisc.eduWire->Semiglobal->MinWidth = 110e-9
15610447Snilay@cs.wisc.edu# Min spacing (m)
15710447Snilay@cs.wisc.eduWire->Semiglobal->MinSpacing = 110e-9
15810447Snilay@cs.wisc.edu# Resistivity (Ohm-m)
15910447Snilay@cs.wisc.eduWire->Semiglobal->Resistivity = 2.60e-8
16010447Snilay@cs.wisc.edu# Metal thickness (m)
16110447Snilay@cs.wisc.eduWire->Semiglobal->MetalThickness = 200e-9
16210447Snilay@cs.wisc.edu# Dielectric thickness (m)
16310447Snilay@cs.wisc.eduWire->Semiglobal->DielectricThickness = 170e-9
16410447Snilay@cs.wisc.edu# Dielectric constant
16510447Snilay@cs.wisc.eduWire->Semiglobal->DielectricConstant = 2.80        
16610447Snilay@cs.wisc.edu
16710447Snilay@cs.wisc.edu# Global wire, 6.0X the M1 pitch
16810447Snilay@cs.wisc.edu# Min width (m)
16910447Snilay@cs.wisc.eduWire->Global->MinWidth = 160e-9
17010447Snilay@cs.wisc.edu# Min spacing (m)
17110447Snilay@cs.wisc.eduWire->Global->MinSpacing = 160e-9
17210447Snilay@cs.wisc.edu# Resistivity (Ohm-m)
17310447Snilay@cs.wisc.eduWire->Global->Resistivity = 2.30e-8
17410447Snilay@cs.wisc.edu# Metal thickness (m)
17510447Snilay@cs.wisc.eduWire->Global->MetalThickness = 280e-9
17610447Snilay@cs.wisc.edu# Dielectric thickness (m)
17710447Snilay@cs.wisc.eduWire->Global->DielectricThickness = 250e-9
17810447Snilay@cs.wisc.edu# Dielectric constant
17910447Snilay@cs.wisc.eduWire->Global->DielectricConstant = 2.60
18010447Snilay@cs.wisc.edu
18110447Snilay@cs.wisc.edu# =============================================================================
18210447Snilay@cs.wisc.edu# Parameters for Standard Cells
18310447Snilay@cs.wisc.edu# =============================================================================
18410447Snilay@cs.wisc.edu
18510447Snilay@cs.wisc.edu# The height of the standard cell is usually a multiple of the vertical
18610447Snilay@cs.wisc.edu# M1 pitch (tracks). By definition, an X1 size cell has transistors
18710447Snilay@cs.wisc.edu# that fit exactly in the given cell height without folding, or leaving
18810447Snilay@cs.wisc.edu# any wasted vertical area
18910447Snilay@cs.wisc.edu
19010447Snilay@cs.wisc.edu# Reasonable values for the number of M1 tracks that we have seen are 8-14
19110447Snilay@cs.wisc.eduStdCell->Tracks = 11
19210447Snilay@cs.wisc.edu# Height overhead due to supply rails, well spacing, etc. Note that this will grow
19310447Snilay@cs.wisc.edu# if the height of the standard cell decreases!
19410447Snilay@cs.wisc.eduStdCell->HeightOverheadFactor = 1.400
19510447Snilay@cs.wisc.edu
19610447Snilay@cs.wisc.edu# Sets the available sizes of each standard cell. Keep in mind that
19710447Snilay@cs.wisc.edu# 1.0 is the biggest cell without any transistor folding
19810447Snilay@cs.wisc.eduStdCell->AvailableSizes = [1.0, 1.4, 2.0, 3.0, 4.0, 6.0, 8.0, 10.0, 12.0, 16.0]
19910447Snilay@cs.wisc.edu
200