# SLICING AND NON SLICING FLOORPLANNING

Submitted By: Surabhi Singh 11534015 (M.E.V)
1

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

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 node 3 .

A Non-Sliceable Floorplan 4 .

we merge the second dimension of the left child and the first dimension of the right child. we merge the second dimension of both the left and the right child. we merge the first dimension of the left child and the second dimension of the right child. hr). • The resulting dimension is (wl + wr.max{hl. hl) and the right child (wr.Slicing floorplan Stockmeyer Algorithm:It determines the orientation of the blocks in the floorplan so that the overall floorplan area is minimized Steps: 1. hr}). • If hl = hr. 5 . • If hl < hr.For vertical internal node • Merge the first dimensions of the left child (wl. • If hl > hr. • The dimensions of the left and the right child are sorted so that the width is increasing and the height is decreasing.

hl + hr). • The resulting dimension after the merging is (max{wl.hr). hl) and the right child (wr.2.For horizontal node • The dimensions of the children are sorted so that the width is decreasing and the height is increasing.wr}. 6 . • We merge the first dimensions of the left (wl. • The way to choose the next merging candidate is the same as in vertical cut.

7 .5).3). (3. (1.3).4)}. height) of the blocks 1 through 8 are {(2. (1. (5.2). (2.3).2). (3.• For example: Given a slicing floorplan in which (width. (3.4).

2)}. {l1.Steps: (a) Visit node a: Since the cut orientation is vertical. (4. 2) and r2 = (4.max{3. L = {(2. 8 . 4}) =(4. we join l1 and r2 next. 4). (iii) Join l2 = (3. the resulting dimensions are {(4. 3). 2)} . (6. we join l2 and r2 next. 3). 4). (ii) Join l1 = (2. (7. (3. Thus. 2): we get (3 + 4. 4): we get (2 + 2. 3) and r2 = (4.max{2. {r1. 2}) = (6. 2)} . 2}) = (7. 2): we get (2 + 4. 3). 3) and r1 = (2.r2} (i) Join l1 = (2.max{3. Since the maximum is from L. Since the maximum is from R.l2} R = {(2. 2). 4).

the resulting dimensions are {(4. (2. 4) and r1 = (3. 4)} R = {(3. 7).4 + 1) = (3. we join l2 and r2 next. 2). 3}. L = {(4. 3}. (1. 5). 2) and r1 = (3. 1}. (3. we join l2 and r1 next. (2. Since the maximum is from L. 1): we get (max{4. 3): we get (max{2. Since the maximum is from R. 1).4 + 3) = (2. 9 . 3)} (i) Join l1 = (4.2 + 1) = (4. 1): we get (max{2. 4) and r2 = (1. 5). (ii) Join l2 = (2. 3). 3). (iii) Join l2 = (2.(b) Visit node b: Since the cut orientation is horizontal. 7)}. Thus.

max{3.(c) Visit node c: Since the cut orientation is vertical. (8. Since the maximum is from R (and L). 5}) = (7. (7. 3}) = (8. 3): we get (6 + 4.max{4. we reach the end of R and thus terminate. L = {(4. 7). 5): we get (4 + 3. 4). Since the maximum is from L. 4) and r1 = (2. 3) and r3 = (4. 7}) = (6. 3}) = (10. we join l2 and r3 next. 4) and r3 = (4. we join l1 and r3 next. 7).max{4. we join l1 and r2 next. the resulting dimensions are {(6. 3)} (i) Join l1 = (4. (ii) Join l1 = (4. 7). 5).max{4. 3). 7): we get (4 + 2. 2)} R = {(2. 5). 4). Since the maximum is from R. Thus. 3)}. (iv) Join l2 = (6. (iii) Join l1 = (4. (7. 3): we get (4 + 4. (3. 4). 3). (6. 4) and r2 = (3. 10 . 5). (4. (10. Since the maximum is from R.

The bottom-up dimensions computation 11 .

5). (f) Node a: we choose (4. 3) and (2. The optimal orientation of block 5 is (2. 4). 5) and (3. 1). (b) Node e: we choose (3. 5). 5). (g) Node b: we choose (3. Thus. 4) and (13. This is from joining (3. node e is (3. which is from joining (10. 9) for this root node. 4) and (3. (c) Node f: we choose (13. 3) and (2. Thus. which is from joining (2. 5).Computation of new dimensions (a) Node g: we choose (13. the optimal orientation of block 3 is (3. Thus. and the optimal orientation of block 4 is (3. The optimal orientation of block 8 is (2. and block 2 is (3. which is from joining (2. 4). 5). 5). and node f is (13. 4). 5). 1). 4). (e) Node c: we choose (7. and block 1 is (2. 3). node a is (4. 5). node c is (7. and node b is (3. 5) and (3. 5). node d is (10. 3). which is from joining (7. 4). Thus. and the optimal orientation of block 6 is (3. which is from joining (3. 5). 4). 5). 5). 4) and (3. 5). (d) Node d: we choose (10. and block 7 is (2. 4). which is from joining (4. 12 . 1). Thus. 5). 1).

Slicing floorplan before and after the optimal rotation 13 .

The numbers in the expression are called operands.Normalized Polish Expression Given a binary tree that represents a slicing floorplan of n blocks. 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 . and the H and V are called operators. 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).

3). (3. (5.2).• For example: Consider the following polish expression: PE1 = 25V 1H374V H6V 8VH The (width. (1.(3.2). 15 .3). (2. (1. (3. height) of the modules 1 through 8 are {(2.3).4).4)}.5).

4) results in (4. (f) Visit node f: horizontal merging of (4.STEP 1 (a) Visit node a: vertical merging of (1. 8) (c) Visit node c: vertical merging of (4. 8). 8) results in (11. 2) and (3. 8) and (2. 5) (b) Visit node b: horizontal merging of (3. 3) results in (9. 4}.max{2. 3) and (2. 7). (e) Visit node e: vertical merging of (1. 3) and (3. 3) and (4. 4) results in (11. (g) Visit node g: horizontal merging of (4. 8) and (5. 5) results in (max{3. 5) results in (1 + 3. 5}) = (4. 7) and (11.3 +5) = (4. 3). 15). 8). (d) Visit node d: vertical merging of (9. 16 . 2) results in (4.

Floorplans after M1. M2 and M3 move 17 .

2).3). (3. (3. The (width. • FOR EXAMPLE: Consider the following sequence pair SP1 = (17452638. (1.4)}.3). (3. (2. to the right of.4).• Sequence Pair Representation Given a non-slicing Non slicing floorplan floorplan of n modules. 84725361).3). and to the left of a given module. height) of the modules 1 through 8 are {(2. (1.2).5).the sequence pair is a pair of module name sequences that contains all the information about which subset of modules is above. below. 18 .(5.

Draw the horizontal and vertical constraint graphs.1. (c) 19 .

20 . and the height is 15 from the VCG. Thus. the floorplan area is 11 × 15 = 165. What is the minimum area of the non-slicing floorplan? The width of the floorplan is 11 from the HCG.2.

Non-slicing floorplan based on SP1. 21 .

Thank you 22 .