Beruflich Dokumente
Kultur Dokumente
Mustafa Ozdal
Chapter 1 – Introduction
Original Authors:
Andrew B. Kahng, Jens Lienig, Igor L. Markov, Jin Hu
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 2
Lienig
1.1 Electronic Design Automation (EDA)
© KLMH
Moore’s Law
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 3
Lienig
1.1 Electronic Design Automation (EDA)
© KLMH
Without the design technology
innovations between 1993 and
2007, the design cost of a chip
would have been $1800M
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 4
Lienig
1.1 Electronic Design Automation (EDA)
© KLMH
Time Period Circuit and Physical Design Process Advancements
1965 -1975 Layout editors, e.g., place and route tools, first developed for
printed circuit boards.
1975 -1985 More advanced tools for ICs and PCBs, with more sophisticated
algorithms.
1990 -2000 First over-the-cell routing, first 3D and multilayer placement and
routing techniques developed. Automated circuit synthesis and
routability-oriented design become dominant. Start of parallelizing
workloads. Emergence of physical synthesis.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 5
Lienig
1.2 VLSI Design Flow
© KLMH
System Specification
Goals and requirements:
Functionality, performance,
Architectural Design
ENTITY test is dimensions, etc.
port a: in bit;
end ENTITY test;
Functional Design
and Logic Design
Circuit Design
Physical Design
Physical Verification
DRC
LVS
and Signoff
ERC
Fabrication
Chip
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 6
Lienig
1.2 VLSI Design Flow
© KLMH
System Specification
Circuit Design
Physical Design
Physical Verification
DRC
LVS
and Signoff
ERC
Fabrication
Chip
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 7
Lienig
1.2 VLSI Design Flow
© KLMH
System Specification
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design Hardware description using
and Logic Design
RTL. Logic synthesis tools to
Circuit Design generate netlists.
Physical Design
Physical Verification
DRC
LVS
and Signoff
ERC
Fabrication
Chip
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 8
Lienig
1.2 VLSI Design Flow
© KLMH
System Specification
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design
and Logic Design
Physical Verification
DRC
LVS
and Signoff
ERC
Fabrication
Chip
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 9
Lienig
1.2 VLSI Design Flow
© KLMH
System Specification
Partitioning
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design Chip Planning
and Logic Design
Physical Design
Clock Tree Synthesis
Physical Verification
DRC and Signoff
LVS Signal Routing
ERC
Fabrication
Timing Closure
Chip
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 10
Lienig
Physical Design
E
A
B F
Netlist
Device layers
Chip Layers
- 11 -
1.2 VLSI Design Flow
© KLMH
System Specification
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design
and Logic Design
Circuit Design
Physical Design
Physical Verification
DRC
and Signoff
Design rule checking (DRC)
LVS
ERC Layout vs. schematic (LVS)
Fabrication Electrical rule checking (ERC)
Chip
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 12
Lienig
1.2 VLSI Design Flow
© KLMH
System Specification
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design
and Logic Design
Circuit Design
Physical Design
Physical Verification
DRC
LVS
and Signoff
ERC
Fabrication
Layout sent to a fab (tapeout).
Photomasks used to print the
Chip
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 13
Lienig
1.2 VLSI Design Flow
© KLMH
System Specification
Architectural Design
ENTITY test is
port a: in bit;
end ENTITY test;
Functional Design
and Logic Design
Circuit Design
Physical Design
Physical Verification
DRC
LVS
and Signoff
ERC
Fabrication
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 14
Lienig
VLSI Design Styles
Full-custom design
Direct transistor-level design
Max flexibility, few constraints
Potential to highly optimize, but high design cost
Critical and high-volume parts that will be replicated
Semi-custom design
Cell-based: Standard and macro cells
Many pre-designed elements in the libraries
Array-based: Configure the pre-fabricated elements
e.g. FPGA
CS 612 – Lecture 2 Mustafa Ozdal 15
Computer Engineering Department, Bilkent University
Cell Based Design
© KLMH
Common digital cells
IN1 IN2 OUT IN1 IN2 OUT IN OUT IN1 IN2 OUT IN1 IN2 OUT
0 0 0 0 0 0 0 1 0 0 1 0 0 1
1 0 0 1 0 1 1 0 1 0 1 1 0 0
0 1 0 0 1 1 1 0 0 1 1 0 1 0
1 1 1 1 1 1 1 1 1 1 0 1 1 0
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 16
Lienig
1.3 VLSI Design Styles Vdd Contact
Metal layer
© KLMH
Vdd IN2 Poly layer
IN2
IN1 OUT Diffusion layer
OUT
IN1 p-type
transistor
n-type
GND
transistor
GND
IN1
OUT
IN2
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 17
Lienig
1.3 VLSI Design Styles Vdd Contact
Metal layer
© KLMH
Vdd IN2 Poly layer
IN2
IN1 OUT Diffusion layer
OUT
IN1 p-type
transistor
n-type
GND
transistor
GND
IN1
OUT
IN2 Power (Vdd)-Rail
Ground (GND)-Rail
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 18
Lienig
Cell Placement
E
A
C D
B F Implementation on
device layers
available in cell library
(e.g. AND, OR,
NAND, NOR, INV,
etc.)
Cells arranged in
rows on metal1
Metal 1
Device layers
- 19 -
1.3 VLSI Design Styles
© KLMH
Standard cell layout with Standard cell layout using
a feedthrough cell over-the-cell (OTC routing
A A
VDD VDD
GND
A’ GND
A’
Lienig
Over-the-cell routing
a
o
a A o E
b
a
o a D o
C
b a
aB o o
F
All terminals on
b
metal1
Connect terminals
Metal5
using metal layers
Metal4
Metal3 Each layer is either
Metal2 horizontal or vertical
Metal1
- 21 -
Routing Between Two Pins
a
Metal3 C o a D o
b
Metal2
Metal3: vertical
Metal2: horizontal
Metal1: escape-only
o a
Metal1 D
o a b Interlayer
connection: “via”
C
- 22 -
Cell Based Design
© KLMH
Layout with macro cells
RAM
PLA
VDD
RAM
Standard Cell GND
Block
PLA
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 23
Lienig
Why Cell Based Design?
Optimization easier
© KLMH
After fabrication:
Each logic element can be configured to implement different functions
Each switchbox can be configured to change the connectivity
Logic Element
LB LB LB
Switchbox Connection
SB SB
LB LB LB
SB SB
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 25
Lienig
1.4. Design Rules
© KLMH
Categories of design rules
Size rules, such as minimum width: The dimensions of any component (shape),
e.g., length of a boundary edge or area of the shape, cannot be smaller than given
minimum values. These values vary across different metal layers.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 26
Lienig
1.4. Design Rules
© KLMH
Categories of design rules
a
c
Minimum Width: a
Minimum Separation: b, c, d
e Minimum Overlap: e
d
b
Lienig
1.5 Physical Design Optimizations
© KLMH
Types of constraints
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 28
Lienig
1.6 Algorithms and Complexity
© KLMH
Runtime complexity
Lienig
1.6 Algorithms and Complexity
© KLMH
Runtime complexity
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 30
Lienig
1.6 Algorithms and Complexity
© KLMH
Heuristic algorithms
Deterministic: All decisions made by the algorithm are repeatable, i.e., not
random. One example of a deterministic heuristic is A* shortest path algorithm.
Stochastic: Some decisions made by the algorithm are made randomly, e.g.,
using a pseudo-random number generator. Thus, two independent runs of the
algorithm will produce two different solutions with high probability. One example of a
stochastic algorithm is simulated annealing.
Constructive: The heuristic starts with an initial, incomplete (partial) solution and
adds components until a complete solution is obtained.
Iterative: The heuristic starts with a complete solution and repeatedly improves
the current solution until a preset termination criterion is reached.
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 31
Lienig
1.6 Algorithms and Complexity
© KLMH
Heuristic algorithms
Problem Instance
Constructive Algorithm
Initial Solution
Iterative Improvement
no
Termination
Criterion Met?
yes
Return Best-Seen Solution
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 32
Lienig
1.7 Graph Theory Terminology
© KLMH
Graph Hypergraph Multigraph
b b b
a e
f
a a
c d
e g f
d c c
Lienig
1.7 Graph Theory Terminology
© KLMH
Directed graphs with cycles Directed acyclic graph
c f c f
a a
a b
b d g b d g
e e
Lienig
1.7 Graph Theory Terminology
© KLMH
Undirected graph with maximum node degree 3 Directed tree
b a
a
f b c d
c
e g e f g h i j k
d
Lienig
1.7 Graph Theory Terminology
© KLMH
Rectilinear minimum spanning Rectilinear Steiner minimum
tree (RMST) tree (RSMT)
b (2,6) b (2,6)
Steiner point
c (6,4) c (6,4)
a (2,1) a (2,1)
Lienig
1.8 Common EDA Terminology
© KLMH
Netlist
© 2011 Springer
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 37
Lienig
1.8 Common EDA Terminology
© KLMH
Connectivity graph
a x a x
N3 N5
N1 N2 z c z c
N4
y
b b y
Lienig
1.8 Common EDA Terminology
© KLMH
Connectivity matrix
a b x y z c
a 0 0 1 1 0 0
b 0 0 1 1 0 0
a x
x 1 1 0 2 1 0
N3 N5
N1 N2 z c y 1 1 2 0 1 0
N4
z 0 0 1 1 0 1
y
b c 0 0 0 0 1 0
Lienig
1.8 Common EDA Terminology
© KLMH
Distance metric between two points P1 (x1,y1) and P2 (x2,y2)
d x2 x1 y2 y1
n n
n
n = 1: Manhattan distance d M ( P1 , P2 ) x2 x1 y2 y1
P1 (2,4) dM = 7
dE = 5
dM = 7 P2 (6,1)
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 1: Introduction 40
Lienig
Next Lecture: Netlist and System Partitioning
© KLMH
2.1 Introduction
2.2 Terminology
2.3 Optimization Goals
2.4 Partitioning Algorithms
2.4.1 Kernighan-Lin (KL) Algorithm
2.4.2 Extensions of the Kernighan-Lin Algorithm
2.4.3 Fiduccia-Mattheyses (FM) Algorithm
2.5 Framework for Multilevel Partitioning
2.5.1 Clustering
2.5.2 Multilevel Partitioning
2.6 System Partitioning onto Multiple FPGAs
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 2: Netlist and System Partitioning 41
Lienig