EDA\15-2- floor sizing-FP2

advertisement
Floorplan Sizing
1
Floorplanning Algorithms
• Common Goals
 To minimize the total length of interconnect, subject to
an upper bound on the floorplan area
• or
 To simultaneously optimize both wire length and area
2
3.5.1 Floorplan Sizing
h
h
Legal shapes
w
h*w  A
a
a
Otten, R.: Efficient Floorplan Optimization. Int. Conf. on Computer Design, 499-502, 1983
Shape functions
Legal shapes
w
Block with minimum width and
height restrictions
3
h
h
w
Discrete (h,w) values
w
Hard library block
Otten, R.: Efficient Floorplan Optimization. Int. Conf. on Computer Design, 499-502, 1983
3.5.1 Floorplan Sizing
Shape functions
4
3.5.1 Floorplan Sizing
Corner points
h
5
5
2
2
2
5
w
2
5
5
Slicing Floorplan Sizing
6
‫مرتض ي صاحب الزماني‬
• Algorithm:
Floorplan Sizing
 finds the minimum floorplan area for a given slicing
floorplan in polynomial time.
 For non-slicing floorplans, the problem is NP-hard.
 Construct the shape functions of all individual blocks
• Bottom up:
 Determine the shape function of the top-level floorplan
from the shape functions of the individual blocks
• Top down:
 From the corner point (minimum top-level floorplan
area), trace back to each block’s shape function
− Find that block’s dimensions and location
7
3.5.1 Floorplan Sizing – Example
Step 1: Construct the shape functions of the blocks
3
Block A:
5
5
3
Block B:
4
2
2
4
8
3.5.1 Floorplan Sizing – Example
Step 1: Construct the shape functions of the blocks
h
3
Block A:
5
5
3
6
5
4
Block B:
4
2
2
2
4
2
3 4
6
w
9
3.5.1 Floorplan Sizing – Example
Step 1: Construct the shape functions of the blocks
h
3
Block A:
5
5
3
6
4
3
2
Block B:
4
2
2
4
2
4 5 6
w
10
3.5.1 Floorplan Sizing – Example
Step 1: Construct the shape functions of the blocks
h
3
Block A:
5
5
3
6
4
Block B:
4
hA(w)
2
2
2
4
2
4
6
w
11
3.5.1 Floorplan Sizing – Example
Step 1: Construct the shape functions of the blocks
h
3
Block A:
5
5
3
6
4
Block B:
4
hA(w)
hB(w)
2
2
2
4
2
4
6
w
12
3.5.1 Floorplan Sizing – Example
Step 2: Determine the shape function of the toplevel floorplan (vertical)
h
8
6
4
hA(w)
hB(w)
2
2
4
6
w
13
3.5.1 Floorplan Sizing – Example
Step 2: Determine the shape function of the toplevel floorplan (vertical)
h
8
6
4
hA(w)
hB(w)
2
2
4
6
w
14
3.5.1 Floorplan Sizing – Example
Step 2: Determine the shape function of the toplevel floorplan (vertical)
h
h
8
8
6
6
4
4
hA(w)
hB(w)
2
2
4
6
w
hC(w)
hA(w)
hB(w)
2
2
4
6
w
15
3.5.1 Floorplan Sizing – Example
Step 2: Determine the shape function of the toplevel floorplan (vertical)
h
h
8
8
6
6
4
4
hA(w)
hB(w)
2
2
4
6
w
hC(w)
hA(w)
hB(w)
2
2
4
6
5x5
w
16
3.5.1 Floorplan Sizing – Example
Step 2: Determine the shape function of the toplevel floorplan (vertical)
3x9
h
h
8
8
6
6
4
4
hA(w)
hB(w)
2
2
4
6
w
4x7
hC(w)
hA(w)
hB(w)
2
2
4
6
5x5
w
17
3.5.1 Floorplan Sizing – Example
Step 2: Determine the shape function of the toplevel floorplan (vertical)
3x9
h
h
8
8
6
6
4
4
hA(w)
hB(w)
2
2
4
6
w
4x7
hC(w)
hA(w)
hB(w)
2
2
4
6
5x5
w
Minimimum top-level floorplan
with vertical composition
18
3.5.1 Floorplan Sizing – Example
Step 2: Determine the shape function of the toplevel floorplan (vertical)
hB(w) hA(w) hC(w)
hB(w) hA(w)
h
h
5x5
6
6
4
4
2
2
2
4
6
8
w
7x4
2
4
6
8
w
9x3
Minimimum top-level floorplan with horizontal
composition
19
3.5.1 Floorplan Sizing – Example
Step 3: Find the individual blocks’ dimensions and
locations
h
(1) Minimum area floorplan: 5 x 5
6
4
2
2
4
6
8
w
Horizontal composition
20
3.5.1 Floorplan Sizing – Example
Step 3: Find the individual blocks’ dimensions and
locations
h
(1) Minimum area floorplan: 5 x 5
6
4
2
(2) Derived block dimensions : 2 x 4 and 3 x 5
2
4
6
8
w
Horizontal composition
21
3.5.1 Floorplan Sizing – Example
Step 3: Find the individual blocks’ dimensions and
locations
h
(1) Minimum area floorplan: 5 x 5
5x5
6
4
2
(2) Derived block dimensions : 2 x 4 and 3 x 5
2
4
6
8
Horizontal composition
w
2x4 3x5
22
3.5.1 Floorplan Sizing – Example
5x5
V
Resulting slicing tree
B
B
A
A
2x4 3x5
23
DeFer:
Deferred Decision Making Enabled
Fixed-Outline Floorplanner
Jackey Z. Yan
Chris Chu
DAC 2008
24
Fixed-Outline Floorplanning
25
Constraints of Ordinary Slicing Tree
V
B
A
D
H
H
B
C
E
A
V
C
D
E
• Block orientation
• Slice line direction (H/V)
• Left-right or top-bottom relative order
26
DDM in Shape/Orientation
 Defer the decision for subfloorplan (i.e., block) orientation until
