Professional Documents
Culture Documents
VLSI Physical Design Automation: Lecture 2. Review of Device/VLSI/Algorithm
VLSI Physical Design Automation: Lecture 2. Review of Device/VLSI/Algorithm
VLSI Physical Design Automation: Lecture 2. Review of Device/VLSI/Algorithm
12/16/2014
12/16/2014
12/16/2014
Fabrication Materials
copper
12/16/2014
Free
Electron
+Ion
Hole
http://researchweb.watson.ibm.com/resources/press/strainedsilicon/
Electron
rich
Silicon dioxide
insulator
Phosphorous
Depletion
zone
(a)
(b)
Substrate
(c)
A nMOS Transistor
Enhancement Mode
Source
Gate
Drain
(a)
Channel
Source
Drain
VgVt
Vg<Vt
Vs
(b)
Gate
Vd Vs
Vd
(c)
12/16/2014
Silicon wafers
Pattern definition by
photolithography
Etch
8 to 10 iterations
12/16/2014
Photolithographic Process
UV Radiation
Silicon dioxide
Photoresist (Negative )
Silicon
Shadow of
mask feature
(a)
(b)
Hardened
Photoresist
(c)
(d)
Photoresist
stripped
Silicon dioxide
etched where
exposed
(e)
12/16/2014
Diffusion
Ion implantation
Lithography
Etching
Packaging
12/16/2014
10
12/16/2014
2
2
3
2
2
11
Diffusion
Poly
Metal
Channel
Poly
Incorrectly formed
12/16/2014
Correctly formed
12
(b)
(a)
12/16/2014
13
12/16/2014
14
A CMOS Inverter
12/16/2014
15
12/16/2014
16
12/16/2014
17
Delay Computation
Noise and Crosstalk
Power Dissipation
12/16/2014
18
Mini Summary
The three types of materials are insulators, conductors and
semiconductors
12/16/2014
19
Design Styles
Complexity of
VLSI circuits
Performance
Size
Cost
Market time
Full custom
Standard Cell
Gate Array
FPGA
12/16/2014
20
Metal
Via
Data Path
PLA
Metal 2
I/O
ROM/RAM
Random logic
A/D Converter
12/16/2014
21
Cell A
Cell C
Cell B
Cell D
Feedthrough cell
12/16/2014
22
Metal1 Metal2
C
A
23
12/16/2014
24
Programmable logic
Programmable interconnects
Programmable inputs/outputs
12/16/2014
25
FPGA
cell size
variable
fixed height *
fixed
fixed
cell type
variable
variable
fixed
programmable
cell placement
variable
in row
fixed
fixed
interconnections
variable
variable
variable
programmable
12/16/2014
26
style
full-custom standard cell
compact
gate array
FPGA
moderate
large
Area
compact
Performance
high
high
to moderate
moderate
low
Fabrication
layers
ALL
ALL
routing
layers
none
to moderate
12/16/2014
27
Packaging Styles
Packaging
Multi-Chip Module
MCM
Area
Performance, cost
12/16/2014
28
Design Tools
Manual Design
1965 - 1975
Layout editors
Automatic routers( for PCB)
Efficient partitioning algorithm
1975 - 1985
1985 1995
1995 2002
2002 - present
12/16/2014
29
12/16/2014
30
12/16/2014
31
Greedy
Divide and Conquer
Dynamic Programming
Network Flow
Mathematical Programming (e.g., linear programming,
integer linear programming)
12/16/2014
32
Reduction
Idea: If I can solve problem A, and if problem B can be
transformed into an instance of problem A, then I can
solve problem B by reducing problem B to problem A
and then solve the corresponding problem A.
Example:
Problem A: Sorting
Problem B: Given n numbers, find the i-th largest numbers.
12/16/2014
33
Analysis of Algorithm
There can be many different algorithms to solve the
same problem.
Need some way to compare 2 algorithms.
Usually run time is the most important criterion used
Space (memory) usage is of less concern now
12/16/2014
34
Big-O Notation
Consider run time for the worst input
=> upper bound on run time.
Express run time as a function input size n.
Interested in the run time for large inputs.
Therefore, interested in the growth rate.
Ignore multiplicative constant.
Ignore lower order terms.
3n2+6n+2.7 is O(n2).
n1.1+10000000000n is O(n1.1).
n1.1 is also O(n2), but to be more precise, it is O(n1.1)
12/16/2014
35
n2
700
Run time
600
500
400
10n
300
200
100
0
0
10
12/16/2014
20
n
36
n O n
O 2
O 2 O 3 O 4
O n! O n
O n
log2 n
log n
12/16/2014
Exponential
Functions
Polynomial
Functions
O log n O log 2 n O
37
2n
1ms x 2n
10
103
0.001 s
20
106
1s
30
109
16.7 mins
40
1012
11.6 days
50
1015
31.7 years
60
1018
31710 years
If you borrow $10 from a credit card with APR 18%, after
40 yrs, you will own $12700!
12/16/2014
38
NP-Complete
The class NP-Complete is the set of problems which
we believe there is no polynomial time algorithms.
Therefore, it is a class of hard problems.
NP-Hard is another class of problems containing the
class NP-Complete.
If we know a problem is in NP-Complete or NP-Hard,
there is no hope to solve it efficiently.
12/16/2014
39
NP-Complete
I can't find an efficient
algorithm, I guess I'm just too
dumb.
12/16/2014
40
Source: Computers and Intractibility by Garey and Johnson
12/16/2014
41
12/16/2014
42