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