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 32nm LVT process
3110447Snilay@cs.wisc.eduName = Bulk32LVT
3210447Snilay@cs.wisc.edu
3310447Snilay@cs.wisc.edu# Supply voltage used in the circuit and for characterizations (V)
3410447Snilay@cs.wisc.eduVdd = 0.9
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.160e-6
4410447Snilay@cs.wisc.edu
4510447Snilay@cs.wisc.edu# Min gate width (m)
4610447Snilay@cs.wisc.eduGate->MinWidth = 0.120e-6
4710447Snilay@cs.wisc.edu
4810447Snilay@cs.wisc.edu# Gate cap per unit width (F/m)
4910447Snilay@cs.wisc.eduGate->CapPerWidth = 0.950e-9
5010447Snilay@cs.wisc.edu# Source/Drain cap per unit width (F/m)
5110447Snilay@cs.wisc.eduDrain->CapPerWidth = 0.640e-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.890e-3               
6610447Snilay@cs.wisc.eduPmos->EffResWidth = 1.270e-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.78
8010447Snilay@cs.wisc.eduPmos->EffResStackRatio = 0.66
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 as a second fit point, since I_OFF often
8510447Snilay@cs.wisc.edu#       stops scaling 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 = 100e-3
8910447Snilay@cs.wisc.eduPmos->OffCurrent = 100e-3
9010447Snilay@cs.wisc.edu
9110447Snilay@cs.wisc.edu# Minimum off current (A)
9210447Snilay@cs.wisc.eduNmos->MinOffCurrent = 100e-9
9310447Snilay@cs.wisc.eduPmos->MinOffCurrent = 20e-9
9410447Snilay@cs.wisc.edu
9510447Snilay@cs.wisc.edu# Subthreshold swing (V/dec)        
9610447Snilay@cs.wisc.eduNmos->SubthresholdSwing = 0.100
9710447Snilay@cs.wisc.eduPmos->SubthresholdSwing = 0.100
9810447Snilay@cs.wisc.edu
9910447Snilay@cs.wisc.edu# DIBL factor (V/V)
10010447Snilay@cs.wisc.eduNmos->DIBL = 0.150
10110447Snilay@cs.wisc.eduPmos->DIBL = 0.150
10210447Snilay@cs.wisc.edu
10310447Snilay@cs.wisc.edu# Subthreshold leakage temperature swing (K/dec)
10410447Snilay@cs.wisc.eduNmos->SubthresholdTempSwing = 100
10510447Snilay@cs.wisc.eduPmos->SubthresholdTempSwing = 100
10610447Snilay@cs.wisc.edu#------------------------------------------------------------------------------
10710447Snilay@cs.wisc.edu
10810447Snilay@cs.wisc.edu# =============================================================================
10910447Snilay@cs.wisc.edu# Parameters for interconnect
11010447Snilay@cs.wisc.edu# =============================================================================
11110447Snilay@cs.wisc.edu
11210447Snilay@cs.wisc.eduWire->AvailableLayers = [Metal1,Local,Intermediate,Global]
11310447Snilay@cs.wisc.edu
11410447Snilay@cs.wisc.edu# Metal 1 Wire (used for std cell routing only)
11510447Snilay@cs.wisc.edu# Min width (m)
11610447Snilay@cs.wisc.eduWire->Metal1->MinWidth = 55e-9
11710447Snilay@cs.wisc.edu# Min spacing (m)
11810447Snilay@cs.wisc.eduWire->Metal1->MinSpacing = 55e-9
11910447Snilay@cs.wisc.edu# Resistivity (Ohm-m)
12010447Snilay@cs.wisc.eduWire->Metal1->Resistivity = 4.00e-8
12110447Snilay@cs.wisc.edu# Metal thickness (m)
12210447Snilay@cs.wisc.eduWire->Metal1->MetalThickness = 100.0e-9
12310447Snilay@cs.wisc.edu# Dielectric thickness (m)
12410447Snilay@cs.wisc.eduWire->Metal1->DielectricThickness = 100.0e-9
12510447Snilay@cs.wisc.edu# Dielectric constant
12610447Snilay@cs.wisc.eduWire->Metal1->DielectricConstant = 3.2
12710447Snilay@cs.wisc.edu
12810447Snilay@cs.wisc.edu# Local wire, 1.0X of the M1 pitch
12910447Snilay@cs.wisc.edu# Min width (m)
13010447Snilay@cs.wisc.eduWire->Local->MinWidth = 55e-9
13110447Snilay@cs.wisc.edu# Min spacing (m)
13210447Snilay@cs.wisc.eduWire->Local->MinSpacing = 55e-9
13310447Snilay@cs.wisc.edu# Resistivity (Ohm-m)
13410447Snilay@cs.wisc.eduWire->Local->Resistivity = 4.00e-8
13510447Snilay@cs.wisc.edu# Metal thickness (m)
13610447Snilay@cs.wisc.eduWire->Local->MetalThickness = 100.0e-9
13710447Snilay@cs.wisc.edu# Dielectric thickness (m)
13810447Snilay@cs.wisc.eduWire->Local->DielectricThickness = 100.0e-9
13910447Snilay@cs.wisc.edu# Dielectric constant
14010447Snilay@cs.wisc.eduWire->Local->DielectricConstant = 3.2
14110447Snilay@cs.wisc.edu
14210447Snilay@cs.wisc.edu# Intermediate wire, 2.0X the M1 pitch
14310447Snilay@cs.wisc.edu# Min width (m)
14410447Snilay@cs.wisc.eduWire->Intermediate->MinWidth = 110e-9
14510447Snilay@cs.wisc.edu# Min spacing (m)
14610447Snilay@cs.wisc.eduWire->Intermediate->MinSpacing = 110e-9
14710447Snilay@cs.wisc.edu# Resistivity (Ohm-m)
14810447Snilay@cs.wisc.eduWire->Intermediate->Resistivity = 2.60e-8
14910447Snilay@cs.wisc.edu# Metal thickness (m)
15010447Snilay@cs.wisc.eduWire->Intermediate->MetalThickness = 200e-9
15110447Snilay@cs.wisc.edu# Dielectric thickness (m)
15210447Snilay@cs.wisc.eduWire->Intermediate->DielectricThickness = 170e-9
15310447Snilay@cs.wisc.edu# Dielectric constant
15410447Snilay@cs.wisc.eduWire->Intermediate->DielectricConstant = 3.00
15510447Snilay@cs.wisc.edu
15610447Snilay@cs.wisc.edu# Global wire, 3.0X the M1 pitch
15710447Snilay@cs.wisc.edu# Min width (m)
15810447Snilay@cs.wisc.eduWire->Global->MinWidth = 160e-9
15910447Snilay@cs.wisc.edu# Min spacing (m)
16010447Snilay@cs.wisc.eduWire->Global->MinSpacing = 160e-9
16110447Snilay@cs.wisc.edu# Resistivity (Ohm-m)
16210447Snilay@cs.wisc.eduWire->Global->Resistivity = 2.30e-8
16310447Snilay@cs.wisc.edu# Metal thickness (m)
16410447Snilay@cs.wisc.eduWire->Global->MetalThickness = 280e-9
16510447Snilay@cs.wisc.edu# Dielectric thickness (m)
16610447Snilay@cs.wisc.eduWire->Global->DielectricThickness = 250e-9
16710447Snilay@cs.wisc.edu# Dielectric constant
16810447Snilay@cs.wisc.eduWire->Global->DielectricConstant = 2.80
16910447Snilay@cs.wisc.edu
17010447Snilay@cs.wisc.edu# =============================================================================
17110447Snilay@cs.wisc.edu# Parameters for Standard Cells
17210447Snilay@cs.wisc.edu# =============================================================================
17310447Snilay@cs.wisc.edu
17410447Snilay@cs.wisc.edu# The height of the standard cell is usually a multiple of the vertical
17510447Snilay@cs.wisc.edu# M1 pitch (tracks). By definition, an X1 size cell has transistors
17610447Snilay@cs.wisc.edu# that fit exactly in the given cell height without folding, or leaving
17710447Snilay@cs.wisc.edu# any wasted vertical area
17810447Snilay@cs.wisc.edu
17910447Snilay@cs.wisc.edu# Reasonable values for the number of M1 tracks that we have seen are 8-14
18010447Snilay@cs.wisc.eduStdCell->Tracks = 11
18110447Snilay@cs.wisc.edu# Height overhead due to supply rails, well spacing, etc. Note that this will grow
18210447Snilay@cs.wisc.edu# if the height of the standard cell decreases!
18310447Snilay@cs.wisc.eduStdCell->HeightOverheadFactor = 1.400
18410447Snilay@cs.wisc.edu
18510447Snilay@cs.wisc.edu# Sets the available sizes of each standard cell. Keep in mind that
18610447Snilay@cs.wisc.edu# 1.0 is the biggest cell without any transistor folding
18710447Snilay@cs.wisc.eduStdCell->AvailableSizes = [1.0, 1.4, 2.0, 3.0, 4.0, 6.0, 8.0, 10.0, 12.0, 16.0]
18810447Snilay@cs.wisc.edu
189