fall 2006ee 5301 - vlsi design automation i i-1 ee 5301 – vlsi design automation i kia bazargan...
Post on 20-Dec-2015
226 views
TRANSCRIPT
Fall 2006 EE 5301 - VLSI Design Automation I I-1
EE 5301 – VLSI Design Automation IEE 5301 – VLSI Design Automation I
Kia Bazargan
University of Minnesota
Part I: IntroductionPart I: Introduction
Fall 2006 EE 5301 - VLSI Design Automation I I-2
Administrative Issues• Class
Time and venue: _MW 4:40pm - 5:55pm, ME212 _ Web page:
o http://www.ece.umn.edu/users/kia/Courses/EE5301o http://webct.umn.edu/ (requires x.500 ID & pwd)o !!!! Check the class web page & discussion group
regularly !!!! Textbook:
Sadiq M. Sait, Habib Youssef, "VLSI Physical Design Automation: Theory and Practice", World Scientific Publishing Company; 1st edition (November 15, 1999)
• Grades 30% homework 10% presentations / papers 10% quizzes 40% two open book midterms: Mon Oct 16, Wed Nov 29 10% Final project. Due Wed Dec 6
Fall 2006 EE 5301 - VLSI Design Automation I I-3
Administrative Issues (cont.)
• Personnel Instructor: Kia Bazargan
o Email: [email protected] Phone: (612) 625-4588o Office: EE/CSci 4-159o Office hours: __MW 3:30-4:30pm __
TA: ___________________
o Email: ___________________________
o Phone: _____________________________
o Office: ______________________________
o Office hours: __________________________
Fall 2006 EE 5301 - VLSI Design Automation I I-4
Administrative Issues (cont.)
• Policies Homework must be received before class starts (hardcopy) or
before 4:30pm (electronic) on the due date
o Three days of grace period for the whole semester
o After the grace period is used, > 10 minutes late 0% of the grade
Zero tolerance for cheating
Collaboration OK, copying NOT OK
Include ID on all homework, exams, etc.
No extra work for extra credit
Check class web pages regularly, students are responsible for checking discussion threads and announcements regularly
Subscribe to the class mailing list (instructions on the web page)
Fall 2006 EE 5301 - VLSI Design Automation I I-5
Online Slides
• Slides are posted on the web Handouts posted as .pdf files Powerpoint slides provided too
o NOTE: some slides are animated (like this one)o Click on the slide to see the animationo Click once more.
o Note: some slides have notes! (like this one)
o Some slides contain text that is not printed in the handouts, but animated. These are left for you to fill out in the handouts. An example is shown below (animated: click to see)
This is a sample text, not printed, but animated
Fall 2006 EE 5301 - VLSI Design Automation I I-6
References and Copyright
• Textbooks referred (none required) [Mic94] G. De Micheli
“Synthesis and Optimization of Digital Circuits”McGraw-Hill, 1994.
[CLR90] T. H. Cormen, C. E. Leiserson, R. L. Rivest“Introduction to Algorithms”MIT Press, 1990.
[Sar96] M. Sarrafzadeh, C. K. Wong“An Introduction to VLSI Physical Design”McGraw-Hill, 1996.
[She99] N. Sherwani“Algorithms For VLSI Physical Design Automation”Kluwer Academic Publishers, 3rd edition, 1999.
Fall 2006 EE 5301 - VLSI Design Automation I I-7
References and Copyright (cont.)
• Slides used: (Modified by Kia when necessary) [©Sarrafzadeh] © Majid Sarrafzadeh, 2001;
Department of Computer Science, UCLA
[©Sherwani] © Naveed A. Sherwani, 1992 (companion slides to [She99])
[©Keutzer] © Kurt Keutzer, Dept. of EECS, UC-Berekeleyhttp://www-cad.eecs.berkeley.edu/~niraj/ee244/index.htm
[©Gupta] © Rajesh Gupta UC-Irvinehttp://www.ics.uci.edu/~rgupta/ics280.html
Fall 2006 EE 5301 - VLSI Design Automation I I-8
What is This Course All About?
• Prerequisite C / C++ programming experience Kia will try to provide tutorials
• What is covered? Basic algorithms, complexity theory Integrated circuit (IC) Design flow Computer Aided Design (CAD) tool development
for Very Large Scale Integration (VLSI) Lots of programming!
• Next slides: Overview of IC design steps Related courses at U of M Outline of this course
Fall 2006 EE 5301 - VLSI Design Automation I I-9
IC Products• Processors
CPU, DSP, Controllers
• Memory chips RAM, ROM, EEPROM
• Analog Mobile communication,
audio/video processing
• Programmable PLA, FPGA
• Embedded systems Used in cars, factories Network cards
• System-on-chip (SoC)Images: amazon.com
Skipecon
Fall 2006 EE 5301 - VLSI Design Automation I I-10
IC Product Market Shares
Source: Electronic Business
Fall 2006 EE 5301 - VLSI Design Automation I I-11
The Inverted Pyramid
[©Keutzer]
Electronic Systems > $1 Trillion
Semiconductor > $220 B
CAD $3 B
Fall 2006 EE 5301 - VLSI Design Automation I I-12
Semiconductor Industry Growth Rates
Source: http://www.icinsight.com/ (McClean Report)
Fall 2006 EE 5301 - VLSI Design Automation I I-13
More Demand for EDA
Source: http://www.edat.com/edac
CA
E =
Com
pute
r Aid
ed E
ngin
eerin
g
Fall 2006 EE 5301 - VLSI Design Automation I I-14
Growth in System Size
Source: http://www.edat.com/edac
CA
GR
= C
om
pou
nd A
nnu
al G
row
th R
ate
Fall 2006 EE 5301 - VLSI Design Automation I I-15
Example: Intel Processor Sizes
Source: http://www.intel.com/
Intel386TM DXProcessor
Intel486TM DXProcessor
Pentium® Processor
Pentium® Pro &Pentium® II Processors
1.5 1.0 0.8 0.6 0.35 0.25Silicon ProcessTechnology
Fall 2006 EE 5301 - VLSI Design Automation I I-16
Moore’s Law
1
10
100
1K
10K
100K
1M
10M
1975 1980 1985 1990 1995
Transistors
10x/6 years10x/6 years
8086
6800068020
80386
80486
68040
80804004
Pentium ProPentium
PPC601
PPC603
MIPS R4000
Microprocessors
[©Keutzer]
Fall 2006 EE 5301 - VLSI Design Automation I I-17
NRTS: Chip Frequencies
[©Keutzer]
Clock speed GHz
0
1
3
5
7
9
11
1997 1999 2001 2003 2006 2009 2012
On-chip, local clock, high performance
On-chip, global clock, high performance
Fall 2006 EE 5301 - VLSI Design Automation I I-18
Increasing Device and Context Complexity
• Exponential increase in device complexity Increasing with Moore's law (or faster)!
• More complex system contexts System contexts in which devices are
deployed (e.g. cellular radio) are increasing in complexity
• Require exponential increases in design productivity
[©Keutzer]
We have exponentially more transistors!We have exponentially more transistors!
Com
ple
xity
Fall 2006 EE 5301 - VLSI Design Automation I I-19
Deep Submicron Effects
• Smaller geometries are causing a wide variety of effects that we have largely ignored in the past: Cross coupled capacitances Signal integrity Resistance Inductance
[©Keutzer]
Design of each transistor is getting more difficult!
Design of each transistor is getting more difficult!
DS
M E
ffects
Fall 2006 EE 5301 - VLSI Design Automation I I-20
Heterogeneity on Chip
• Greater diversity of on chip elements Processors Software Memory Analog
[©Keutzer]
More transistors doing different things!More transistors doing different things!
Heterogeneity
Fall 2006 EE 5301 - VLSI Design Automation I I-21
Stronger Market Pressures
• Decreasing design window
• Less tolerance for design revisions
[©Keutzer]
Time-to-market
Exponentially more complex, greater design risk, greater variety, and a smaller design
window!
Exponentially more complex, greater design risk, greater variety, and a smaller design
window!
Fall 2006 EE 5301 - VLSI Design Automation I I-22
A Quadruple Whammy
[©Keutzer]
Time-to-market
Com
ple
xity
DS
M E
ffects
Heterogeneity
Fall 2006 EE 5301 - VLSI Design Automation I I-23
Productivitygap
Role of EDA: close the productivity gap
How Are We Doing?
[©Keutzer]
Source:SEMATECH
Pro
du
ctiv
ity
Tra
ns.
/ S
taff
. M
on
th
10
100
1,000
10,000
100,000
1,000,000
10,000,000
100,000,000
Tr./S.M
Log
ic t
ran
sist
ors
per
chip
(K
)
10
100
1,000
10,000
100,000
1,000,000
10,000,000
Logic
Tr./Chip
198
1
198
5
198
9
199
3
199
7
200
1
200
5
200
9
58% / Yr. compoundcomplexity growth rate
21% / Yr. compoundproductivity growth rate
Fall 2006 EE 5301 - VLSI Design Automation I I-24
Evolution of the EDA Industry
[©Keutzer]
Results(design productivity)
Effort(EDA tool effort)McKinsey S-Curve
Transistor entry – Calma, Computervision, Magic
Schematic entry – Daisy, Mentor, Valid
Synthesis – Cadence, Synopsys
What’s next?
Fall 2006 EE 5301 - VLSI Design Automation I I-25
IC Design Steps (cont.)
SpecificationsSpecifications High-levelDescriptionHigh-level
DescriptionFunctionalDescriptionFunctionalDescription
BehavioralVHDL, C
StructuralVHDL
Figs. [©Sherwani]
Fall 2006 EE 5301 - VLSI Design Automation I I-26
Packaging Fabri-cation
PhysicalDesign
TechnologyMapping
Synthesis
IC Design Steps (cont.)
SpecificationsSpecifications High-levelDescriptionHigh-level
DescriptionFunctionalDescriptionFunctionalDescription
Placed& RoutedDesign
Placed& RoutedDesign
X=(AB*CD)+ (A+D)+(A(B+C))Y = (A(B+C)+AC+ D+A(BC+D))
Figs. [©Sherwani]
Gate-levelDesign
Gate-levelDesign
LogicDescription
LogicDescription
Fall 2006 EE 5301 - VLSI Design Automation I I-27
The Big Picture: IC Design Methods
Full Custom
ASIC – StandardCell Design
Standard CellLibrary Design
RTL-Level Design
DesignMethods
Cost /Development
Time
Quality # Companiesinvolved
Fall 2006 EE 5301 - VLSI Design Automation I I-28
Optimization: Levels of Abstraction
• Algorithmic Encoding data, computation
scheduling, balancing delays of components, etc.
• Gate-level Reduce fan-out, capacitance Gate duplication, buffer
insertion
• Layout / Physical-Design Move cells/gates around to
shorten wires on critical paths
Abut rows to share power / ground lines
Eff
ecti
ven
ess
Level of
deta
il
Fall 2006 EE 5301 - VLSI Design Automation I I-29
Full Custom Design
Structural/RTL Description
Mem
Ctrl
Comp.Unit
RegFile
...
Layouts [© Prentice Hall]
Component Design
Floorplan [©Sherwani]
Place & Route
A/D
PLA
I/Ocomp
RAM
Fall 2006 EE 5301 - VLSI Design Automation I I-30
Full Custom Design Example
A/D
PLA I/O
comp
RAM
Metal1
Via
Metal2
I/O Pad
Glue logic(standard
cell design)
Macrocell
design
[©Sherwani]
Fall 2006 EE 5301 - VLSI Design Automation I I-31
ASIC DesignStructural/
RTL Description
Mem
Ctrl
Comp.Unit
RegFile
HDL Programming
P_Inp: process (Reset, Clock) begin if (Reset = '1') then sum <= ( others => '0' ); input_nums_read <= '0'; sum_ready <= '0';
P_Inp: process (Reset, Clock) begin if (Reset = '1') then sum <= ( others => '0' ); input_nums_read <= '0'; sum_ready <= '0';
add82 : kadd8 port map ( a => add_i1, b => add_i2, ci => carry, s => sum_o);Mult_i1 <= sum_o(7 downto 0);
add82 : kadd8 port map ( a => add_i1, b => add_i2, ci => carry, s => sum_o);Mult_i1 <= sum_o(7 downto 0);
Floorplan [©Sherwani]C D
A B
Cell library
D C C B
A C C
D C D B
BCCC
Fall 2006 EE 5301 - VLSI Design Automation I I-32
ASIC (Standard Cell) Design Example
D C C B
A C C
D C D B
BCCC
CellMetal1Metal2
GNDVDD
C D
A BCell library
Placement [©Sherwani]
Fall 2006 EE 5301 - VLSI Design Automation I I-33
Where Is This Course in the Big Picture?
• VLSI related courses:VLSI CAD VLSI Design Others
EE 4301Digital Design
With Programmable Logic
EE 5329VLSI Digital
Signal Processing Systems
EE 5333Analog
Integrated CircuitDesign
EE 5549Digital
Signal ProcessingStructures for VLSI
EE 5323VLSI Design I
EE 5324VLSI Design II
EE 5301VLSI DesignAutomation I
EE 5302VLSI Design
Automation II
Fall 2006 EE 5301 - VLSI Design Automation I I-34
Course Outline
• Basic algorithms and complexity theory Circuit representations Classes of problems (P, NP) Classes of algorithms (dynamic programming,
network flow, greedy, linear programming, etc.) Graph algorithms
• High-level synthesis Converting high-level languages to RTL Scheduling operations Allocating functional resources (adders,
multipliers, registers, etc.) Register minimization
Fall 2006 EE 5301 - VLSI Design Automation I I-35
Course Outline (cont.)
• Partitioning FM, KL, hMetis algorithms
• Floorplanning Slicing, non-slicing floorplans Simulated annealing floorplanning algorithms
• Placement / Packing Force-directed Simulated annealing Quadratic placement
• Global / detailed routing Maze routing, line-search, Steiner trees, channel
routing,