ESE 570: Digital Integrated Circuits and VLSI Fundamentals

advertisement
Lecture Outline
ESE 570: Digital Integrated Circuits and
VLSI Fundamentals
! 
Design Methodologies
! 
Implementation Methodologies
! 
Design Quality
! 
Packaging
" 
Lec 23: April 12, 2016
VLSI Design and Variation
" 
" 
Penn ESE 570 Spring 2016 – Khanna
Hierarchy, Modularity, Regularity, Locality
Custom, Semi-Custom (cell-based, array-based)
Variation
Penn ESE 570 Spring 2016 – Khanna
2
Y-Chart
Three Domain View of VLSI Design Flow at One Level
FUNCTIONAL DESIGN
Verilog/Spectre
Verilog/Spectre
Verilog/Cadence
SPICE
Spectre
(Spectre)
Extract Parasitic Elements
LAYOUT
VERIFICATION
1. Design Rule Check (DRC)
2. Layout Versus Schematic
(LVS) Check
3. Post layout simulation (PLS)
Cadence
(Virtuoso)
PLS
3
Metrics for Design Success:
" 
Performance Specs
" 
Time to Design
" 
Ease of Test Generation and Testability
" 
" 
" 
! 
! 
logical function, speed, power, area
Strategies common for complex hardware and
software projects
" 
engineering cost and schedule
" 
engineering cost, manufacturing cost, schedule
" 
Design is a continuous tradeoff to achieve
performance specs with adequate results in the
other metrics
Penn ESE 570 Spring 2016 – Khanna
4
Kenneth R. Laker,
University of
Pennsylvania,
Structured Design Strategies
updated 6Apr15
Design Strategies
! 
Penn ESE 570 Spring 2016 – Khanna
" 
5
Hierarchy: Subdivide the design in several levels of submodules
Modularity: Define sub-modules unambiguously and well
defined interfaces
Regularity: Subdivide to max number of similar submodules at each level
Locality: Max local connections, keeping critical paths
within module boundaries
Penn ESE 570 Spring 2016 – Khanna
6
1
Modularity
! 
! 
! 
! 
Adds to the hierarchy and regularity Unambiguous functions
Well defined beahvioural, structural, and physical
interfaces
Enables modules to be individually designed and
evaluated
add4
c
add
add
add
sum
a[1]
b[0]
a[0]
(0,0)
s
sum
s
carry
co
i
n
v
nor
b[1]
nand
co3
a[2]
+
8
Floorplanning: Map Structural into Physical
(100,400)
s[3]
add1 Cell
(100,300)
b[2]
nor
a[3:0]
a[3]
add[3]
nand
b[3]
s[3:0]
nor
c0
+
+
add4
+
+
nand
Hierarchical & Modular Layout
b[3:0]
nor
nand
7
Penn ESE 570 Spring 2016 – Khanna
c
b
a
c
b
a
carry
carry
sum
carry
sum
sum
Eg. 4b Adder
c0
b
a
add
co
carry
! 
Hierarchical & Modular 4-bit Adder
add[2] s[2]
(100,200)
(50,100)
(0,75)
b[i]
add[1] s[1]
(100,100)
add[0] s[1]
co3
(0,0)
a[i]
Unused die area ->
inefficient layout
c[i]
add[i]
(0,25)
(100,100)
s[i]
(100,50)
Structural Hierarchy
1 mapped poorly into
Physical Hierarchy.
co[i]
(50,0)
(100,0)
Better
mapping!
(0,100)
add4 Module
Miss-mappings between Structural and Physical Hierarchies usually avoided by using
automatic layout system.
Penn ESE 570 Spring 2016 – Khanna
9
Regularity
! 
Penn ESE 570 Spring 2016 – Khanna
Locality (Physical)
Design the chip reusing identical modules, circuits,
devices.
! 
TIME LOCALITY: modules are synchronized by
common clock.
" 
! 
Regularity can exist at all levels of the design
hierarchy
" 
" 
" 
" 
" 
Circuit Level: Uniform transistor sizes rather than
manually optimizing each device
Logic Level: Identical gate structures rather than
customize every gate
Architecture Level: construct architectures that use a
number of identical sub-structures
Penn ESE 570 Spring 2016 – Khanna
Kenneth R. Laker,
University of
Pennsylvania,
updated 6Apr15
10
" 
" 
11
Critical timing paths are kept within module boundaries
Place modules to minimize large or “global” inter-module
signal routes
Take care to realize robust clock generation and
distribution
Signal routes between modules with large physical
separation need sufficient time to traverse route
Replicate modules, if necessary, to alleviate delay issues
caused by long intermodule signal routes.
Penn ESE 570 Spring 2016 – Khanna
12
2
Implementation Methodologies
CMOS Chip Design Options
Digital Circuit Implementation Approaches
Custom
Cell-based
Standard Cells
Compiled Cells
Design Time and Cost
Decreasing (for a given
application)
Semicustom
Ma cro Cells
Array-based
Pre-diffused
(Gate Arrays)
Performance Increasing,
Die Area Decreasing,
Power Dissipation
Increasing (for a given
application)
Pre-wired
(FPGA's)
Penn ESE 570 Spring 2016 – Khanna
14
Penn ESE 570 Spring 2016 – Khanna
Prewired Arrays
Kenneth R. Laker,
University of
Pennsylvania,
Array-Based
Programmable Logic
updated 6Apr15
I5
Categories of prewired arrays (or field-programmable
devices):
!  Fuse-based (program-once)
!  Non-volatile EPROM based
!  RAM based
I4
I3
I2
I1
I0
Programmable
OR array
Programmable AND array
I3
I2
I1
I0
Programmable
OR array
Fixed AND array
I5
I4
I3
I2
I1
I0
Fixed OR array
Programmable AND array
O 3O 2 O 1 O 0
O 3O 2O 1O 0
PLA
PROM
O 3O 2O 1O 0
PAL
Indicates programmable connection
Indicates fixed connection
Penn ESE 570 Spring 2016 – Khanna
Programming a PROM
X2
X1
X0
FPGA Features
Configurable I/O
  Configurable Logic
  Programmable
Interconnect/routing
I/O Buffers
 
Program/Test/Diagnostics
I/O Buffers
Vertical routes
I/O Buffers
1
Field-Programmable Gate Arrays Fuse-based
Rows of logic modules
Routing channels
: programmed node
NA NA f 1 f 0
I/O Buffers
Penn ESE 570 Spring 2016 – Khanna
3
Standard-Cells Based Design
Field-Programmable Gate Arrays RAM-based
! 
! 
CLB
CLB
! 
switching matrix
Horizontal
routing
channel
Predominant custom design style
Standardization is achieved at the logic or function
level
Specific designs for each gate are developed and
stored in a software database of cell library
" 
Interconnect point
CLB
CLB
! 
Vertical routing channel
Penn ESE 570 Spring 2016 – Khanna
Feedthrough Cell
nand, nor, xor, inv, buffers, latches, registers
" 
20
Cell-based Design (or standard cells)
SSI logic
" 
Logic Cell
each gate can have multiple implementations to provide proper drive for
different fan-outs, eg. standard size, 2x, 4x
MSI logic
" 
decoders, encoders, adders, comparators
! 
Datapath
! 
Memories
! 
System level
" 
" 
" 
Rows of Cells
! 
Layout is usually automatically placed and routed
using CAD software
Penn ESE 570 Spring 2016 – Khanna
Standard Cell Library Contents
! 
Bahavioural, structural, and physical domain descriptions
per cell
ALUs, register files, shifters
RAM, ROM
Routing
Channel
Functional
Module
(RAM,
multiplier, …)
Routing channel
requirements are
reduced by presence
of more interconnect
layers
multipliers, microcontrollers
Penn ESE 570 Spring 2016 – Khanna
21
Standard Cell - Example
Penn ESE 570 Spring 2016 – Khanna
Automatic Cell Generation
3-input NAND cell
(from Mississippi State Library)
characterized for fanout of 4 and
for three different technologies
Penn ESE 570 Spring 2016 – Khanna
Random-logic layout
generated by CLEO
cell compiler (Digital)
Penn ESE 570 Spring 2016 – Khanna
4
Design Quality
! 
! 
! 
Variation Types
Achieve specifications (static and dynamic)
Die Size
Power dissipation
! 
! 
Many reasons why variation occurs and shows up in
different ways
Scales of variation
" 
! 
! 
! 
! 
Testability
Yield and Manufacturability
Reliability
Penn ESE 570 Spring 2016 – Khanna
Kenneth R. Laker,
University of
Pennsylvania,
updated 6Apr15
! 
Random dopant fluctuation
Local oxide variation
Line edge roughness
Etch and growth rates
! 
Transistors differ from each other in random ways
! 
27
Impact
! 
Changes parameters
! 
Change transistor behavior
" 
" 
" 
" 
26
Random Transistor-to-Transistor
! 
Source: Noel Menezes, Intel ISPD2007
Systematic, spatial, random (uncorrelated)
Penn ESE 570 Spring 2016 - Khanna
! 
Penn ESE 570 Spring 2016 - Khanna
Correlations of variation
" 
25
Wafer-to-wafer, die-to-die, transistor-to-transistor
Penn ESE 570 Spring 2016 - Khanna
28
Vth Variability @ 65nm
W, L, tOX, Vth
W?
L?
tOX?
" W %)
V2 ,
IDS = µn COX $ '+(VGS − VT )VDS − DS .
# L &*
2 Penn ESE 570 Spring 2016 - Khanna
29
[Bernstein
Penn ESE 570 Spring 2016 - Khanna
et al, IBM JRD 2006]
30
€
5
Impact of Vth Variation?
! 
Impact Performance
Higher Vth?
" 
" 
" 
! 
Penn ESE 570 Spring 2016 - Khanna
31
Impact of Vth Variation?
! 
Penn ESE 570 Spring 2016 - Khanna
! 
Not turn off as well # leaks more
See a range of parameters
" 
" 
# VGS −VT &
(
nkT / q '
#W & %
IDS = IS"% (e$
$L'
32
Variation
Lower Vth?
" 
Vth # Ids # Delay (Ron * Cload)
Not drive as strongly
Id,vsat∝ (Vgs-Vth)
Performance?
L: Lmin – Lmax
Vth: Vth,min – Vth,max
# VDS & &
#
(
−%
%1 − e $ kT / q ' ((1+ λVDS )
$
'
Penn ESE 570 Spring 2016 - Khanna
33
Penn ESE 570 Spring 2016 - Khanna
34
€
Variation
! 
! 
Variation
Margin for expected variation
Must assume Vth can be any value in range
" 
! 
See a range of parameters
" 
Speed # assume Vth slowest value
" 
Ion,min=Ion(Vth,max)
! 
Id,vsat∝ (Vgs-Vth)
Validate design at extremes
" 
Probability Distribution
L: Lmin – Lmax
Vth: Vth,min – Vth,max
" 
Work for both Vth,min and Vth,max ?
Design for worst-case scenario
VTH
Penn ESE 570 Spring 2016 - Khanna
35
Penn ESE 570 Spring 2016 - Khanna
36
6
Margining
! 
Process Corners
Also margin for
! 
Temperature
Voltage supply
"  Aging: end-of-life
! 
" 
! 
" 
Many effects independent
Many parameters
With N parameters,
" 
" 
! 
Try to identify the {worst,best} set of parameters
! 
Use corners to bracket behavior
" 
Penn ESE 570 Spring 2016 - Khanna
37
Simple Corner Example
Look only at extreme ends (low, high)
How many cases?
Slow corner of design space, fast corner
Penn ESE 570 Spring 2016 - Khanna
Process Corners
! 
What happens
at various
corners?
350mV
! 
! 
Many effects independent
Many parameters
Try to identify the {worst,best} set of parameters
" 
Vthp
E.g. Lump together things that make slow
" 
" 
" 
! 
150mV
150mV
38
Vthn, Vthp, temperature, Voltage
Try to reduce number of unique corners
Slow corner of design space
Use corners to bracket behavior
350mV
Vthn
Penn ESE 570 Spring 2016 - Khanna
39
Range of Behavior
Still get range of performances
Any way to exploit the fact some are faster?
Probability Distribution
! 
40
Speed Binning
Probability Distribution
! 
Penn ESE 570 Spring 2016 - Khanna
Sell
Premium
Sell
nominal
Sell
cheap
Discard
Delay
Delay
Penn ESE 570 Spring 2016 - Khanna
41
Penn ESE 570 Spring 2016 - Khanna
42
7
Design Quality
! 
Testability
" 
" 
! 
generation of good test vectors
design of testable chip
Yield and Manufacturability
" 
" 
! 
Packaging Technology
functional yield
parametric yield
Reliability
" 
" 
" 
" 
" 
threshold variation
premature aging
power and ground bouncing
ESD/EOS -> can compensate in padframe
noise and crosstalk
Penn ESE 570 Spring 2016 - Khanna
43
44
Penn ESE 570 Spring 2016 - Khanna
Kenneth R. Laker,
University of
Pennsylvania,
Parasitics in an Electronic Package
updated 6Apr15
Package Bonding Techniques
Wire Bond
Package Body
PCB Transmission Line
Die
Paddle
PCB Ground Plane
PCB Vias
Penn ESE 570 Spring 2016 - Khanna
45
Kenneth R. Laker,
University of
Pennsylvania,
Summary of Package Types
updated 6Apr15
Penn ESE 570 Spring 2016 - Khanna
46
Kenneth R. Laker,
University of
Pennsylvania,
Admin
updated 6Apr15
! 
! 
! 
HW 7 and 8 graded by Friday
EC graded by Monday
Final Project
" 
Design memory (SRAM)
" 
EC for best figure of merits (FOM = Area*Power*Delay2)
" 
Can propose extra work for extra credit
" 
" 
Due 4/26 (last day of class)
" 
" 
47
# of points depends on teams reported
Everyone gets an extension until 5/6 (day of final exam)
Keep an eye on Piazza for useful information and updates
on project handout for clarity
Penn ESE 570 Spring 2016 – Khanna
48
8
Final Project Schedule
! 
Posted now
April 11th – report teams to instructor
April 14th – extra credit proposals due to instructor
April 26th – final report due
! 
May 6th – extension for reports (also day of final)
! 
All deadline times are midnight that day
! 
! 
! 
" 
Must be submitted via Canvas
Penn ESE 570 Spring 2016 – Khanna
49
9
Download