Professional Documents
Culture Documents
Algorithms in Vlsi
Algorithms in Vlsi
Algorithms in Vlsi
2/16/2020 1
Objective of this Lecture
a To review the materials used in fabrication of VLSI
devices.
a To review the structure of devices and process
involved in fabricating different types of VLSI circuits
a To review the basic algorithm concepts
a To level-set everyone so that we can get into serious
Physical Design topics in the next lecture
2/16/2020 2
Wafer, Die and Package
2/16/2020 3
Fabrication Materials
copper
2/16/2020 4
Electron and Holes
Silicon
atom
Free
Electron
+Ion
Hole
http://researchweb.watson.ibm.com/resources/press/strainedsilicon/
Electron
Interface Hole rich
rich
Substrate
(a) (b) (c)
2/16/2020 6
A nMOS Transistor
Enhancement Mode
(a) (b)
Gate
Source Drain
Vg<Vt VgVt
Vs Vd Vs Vd
(c)
2/16/2020 7
Fabrication of VLSI Circuits
1. Create
2. Define
3. Etch Silicon wafers
Pattern definition by
photolithography
Etch
8 to 10 iterations
2/16/2020 8
Photolithographic Process
UV Radiation
Silicon dioxide
Photoresist (Negative )
Silicon
Hardened
Photoresist
Silicon dioxide
(c)
(d) etched where
Photoresist exposed
stripped
(e)
2/16/2020 9
Details of Fabrication Processes
Crystal growth & wafer preparation
Epitaxy
Oxidation
Diffusion
Ion implantation
Lithography
Etching
Packaging
2/16/2020 10
Basic Design Rules
1. Size Rules
2. Separation Rules
3. Overlap Rules
2/16/2020 11
Size and Separation Rules
Diffusion Poly
Metal
Poly
2/16/2020 12
Overlap Rules for Contact cuts
(a) (b)
2/16/2020 13
Layout of Basic Devices
a nMOS Inverter
a CMOS Inverter
a nMOS NAND Gate
a CMOS NAND Gate
a nMOS NOR Gate
a CMOS NOR Gate
2/16/2020 14
A CMOS Inverter
2/16/2020 15
A CMOS NAND Gate
2/16/2020 16
A CMOS NOR Gate
2/16/2020 17
Additional Fabrication Factors
a Scaling
a Parasitic Effects
a Yield Statistics and Fabrication Costs
a Delay Computation
a Noise and Crosstalk
a Power Dissipation
2/16/2020 18
Mini Summary
a The three types of materials are insulators, conductors and
semiconductors
a A VLSI chip consists of several layers of different materials on
a silicon wafer.
a Each layer is defined by a mask
a VLSI fabrication process patterns each layer using a mask
a Complex VLSI circuits can be developed using basic VLSI
devices
a Design rules must be followed to allow proper fabrication
a Several factors such as scaling, parasitic effects, yield
statistics and fabrication costs, delay computation, noise and
crosstalk and power dissipation play a key role in fabrication
of VLSI chips
2/16/2020 19
Design Styles
Complexity of
VLSI circuits
2/16/2020 20
Full Custom Design Style
Data Path
I/O
PLA
ROM/RAM
Random logic
A/D Converter
2/16/2020 21
Standard Cell Design Style
Cell Feedthrough
VDD Metal 1 Metal 2
GND
D C C B
A C C
D C D B
C C C B
Cell A Cell B
2/16/2020 22
Gate Array Design Style
A
C
B
2/16/2020 23
FPGA Design Style
2/16/2020 24
Field-Programmable Gate-Arrays (FPGAs)
a Programmable logic
a Programmable interconnects
a Programmable inputs/outputs
2/16/2020 25
Comparisons of Design Styles
style
2/16/2020 26
Comparisons of Design Styles
style
2/16/2020 27
Packaging Styles
Packaging
Area
Performance, cost
2/16/2020 28
History of VLSI Layout Tools
Year Design Tools
1950 - 1965 Manual Design
2/16/2020 29
Now You Need Algorithms
• To put devices/interconnects together into VLSI chips
• Fundamental questions: How do you do it smartly?
• Definition of algorithm in a board sense: A step-by-
step procedure for solving a problem. Examples:
– Cooking a dish
– Making a phone call
– Sorting a hand of cards
• Definition for computational problem: A well-defined
computational procedure that takes some value as
input and produces some value as output
2/16/2020 30
Example: Selection Sort
• Input: An array of n numbers D[1]…D[n].
• Output: An array of n numbers E[1]…E[n] such that
E[1]E[2] … E[n].
• Algorithm:
1. For i from 1 to n do
2. Select the largest remaining no. from D[1..n].
3. Put that number into E[i].
2/16/2020 31
Some Algorithm Design Techniques
• Greedy
• Divide and Conquer
• Dynamic Programming
• Network Flow
• Mathematical Programming (e.g., linear programming,
integer linear programming)
2/16/2020 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.
2/16/2020 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
• However, difficult to compare since algorithms may be
implemented in different machines, use different
languages, etc.
• Also, run time is input-dependent. Which input to use?
• Big-O notation is widely used for asymptotic analysis
2/16/2020 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)
2/16/2020 35
Effect of Multiplicative Constant
800
n2
700
600
Run time
500
400
10n
300
200
100
0
0 10 20 n
2/16/2020 36
Growth Rates of some Functions
O log n O log 2 n O n O n
Polynomial
Functions
O n log n O n log 2 n O n1.5 O n 2
O n O n
3 4
Exponential
Functions
log n log2 n
O 2 O 3 O 4
n n n
O n! O n n
2/16/2020 37
Problem of Exponential Function
• Consider 2n, value doubled when n is increased by 1.
n 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!
2/16/2020 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.
2/16/2020 39
NP-Complete
• I can't find an efficient • I can't find an efficient
algorithm, I guess I'm just too algorithm, but neither can all
dumb. these famous people.
2/16/2020 40
Source: Computers and Intractibility by Garey and Johnson
Solution Type of Algorithms
• Polynomial time algorithms
• Exponential time algorithms
• Special case algorithms
• Approximate algorithms
• Heuristic algorithms
2/16/2020 41
Before Next Class
• Refresh your Algorithms:
– C. J. Alpert, D. P. Mehta, S. S. Sapatnekar, Handbook of
Algorithms for Physical Design Automation, Auerbach
Publications, 2008
– T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein
Introduction to Algorithms, MIT Press, 2009 (3rd edition)
• Circuit partitioning in the next class
2/16/2020 42