Lecture 1.VLSI CAD Introduction_web

advertisement
Lecture 1
VLSI CAD Overview:
Design, Flows, Algorithms and Tools
048918
VLSI Backend CAD
Konstantin Moiseev – Intel Corp. & Technion
Shmuel Wimer – Bar Ilan Univ. & Technion
March 2013
Credits:
David Pan – Univ. of Texas Austin
Maciej Ciesielski - UMASS
Andrew Kahng – UCSD
Hai Zhou – Northwestern Univ.
Kia Bazargan – Univ. of Minnesota
Avinoam Kolodny - Technion
1
Administration
• Lecturers:
– Konstantin Moiseev konstantin.moiseev@intel.com
– Shmuel Wimer wimer@ee.technion.ac.il
• Schedule:
– Mayer 351, Thursdays 16:30 – 18:30
• Course grade:
– 20% participation in lectures
– 40% programming exercise
– 40% home examination
• Web page:
– http://moodle.technion.ac.il/course/view.php?id=3186
• guest access is enabled
Course outline
• VLSI design flow overview
• Introduction to algorithms and optimization
• Backend CAD optimization problems:
–
–
–
–
–
Design partitioning
Technology mapping
Floorplanning
Placement
Routing
• Introduction to layout
• Layout optimization and verification
– Layout analysis
– DRC and LVS checks
– Finding objects in the layout
We are here
Design Factors and Styles
March 2013
4
The Big Picture: IC Design Methods
Design
Methods
Cost /
Development
Time
Quality
# Companies
involved
Full Custom
Standard Cell
Library Design
ASIC – Standard
Cell Design
RTL-Level Design
March 2013
5
Optimization: Levels of Abstraction
• Algorithmic
– Reduce fan-out, capacitance
– Buffer insertion
• Layout / Physical-Design
– Move cells/gates around to shorten
wires on critical paths
– Abut rows to share power / ground
lines
– Spacing
March 2013
Level of detail
• Gate-level
Effectiveness
– Encoding data, computation
scheduling, balancing delays of
components, etc.
6
Full Custom
March 2013
7
Full Custom
March 2013
8
Standard Cell (Semi Custom)
March 2013
9
Cell-Based Design (Standard Cells)
Rows of cells
Feedthrough cell
March 2013
Logic cell
Routing
channel
Functional
module
(RAM,
multiplier, …)
Routing channel
requirements are
reduced by presence
of more interconnect
layers
10
FPGA: Lookup Table (LUT)
• Look-up Table
– Truth table implemented in hardware
– Can implement arbitrary function with fixed number of inputs (typically
4-5) by programming the storage bits (customizing the truth table)
Programming bit P
1
0
0
1
2-Input LUT
0/1
0/1
F
0/1
0/1
F = x1’x2’ + x1x2
x1 x2
F
0
0
1
1
1
0
0
1
0
1
0
1
x1 x2
March 2013
11
FPGA: Logic Element
• Logic Element: the basic programmable element of FPGA
– Contains LUT
• Programming is a domain of specialized technology
mapping onto device specific structure
Inputs
Clock
Look-Up
Table
(LUT)
Out
State
Enable
March 2013
12
FPGA: Architecture
Tracks
Logic Element
LE
LE
LE
LE
LE
LE
LE
LE
LE
LE
LE
LE
Each programmable logic element outputs one data bit
Interconnects are also programmable
A domain of physical synthesis (place and route)
March 2013
13
FPGA: Architecture
March 2013
14
Comparison of Design Styles
style
full-custom
standard cell
gate array
FPGA
cell size
variable
fixed height *
fixed
fixed
cell type
variable
variable
fixed
cell placement
variable
in row
fixed
fixed
interconnections
variable
variable
variable
programmable
March 2013
programmable
15
Comparison of Design Styles
style
full-custom
standard cell
gate array
FPGA
moderate
large
moderate
low
routing
layers
none
compact
Area
compact
Performance
high
high
to moderate
Fabrication
layers
ALL
ALL
March 2013
to moderate
16
Comparison of Design Styles
March 2013
17
Design Styles Tradeoffs
March 2013
18
The Inverted Pyramid (~2000)
Electronic Systems > $1 Trillion
Semiconductor > $220 B
CAD $3 B
March 2013
19
Moore’s law
• Moore’s law – exponential growth in complexity
1 billion
transistors
The infamous design productivity gap
Data explosion and productivity
Evolution of the EDA Industry
What’s next?
Results
(design productivity)
Synthesis – Cadence, Synopsys
Schematic entry – Daisy, Mentor, Valid
Transistor entry – Calma, Computervision, Magic
Effort (EDA tool effort)
March 2013
23
History of VLSI Layout Tools
Year
1950 - 1965
March 2013
Design Tools
Manual Design
1965 - 1975
Layout editors
Automatic routers( for PCB)
Efficient partitioning algorithm
1975 - 1985
Automatic placement tools
Well Defined phases of design of circuits
Significant theoretical development in all phases
1985 – 1995
Performance driven placement and routing tools
Parallel algorithms for physical design
Significant development in underlying graph theory
Combinatorial optimization problems for layout
1995 – 2002
Interconnect layout optimization, Interconnectcentric design, physical-logical codesign
2002 - present
Physical synthesis with more vertical integration
for design closure (timing, noise, power, P/G/clock,
manufacturability)
24
Synthesis and Design Process (High Level)
• Application (graphics, DSP, general processor)
• Algorithm (Z-buffer, FFT)
• Architecture (pipeline, cash sharing, parallelism)
• High level synthesis
• Logic and physical synthesis
March 2013
25
Synthesis Flow at Logic Level
a multi-stage process
Specification
Logic Extraction
module example(clk, a, b, c, d, f, g, h)
Technology-Independent
Optimization
clk, a, b, c, d, e, f;
ainput
reg g, h;
Mapping
boutput g,a h;Technology-Dependent
h
g1
always
@(posedge
clk)
begin
e
0 Synthesis
Physical
G
g = a | b; g0
fbif (d) begin
g
if (c) h = a&~h;
G
h5
else h = b;
dc
if (f) g = c; else a^b;
h3
b end else
g
H
ed
if (c) h = 1; else h ^b;
h
H
a
f end
h1
endmodule
ce
c
clk
d
f
clk
March 2013
26
VLSI Design Flow
System Specification
Partitioning
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design
and Logic Design
Chip Planning
Circuit Design
Placement
Physical Design
DRC
LVS
ERC
Physical Verification
and Signoff
Clock Tree Synthesis
Signal Routing
Fabrication
Timing Closure
Packaging and Testing
Chip
March 2013
27
Physical Design Steps
•
•
•
•
•
•
Circuit partitioning
Floorplanning
Pin assignment
Placement
Routing
Convergence
March 2013
28
Partitioning
System Specification
Partitioning
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design
and Logic Design
Chip Planning
Circuit Design
Placement
Physical Design
DRC
LVS
ERC
Physical Verification
and Signoff
Clock Tree Synthesis
Signal Routing
Fabrication
Timing Closure
Packaging and Testing
Chip
29
Partitioning
Circuit:
1
3
Cut cb
2
7
8
4
6
5
Cut ca
Block A
8
7
Block B
Block A
3
4
1
6
5
2
Cut ca: four external connections
30
8
7
Block B
5
4
1
6
3
2
Cut cb: two external connections
Partitioning - optimization Goals
• In detail, what are the optimization goals?
–Number of connections between partitions is minimized
–Each partition meets all design constraints (size, number
of external connections..)
–Balance every partition as well as possible
• How can we meet these goals?
–Unfortunately, this problem is NP-hard
–Efficient heuristics are developed in the 1970s and 1980s.
They are high quality and in low-order polynomial time.
31
31
Floorplanning
System Specification
Partitioning
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design
and Logic Design
Chip Planning
Circuit Design
Placement
Physical Design
DRC
LVS
ERC
Physical Verification
and Signoff
Clock Tree Synthesis
Signal Routing
Fabrication
Timing Closure
Packaging and Testing
Chip
32
Floorplanning
I/O Pads
Floorplan
Module a
Module b
Block c
Block a
Module c
Chip
Planning
Module d
GND
Block Pins
Block
b
Block d
VDD
Block e
Supply Network
33
© 2011 Springer Verlag
Module e
Floorplanning
Example
Given: Three blocks with the following potential widths and heights
Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2
Block B: w = 1, h = 2 or w = 2, h = 1
Block C: w = 1, h = 3 or w = 3, h = 1
Task: Floorplan with minimum total area enclosed
C
B
A
B
A
A
34
C
Floorplanning
Example
Given: Three blocks with the following potential widths and heights
Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2
Block B: w = 1, h = 2 or w = 2, h = 1
Block C: w = 1, h = 3 or w = 3, h = 1
Task: Floorplan with minimum total area enclosed
35
Floorplanning
Example
Given: Three blocks with the following potential widths and heights
Block A: w = 1, h = 4 or w = 4, h = 1 or w = 2, h = 2
Block B: w = 1, h = 2 or w = 2, h = 1
Block C: w = 1, h = 3 or w = 3, h = 1
Task: Floorplan with minimum total area enclosed
Solution:
Aspect ratios
Block A with w = 2, h = 2; Block B with w = 2, h = 1; Block C with w = 1, h = 3
This floorplan has a global bounding box with minimum possible area (9 square units).
36
Pin Assignment
During pin assignment, all nets (signals) are assigned to unique pin locations
such that the overall design performance is optimized.
90 Pins
Pin
Assignment
90 Pins
90 Pins
37
90 Pins
© 2011 Springer Verlag
90 Connections
Pin Assignment – Example
Determine the circles
Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards
Given: Two sets of pins
38
Pin Assignment – Example
Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards
Best mapping (shortest Euclidean distance)
39
Koren, N. L.: Pin Assignment in Automated Printed Circuit Boards
Pin Assignment – Example
Best mapping
40
Final pin assignment
Pin Assignment – Example
Given: Two sets of pins
41
Final pin assignment
Placement
System Specification
Partitioning
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design
and Logic Design
Chip Planning
Circuit Design
Placement
Physical Design
DRC
LVS
ERC
Physical Verification
and Signoff
Clock Tree Synthesis
Signal Routing
Fabrication
Timing Closure
Packaging and Testing
Chip
42
Placement
Linear Placement
c
b
g
d
e
g
f
d
c
2D Placement
43
c
b
VDD
h
e
g
f
g
h
d
f
e
f
e
h
a
h
d
a
a
b
GND
c
b
Placement and Routing with Standard Cells
© 2011 Springer Verlag
a
Placement
Global
Placement
44
Detailed
Placement
Placement Optimization Objectives
Number of
Cut Nets
Wire Congestion
Signal
Delay
© 2011 Springer Verlag
Total
Wirelength
45
Routing
System Specification
Partitioning
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design
and Logic Design
Chip Planning
Circuit Design
Placement
Physical Design
DRC
LVS
ERC
Physical Verification
and Signoff
Clock Tree Synthesis
Signal Routing
Fabrication
Timing Closure
Packaging and Testing
Chip
46
Routing
Given a placement, a netlist and technology
information,
• determine the necessary wiring, e.g., net
topologies and specific routing segments, to
connect these cells
• while respecting constraints, e.g., design rules
and routing resource capacities, and
• optimizing routing objectives, e.g., minimizing
total wirelength and maximizing timing slack.
47
Routing
Placement result
Netlist:
N1 = {C4, D6, B3}
N2 = {D4, B4, C1, A4}
N3 = {C2, D5}
N4 = {B1, A1, C3}
3
4
C
1
A
1
2
4
5
4
1
Technology Information
(Design Rules)
48
B
3
4
D
6
Routing
Netlist:
N1 = {C4, D6, B3}
N2 = {D4, B4, C1, A4}
N3 = {C2, D5}
N4 = {B1, A1, C3}
3
4
C
1
1
A
2
4
N1
1
Technology Information
(Design Rules)
49
B
3
4
4
5
D
6
Routing
Netlist:
N1 = {C4, D6, B3}
N2 = {D4, B4, C1, A4}
N3 = {C2, D5}
N4 = {B1, A1, C3}
3
4
C
1
1
A
2
4
N4
N2
1
Technology Information
(Design Rules)
50
B
N3
N1
3
4
4
5
D
6
The Design Closure Problem
Iterative removal of timing violations (white lines)
March 2013
51
Download