slicing and non slicing floor planning

Upload: surbhi-singh

Post on 05-Apr-2018

243 views

Category:

Documents


0 download

TRANSCRIPT

  • 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