Floorplan Sizing 1
Dec 14, 2015
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
3.5.1Floorplan Sizing
Shape functions
Legal shapes
w
h
w
h
Block with minimum width and height restrictions
ha*aw A Ott
en, R
.: E
ffic
ien
t F
loor
pla
n O
pti
miz
atio
n. I
nt.
Con
f. o
n C
omp
ute
r D
esig
n, 4
99-5
02, 1
983
Legal shapes
4
3.5.1Floorplan Sizing
Shape functions
w
h
Hard library block Ott
en, R
.: E
ffic
ien
t F
loor
pla
n O
pti
miz
atio
n. I
nt.
Con
f. o
n C
omp
ute
r D
esig
n, 4
99-5
02, 1
983
w
h
Discrete (h,w) values
Floorplan Sizing• Algorithm:
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
8
4
2
2
4Block B:
Block A :5
5
3
3
Step 1: Construct the shape functions of the blocks
3.5.1Floorplan Sizing – Example
9
4
2
2
4Block B:
Block A :5
5
3
3
3.5.1Floorplan Sizing – Example
2
4
h
6
w2 64
5
3
Step 1: Construct the shape functions of the blocks
10
4
2
2
4Block B:
Block A :5
5
3
3
3.5.1Floorplan Sizing – Example
2
4
h
w2 64
6
3
5
Step 1: Construct the shape functions of the blocks
11
4
2
2
4Block B:
Block A :5
5
3
3
w2 6
2
4
h
4
6
hA(w)
3.5.1Floorplan Sizing – Example
Step 1: Construct the shape functions of the blocks
12
4
2
2
4Block B:
Block A :5
5
3
3
hB(w)
w2 6
2
4
h
4
6
hA(w)
3.5.1Floorplan Sizing – Example
Step 1: Construct the shape functions of the blocks
13
w2 6
2
4
h
4
6
hB(w)hA(w)
8
3.5.1Floorplan Sizing – Example
Step 2: Determine the shape function of the top-level floorplan (vertical)
14
w2 6
2
4
h
4
6
hB(w)hA(w)
8
3.5.1Floorplan Sizing – Example
Step 2: Determine the shape function of the top-level floorplan (vertical)
15
w2 6
2
4
h
4
6
w2 6
2
4
h
4
6
hB(w)hA(w)
hB(w)hA(w)
hC(w)
88
3.5.1Floorplan Sizing – Example
Step 2: Determine the shape function of the top-level floorplan (vertical)
16
w2 6
2
4
h
4
6
w2 6
2
4
h
4
6
hB(w)hA(w)
hB(w)hA(w)
hC(w)
5 x 5
88
3.5.1Floorplan Sizing – Example
Step 2: Determine the shape function of the top-level floorplan (vertical)
17
w2 6
2
4
h
4
6
w2 6
2
4
h
4
6
hB(w)hA(w)
hB(w)hA(w)
hC(w)
3 x 9
4 x 7
5 x 5
88
3.5.1Floorplan Sizing – Example
Step 2: Determine the shape function of the top-level floorplan (vertical)
18
w2 6
2
4
h
4
6
w2 6
2
4
h
4
6
hB(w)hA(w)
hB(w)hA(w)
hC(w)
3 x 9
4 x 7
5 x 5
88
Minimimum top-level floorplan
with vertical composition
3.5.1Floorplan Sizing – Example
Step 2: Determine the shape function of the top-level floorplan (vertical)
19
w2 6
2
4
h
4
6
w2 6
2
4
h
4
6
hA(w)hB(w) hC(w)hA(w)hB(w)
9 x 3
7 x 4
5 x 5
88
3.5.1Floorplan Sizing – Example
Minimimum top-level floorplan with horizontal composition
Step 2: Determine the shape function of the top-level floorplan (vertical)
20
3.5.1Floorplan Sizing – Example
Step 3: Find the individual blocks’ dimensions and locations
w2 6
2
4
h
4
6
8
(1 )Minimum area floorplan: 5 x 5
Horizontal composition
21
w2 6
2
4
h
4
6
(1 )Minimum area floorplan: 5 x 5
(2 )Derived block dimensions : 2 x 4 and 3 x 5
8
3.5.1Floorplan Sizing – Example
Step 3: Find the individual blocks’ dimensions and locations
Horizontal composition
22
2 x 4 3 x 5
5 x 5
3.5.1Floorplan Sizing – Example
Step 3: Find the individual blocks’ dimensions and locations
w2 6
2
4
h
4
6
(1 )Minimum area floorplan: 5 x 5
(2 )Derived block dimensions : 2 x 4 and 3 x 5
8
Horizontal composition
24
DeFer:Deferred Decision Making Enabled
Fixed-Outline Floorplanner
DAC 2008
Jackey Z. Yan Chris Chu
26
Constraints of Ordinary Slicing Tree
A
B
C
EDHH
V
BA C V
D E
• Block orientation
• Slice line direction (H/V)• Left-right or top-bottom relative order
27
DDM in Shape/Orientation Defer the decision for subfloorplan (i.e., block) orientation until
the end
HH
V
BA C V
D E
Pick any point!
Fixed-outlineregion
A
B
C
ED
H
W
A
A
28
DDM in Relative Order The relative order (left-right / top-down) between
subfloorplans does not affect the shape curves
A B
V
BA A
V
ABB
Same shape curve
Decision on subfloorplan relative order will be made at the end to minimize HPWL
H
W
ABVH
W
BAV
V
BA
V
BA
V
B Aand
29
DDM in Slice Line Direction Two combine operators in ordinary slicing tree
AB
H
BA
A B
V
BA
AB
H
BA
A B
V
BABAand
Generalized combine operator
30
Floorplans by Generalized Slicing Tree
A B
• Block orientation
A B
A B
A BA B
AB
AB
ABAB
A
B
A
BA
BA
B
A
B
A
BA
BA
B
• Slice line direction• Left-right or top-bottom relative order
Deferred Decision Making (DDM)
31
Shape Curve Operation for
H
W
A B
)i ( Addition
Ch
Cv
)iii ( Merging
H
W
W=H
Cv
C
A B
CA B C
Ch
)ii ( Flipping
H
W
W=HCh
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
33
w
h
w
h
w
h
a a a
b bc
Growth direction
2
4
6
4
6
4
©20
11
Spr
inge
r V
erla
g
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
34
w
h
w
h
w
h
a a a
b bc
Growth direction
2
4
6
4
6
4
©20
11
Spr
inge
r V
erla
g
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 partially-constructed 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
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: (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
Growth direction