8/2/2019 Slicing and Non Slicing Floor Planning
1/22
SLICING AND NON SLICING
FLOORPLANNING
Submitted By:
Surabhi Singh
11534015 (M.E.V)1
8/2/2019 Slicing and Non Slicing Floor Planning
2/22
FLOORPLANNING
After the circuit partitioning phase, we need to assign a
specific shape to a block and arrange the blocks on the layout
surface and interconnect their pins according to the netlist.
The arrangement of blocks is done in two phases;
1. Floorplanning phase, which consists of planning and sizing of
blocks
2. Interconnect and the Placement phase, which assign a specific
location to blocks.
Floorplans are of 2 types:
1. Slicing floorplan
2. Non- Slicing floorplan
2
8/2/2019 Slicing and Non Slicing Floor Planning
3/22
A Slicing Tree and its Floorplan
A slicing floorplan is a floorplan which can be obtained by
recursively partitioning a rectangle into two parts either by a
vertical line or a horizontal line.
H: Horizontal node, V: Vertical node3
8/2/2019 Slicing and Non Slicing Floor Planning
4/22
A Non-Sliceable Floorplan
4
8/2/2019 Slicing and Non Slicing Floor Planning
5/22
Slicing floorplan
Stockmeyer Algorithm:It
determines the orientation of the blocks in
the floorplan so that the overall floorplan area is minimized
Steps:
1.For vertical internal node
Merge the first dimensions of the left child (wl, hl) and the right
child (wr, hr). The dimensions of the left and the right child are sorted so that the
width is increasing and the height is decreasing.
The resulting dimension is (wl + wr,max{hl, hr}).
Ifhl > hr, we merge the second dimension of the left child and the
first dimension of the right child. Ifhl < hr, we merge the first dimension of the left child and the
second dimension of the right child.
If hl = hr, we merge the second dimension of both the left and theright child.
5
8/2/2019 Slicing and Non Slicing Floor Planning
6/22
2.For horizontal node
The dimensions of the children are sorted so that the width is
decreasing and the height is increasing.
We merge the first dimensions of the left (wl, hl) and the
right child (wr,hr). The resulting dimension after the merging is (max{wl,wr}, hl
+ hr).
The way to choose the next merging candidate is the same as
in vertical cut.
6
8/2/2019 Slicing and Non Slicing Floor Planning
7/22
For example: Given a slicing floorplan in which (width,height) of the blocks 1 through 8 are {(2,4), (1,3), (3,3), (3,5),
(3,2), (5,3), (1,2), (2,4)}.
7
8/2/2019 Slicing and Non Slicing Floor Planning
8/22
Steps:
(a) Visit node a: Since the cut orientation is vertical;
L = {(2, 3), (3, 2)} ; {l1,l2}
R = {(2, 4), (4, 2)} ; {r1,r2}
(i) Join l1 = (2, 3) and r1 = (2, 4): we get (2 + 2,max{3, 4}) =(4, 4).
Since the maximum is from R, we join l1 and r2 next.
(ii) Join l1 = (2, 3) and r2 = (4, 2): we get (2 + 4,max{3, 2}) =(6, 3). Since the maximum is from L, we join l2 and r2 next.
(iii) Join l2 = (3, 2) and r2 = (4, 2): we get (3 + 4,max{2, 2}) =
(7, 2).
Thus, the resulting dimensions are {(4, 4), (6, 3), (7, 2)}.
8
8/2/2019 Slicing and Non Slicing Floor Planning
9/22
(b) Visit node b: Since the cut orientation is horizontal;
L = {(4, 2), (2, 4)}
R = {(3, 1), (1, 3)}(i) Join l1 = (4, 2) and r1 = (3, 1): we get (max{4, 3},2 + 1) =
(4, 3). Since the maximum is from L, we join l2 and r1 next.
(ii) Join l2 = (2, 4) and r1 = (3, 1): we get (max{2, 3},4 + 1) =
(3, 5). Since the maximum is from R, we join l2 and r2 next.
(iii) Join l2 = (2, 4) and r2 = (1, 3): we get (max{2, 1},4 + 3) =
(2, 7).
Thus, the resulting dimensions are {(4, 3), (3, 5), (2, 7)}.
9
8/2/2019 Slicing and Non Slicing Floor Planning
10/22
(c) Visit node c: Since the cut orientation is vertical;
L = {(4, 4), (6, 3), (7, 2)}
R = {(2, 7), (3, 5), (4, 3)}
(i) Join l1 = (4, 4) and r1 = (2, 7): we get (4 + 2,max{4, 7}) = (6, 7).
Since the maximum is from R, we join l1 and r2 next.
(ii) Join l1 = (4, 4) and r2 = (3, 5): we get (4 + 3,max{4, 5}) =
(7, 5). Since the maximum is from R, we join l1 and r3 next.
(iii) Join l1 = (4, 4) and r3 = (4, 3): we get (4 + 4,max{4, 3}) =
(8, 4). Since the maximum is from L, we join l2 and r3 next.
(iv) Join l2 = (6, 3) and r3 = (4, 3): we get (6 + 4,max{3, 3}) =(10, 3). Since the maximum is from R (and L), we reach the
end of R and thus terminate.
Thus, the resulting dimensions are {(6, 7), (7, 5), (8, 4), (10, 3)}.
10
8/2/2019 Slicing and Non Slicing Floor Planning
11/22
The bottom-up dimensions computation
11
8/2/2019 Slicing and Non Slicing Floor Planning
12/22
Computation of new dimensions
(a) Node g: we choose (13, 9) for this root node. This is from joining (3, 4)
and (13, 5). Thus, node e is (3, 4), and node f is (13, 5).
(b) Node e: we choose (3, 4), which is from joining (3, 3) and (2, 1). Thus,
the optimal orientation of block 3 is (3, 3), and block 7 is (2, 1).
(c) Node f: we choose (13, 5), which is from joining (10, 5) and (3, 5).
Thus, node d is (10, 5), and the optimal orientation of block 6 is (3, 5).(d) Node d: we choose (10, 5), which is from joining (7, 5) and (3, 5).
Thus, node c is (7, 5), and the optimal orientation of block 4 is (3, 5).
(e) Node c: we choose (7, 5), which is from joining (4, 4) and (3, 5). Thus,
node a is (4, 4), and node b is (3, 5).
(f) Node a: we choose (4, 4), which is from joining (2, 3) and (2, 4). Theoptimal orientation of block 5 is (2, 3), and block 1 is (2, 4).
(g) Node b: we choose (3, 5), which is from joining (2, 4) and (3, 1). The
optimal orientation of block 8 is (2, 4), and block 2 is (3, 1).
12
8/2/2019 Slicing and Non Slicing Floor Planning
13/22
Slicing floorplan before and after the
optimal rotation
13
8/2/2019 Slicing and Non Slicing Floor Planning
14/22
Normalized Polish Expression
Given a binary tree that represents a slicing floorplan of n
blocks, the polish expression of this tree is a string of length
2n 1 that consists of the block numbers and H (for horizontal
cut) and V (for vertical cut).The numbers in the expression are
called operands, and the H and V are called operators.
PROPERTIES:
(i) each block appears exactly once in the string
(ii) the number of operands is larger than the number of
operators at all positions in the string
(iii) there are no consecutive operators of the same type in the
string
14
8/2/2019 Slicing and Non Slicing Floor Planning
15/22
For example:
Consider the following polish expression:
PE1 = 25V 1H374V H6V 8VHThe (width, height) of the modules 1 through 8 are {(2,4), (1,3),(3,3), (3,5),(3,2), (5,3), (1,2), (2,4)}.
15
8/2/2019 Slicing and Non Slicing Floor Planning
16/22
STEP 1
(a) Visit node a: vertical merging of (1, 2) and (3, 5)results in (1 + 3,max{2, 5}) = (4, 5)
(b) Visit node b: horizontal merging of (3, 3) and (4, 5)results in (max{3, 4},3 +5) = (4, 8)
(c) Visit node c: vertical merging of (4, 8) and (5, 3) resultsin (9, 8).
(d) Visit node d: vertical merging of (9, 8) and (2, 4)results in (11, 8).
(e) Visit node e: vertical merging of (1, 3) and (3, 2)results in (4, 3).
(f) Visit nodef: horizontal merging of (4, 3) and (2, 4)results in (4, 7).
(g) Visit node g: horizontal merging of (4, 7) and (11, 8)results in (11, 15).
16
8/2/2019 Slicing and Non Slicing Floor Planning
17/22
Floorplans after M1, M2 and M3 move
17
8/2/2019 Slicing and Non Slicing Floor Planning
18/22
Non slicing floorplan Sequence Pair Representation Given a non-slicing
floorplan of n modules,the sequence pair is a pair of module namesequences that contains all the information about which subset ofmodules is above, below, to the right of, and to the left of a givenmodule.
FOR EXAMPLE: Consider the following sequence pair SP1 =(17452638, 84725361). The (width, height) of the modules 1through 8 are {(2,4), (1,3), (3,3), (3,5), (3,2),(5,3), (1,2), (2,4)}.
18
8/2/2019 Slicing and Non Slicing Floor Planning
19/22
1. Draw the horizontal and vertical constraint graphs.
(c)
19
8/2/2019 Slicing and Non Slicing Floor Planning
20/22
2. What is the minimum area of the non-slicing floorplan?
The width of the floorplan is 11 from the HCG, and the height is 15
from the VCG. Thus, the floorplan area is 11 15 = 165.
20
8/2/2019 Slicing and Non Slicing Floor Planning
21/22
Non-slicing floorplan based on SP1.
21
8/2/2019 Slicing and Non Slicing Floor Planning
22/22
Thank you
22