the end
Pick any
point!
B
E
D
A
Fixed-outline
region
C
V
H
H
H
A
A
B
C
V
A
W
D
E
27
DDM in Relative Order
 The relative order (left-right / top-down) between
subfloorplans does not affect the shape curves
H
ABV
V
A
H
V
B A
A B
B
BAV
B
A
W
W
Same shape curve
V
A
V
B
A
V
and
B
B
A
 Decision on subfloorplan relative order will be made
at the end to minimize HPWL
28
DDM in Slice Line Direction
 Two combine operators in ordinary slicing tree
V
A
H
B
A
B
B
A
A B
 Generalized combine operator
H
V
and
A
B
A
A B
B
A
B
B
A
29
Floorplans by Generalized Slicing Tree
B
A
B A
B
A
B
A B
B
A
A
A
A
A
B
B
A
B
B
B
BA AB
A
• Left-right or top-bottom
relative order
B
B B
AA
A
• Slice line direction
A
• Block orientation
B
Deferred Decision Making (DDM)
30
Shape Curve Operation for
C
A
A
B
C
B
H
H
Ch
Ch
B
A
W=H
Cv
W
( i ) Addition
W
( ii ) Flipping
H
C
Ch
W=H
Cv
W
( iii ) Merging
31
DeFer
 Binary and source code in
− http://www.public.iastate.edu/~zijunyan/
32
• Cluster growth:
Cluster Growth
 Iteratively add blocks to the cluster until all blocks are
assigned
− Merged either horizontally, vertically, or
diagonally with the cluster.
 Only the different orientations of the blocks (instead of
the shape/aspect ratio) are taken into account
h
h
h
Growth
direction
b
6
2
a
a
w
4
c
6
a
w
4
w
4
33
© 2011 Springer Verlag
b
• Cluster growth:
Cluster Growth
 Blocks b and c are placed so that the increase to the
floorplan’s dimensions is minimum.
• Linear ordering
 to minimize total wirelength of connections between
blocks
h
h
h
Growth
direction
b
6
2
a
a
w
4
c
6
a
w
4
w
4
34
© 2011 Springer Verlag
b
Linear Ordering
• Linear-ordering algorithms
 often invoked to produce initial placement solutions for
iterative-improvement placement algorithms.
• Linear-ordering objective:
 Arrange blocks in a single row so as to minimum total
wirelength of connections
 Initial block:
− Either randomly
− Or based on number of connections to others
35
Linear Ordering
• Categories of nets for a block:
 Terminating nets:
− have no other incident blocks that are
unplaced.
 New nets
− have no pins on any block from the partiallyconstructed ordering.
 Continuing nets
− have at least one pin on a block from the
partially-constructed ordering and at least one
pin on an unordered block.
36
Linear Ordering
Terminating nets
New nets
…
Continuing nets
37
Cluster Growth Example
• cluster growth.ppt
38
Cluster Growth Example
• Given:
(1) blocks a-e
(2) linear ordering <a b d e c>.
• a:
 (wa = 2, ha = 3) or (wa = 3, ha = 2)
• b:
Growth
direction
 (wb = 2, hb = 1) or (wb = 1, hb = 2)
• c:
 (wc = 2, hc = 4) or (wc = 4, hc = 2)
• d:
 (wd = 3, hd = 3)
• e:
 (we = 6, he = 1) or (we = 1, he = 6)
• Task:
 find a floorplan with minimum global bounding box area.
39
Cluster Growth Example
40
Cluster Growth Example
41
Download