+ All Categories
Home > Documents > Thesis on Floorplanning VLSI by Ramesh

Thesis on Floorplanning VLSI by Ramesh

Date post: 03-Apr-2018
Category:
Upload: raffi-sk
View: 225 times
Download: 1 times
Share this document with a friend

of 91

Transcript
  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    1/91

    A Recursive approach to Floorplanning

    by

    Renishkumar V. Ladani

    A Thesis Submitted in Partial Fulfilment of the Requirements for the Degree of

    Master of Technology

    in

    Information and Communication Technology

    to

    Dhirubhai Ambani Institute of Information and Communication Technology

    May, 2005

    DA-IICT

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    2/91

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    3/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Declaration

    This is to certify that

    (i) the thesis comprises my original work towards the degree of Master of Technology in

    Information and Communication Technology at DA-IICT and has not been submitted

    elsewhere for a degree,

    (ii) due acknowledgement has been made in the text to all other material used.

    Renishkumar V. Ladani

    i

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    4/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Certificate

    This is to certify that the thesis work entitled A Recursive Approach to Floorplanning

    has been carried out byRenishkumar V. Ladani (200311014) for the degree of Master of

    Technology in Information and Communication Technology at this Institute under mysupervision.

    Prof. Ashok T. Amin

    Thesis Supervisor

    ii

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    5/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Acknowledgements

    I am thankful to my guide Prof. Ashok T. Amin for guiding me throughout my thesis work.

    His suggestions and constant support during this research are motivating factor for me. I

    consider myself very lucky to get an opportunity to work with him. I am thankful to my

    co-guide Prof. Amit Bhatt for providing initial insight into field of floorplanning. I am

    thankful to my evaluation-committee members, Prof. D. Nag Chaudhary and Prof.

    Hemangi Kapoor for providing useful suggestions for my research work. I am thankful to

    my colleagues and friends for motivating me for research and providing constant support

    in difficult times. I am thankful to J. M. Lin and Y. W. Chang (@cc.ee.ntu.edu.tw) for

    making available their floorplanning algorithm implementation and test cases on their homepage. I am thankful to Dr. Hirendu P. Vaishnav of Synapps Corp., USA for his suggestion

    of floorplanning as a research topic. I am thankful to DA-IICT for providing me the

    resources needed and a favourable environment to carry out my work. I am thankful to my

    family for supporting me in all the ways.

    iii

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    6/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Contents

    Page No.

    DECLARATION ...................................................................................................... .........................I

    CERTIFICATE ................................................................................................................................ .II

    ACKNOWLEDGEMENTS ......................................................................................................... .....III

    CONTENTS ......................................................................................................................... ..........IV

    ABSTRACT .................................................................................................................. ................VII

    LIST OF PRINCIPAL SYMBOLS AND ACRONYMS ............................................................ ......VIII

    LIST OF TABLES ........................................................................................................................ ..IX

    CHAPTER 1 ....................................................................................................................... ...........1

    CHAPTER 2 ....................................................................................................................... .............7

    FLOORPLANNING CONCEPTS AND APPROACHES TO PROBLEM ........................................7

    CHAPTER 3 ..................................................................................................................... .............17

    A RECURSIVE APPROACH ............................................................................................... ..........17

    C ............................................................................................................................................. ....19

    C ............................................................................................................................................. ....19

    B .............................................................................................................................................. ......19

    A ...................................................................................................................................... .............19

    B .............................................................................................................................................. ......19

    A ...................................................................................................................................... .............19

    C ............................................................................................................................................. ....19

    A ........................................................................................................................................... .........19

    B .............................................................................................................................................. ......19

    C ............................................................................................................................................. ....19

    B .............................................................................................................................................. ......19

    A ........................................................................................................................................... .........19

    B .............................................................................................................................................. ......21

    A ........................................................................................................................................... .........21

    A ........................................................................................................................................... .........21

    iv

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    7/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    B .............................................................................................................................................. ......21

    D ............................................................................................................................................. ....30

    C ............................................................................................................................................. ....30

    D .............................................................................................................................................. ......30

    C ............................................................................................................................................. ....30

    B ............................................................................................................................................. ....30

    B ............................................................................................................................................. ....30

    A ...................................................................................................................................... ...........30

    A ...................................................................................................................................... ...........30

    D ............................................................................................................................................. ....32

    C ............................................................................................................................................. ....32

    B ............................................................................................................................................. ....32

    A ...................................................................................................................................... ...........32

    CHAPTER 4 ..................................................................................................................... .............49

    CONCLUSION AND FUTURE WORK ....................................................................................... .49

    REFERENCES ...................................................................................................................... ........54

    APPENDIX ..................................................................................................................... ...............56

    A.1 CIRCUIT LAYOUT GENERATED BY ALGORITHM-I FOR HARD BLOCKS .......................56

    B.1 CIRCUIT LAYOUT GENERATED BY ALGORITHM-I FOR SOFT BLOCKS ........................62

    v

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    8/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    vi

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    9/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Abstract

    Due to increase in number of components on a chip, floorplanning is important step in

    Very Large Scale Integration physical design to ensure quality of design. Various iterative

    approaches have been suggested to carryout floorplanning in Electronic Design

    Automation tools. Iterative approaches can produce good results but they are slower. In

    this thesis, we have taken bottom-up, recursive approach to floorplanning. We have also

    suggested efficient exhaustive search procedure for placing two, three or four rectangular

    blocks in a floorplan. A rectangular block can either be hard or soft and resultant floorplan

    can either be slicing or non-slicing. Further more exhaustive search procedure can also be

    extended for five or more rectangular blocks. We have developed two algorithms, which

    fall in class of constructive approaches rather than class of iterative approaches. Thesealgorithms use exhaustive search procedure, works in bottom-up constructive manner and

    they are recursive in nature. These algorithms are very fast compared to other search

    algorithms and also producing promising results. Complexity of these algorithms is O(n).

    Experiments results with MCNC circuits indicate that area utilization of about 85-99% can

    be achieved in very less time then iterative algorithms.

    vii

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    10/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    List of Principal Symbols and Acronyms

    VLSI Very Large Scale Integration

    EDA Electronic Design AutomationSA Simulated Annealing

    GA Genetic Algorithm

    SAGA Simulated Annealing and Genetic Algorithm

    NPE Normalized Polish Expression

    SP Sequence Pair

    BSG Bounded Slicing Grid

    TCG Transitive Closure Graph

    CBL Corner Block List

    GPE Generalized Polish Expression

    Other minor symbols are defined at first occurrence; where necessary some symbols are

    redefined in the text.

    viii

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    11/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    List of Tables

    Page No.

    TABLE 2.5 PACKING COMPLEXITY FOR NON-SLICING FLOORPLAN, HERE N IS THENUMBER OF BLOCKS IN THE PLACEMENT.....................................................................................16

    TABLE 3.4.1 UNIQUE PLACEMENT STRUCTURE AND ITS TWO COMPOSITIONS FOR TWOBLOCKS PLACEMENT.............................................................................................................................22

    TABLE 3.4.1 TWO COMPOSITIONS OF TWO UNIQUE PLACEMENT STRUCTURES FORTHREE BLOCKS.........................................................................................................................................25

    TABLE 3.4.1 TWO COMPOSITIONS OF SIX UNIQUE PLACEMENT STRUCTURES FORFOUR BLOCKS...........................................................................................................................................39

    TABLE 3.6.1 AREA UTILIZATION AND RUNTIME FOR ALGORITHM-I............................... ......43

    TABLE 3.6.2 AREA UTILIZATION AND RUNTIME FOR ALGORITHM-II....................... ......... ...43

    TABLE 3.6.3 AREA UTILIZATION AND RUNTIME COMPARISON FOR ALGORITHM-I ANDALGORITHM-II..........................................................................................................................................43

    TABLE 3.6.3A AREA UTILIZATION AND RUNTIME FOR SP AND O-TREE.................................44

    TABLE 3.6.3B AREA UTILIZATION AND RUNTIME FOR B*-TREE AND ENHANCED O-TREE.........................................................................................................................................................................44

    TABLE 3.6.3C AREA UTILIZATION AND RUNTIME FOR CBL AND TCG......................... ........ ..44

    TABLE 3.6.3D AREA UTILIZATION AND RUNTIME FOR TCG-S AND FAST-SP.........................45

    TABLE 3.6.3E AREA UTILIZATION AND RUNTIME FOR GPE.......................................................45

    TABLE 3.6.4 PATTERN OF HARD AND SOFT BLOCKS IN TEST CASE -I........................ ........ ..46

    TABLE 3.6.5 PATTERN OF HARD AND SOFT BLOCKS IN TEST CASE -II...................................46

    TABLE 3.6.6 AREA UTILIZATION AND RUNTIME FOR ALGORITHM-I APPLIED ON CASE-I.........................................................................................................................................................................46

    TABLE 3.6.7 AREA UTILIZATION AND RUNTIME FOR ALGORITHM-I APPLIED ON CASE-II......................................................................................................................................................................47

    TABLE 3.6.8 AREA UTILIZATION AND RUNTIME FOR ALGORITHM-I APPLIED ON CASE-III....................................................................................................................................................................47

    TABLE 3.6.9 AREA UTILIZATION AND RUNTIME FOR ALGORITHM-II APPLIED ON CASE-I.......................................................................................................................................................................47

    TABLE 3.6.10 AREA UTILIZATION AND RUNTIME FOR ALGORITHM-II APPLIED ONCASE-II..........................................................................................................................................................47

    TABLE 3.6.11 AREA UTILIZATION AND RUNTIME FOR ALGORITHM-II APPLIED ON

    CASE-III........................................................................................................................................................48

    TABLE 3.6.12 SUMMARY OF AREA UTILIZATION AND RUNTIME FOR ALGORITHM-I.. .. ..48

    ix

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    12/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    TABLE 3.6.13 SUMMARY OF AREA UTILIZATION AND RUNTIME FOR ALGORITHM-II.....48

    x

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    13/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    List of Figures

    Page No.

    xi

    http://www.bonrix.net/http://www.bonrix.co.in/http://www.bonrix.net/http://www.bonrix.co.in/
  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    14/91

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    15/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Chapter 1

    Introduction

    1.1 Floorplanning in Context of VLSI Physical Design

    VLSI physical design layout can be carried out in bottom up fashion. In this methodology

    designer either uses cells from library or designs her/his cells and subsequently compose

    the overall layout of the chip by means of placement and routing. But most of time this

    leads to poor utilization of the chip area and excessive wiring.

    Only a well-conceived design methodology can result in a final design of high quality; one

    such methodology is FLOORPLAN-BASED DESIGN METHODOLOGY. It is top-down

    design methodology. It advocates that layout aspects should be taken into account in all

    design stages. Three design domains in which design stages are classified are behavioral

    design domain, structural design domain and physical design domain.

    The floorplan-based design methodology can be represented on GAJSKI Y-chart in fig.

    1.1.

    Fig. 1.1 GAJSKI Y-chart [1]

    1

    http://www.bonrix.net/http://www.bonrix.co.in/http://www.bonrix.net/http://www.bonrix.co.in/
  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    16/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Advantage of Floorplan-based methodology: Taking layout into account in all design

    stages also gives early feed back, thus structural synthesis decision can immediately be

    evaluated for their layout consequence and corrected if necessary. The presence of layout

    information allows for an estimation of wire lengths. From these lengths one can derive

    performance properties of the design such as timing and power consumption. They both

    increase when the wire lengths grow.

    1.2 Floorplanning Definition

    It is easy to deal with layout when structural detail at lowest abstraction is available, one

    knows the exact number of transistors in the circuit and the way they are interconnected.

    When this type of structural information is not available, one can estimate the area to be

    occupied by various sub blocks and together with a precise or estimated interconnection

    pattern, try to allocate distinct regions of the integrated circuit to the specific sub blocks.

    This process is call floorplanning.

    It is important to note that functionally equivalent sub blocks have different shapes and

    terminal positions. This is one of the main characteristics of floorplan-based design, one

    chooses the shape and terminal positions such that they fit best with the original structure

    and assumes that there is a way to design the module satisfying the chosen shape and

    terminal position. Above type of blocks are known as flexible or soft blocks. When the

    block is flexible one could say that the realization needs an area A. Whichever shape the

    block will have its height h and its width w have to obey the constraint hw A. Other type

    of blocks are hard blocks, it means that their shape and terminal positions (pins) are fixed.

    It is also important to note that area required for interconnection wiring (Routing) can

    either provided by incorporating them in the area estimations for the blocks or in the case

    of N-layer metal with over the block routing (wiring), channel less block layouts are the

    norm of design.

    Example of a structural description of some circuit and possible floorplan and Floorplan

    view of PowerPC 604 and Pentium 4 is provided in fig. 1.2.

    2

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    17/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Fig. 1.2 Structural description of some circuit and its floorplan, and Floorplan view of

    PowerPC 604 and Pentium 4 [2]

    1.3 Floorplan Problem Description

    Given a set of blocks B = {b1, b2,, bn}. Each blockbi is rectangular and has fixed width

    and height. The outputs of algorithm are coordinates of blocks (the absolute coordinates

    of the lower left corner of the block). The objectives of floorplan optimization problem are

    to minimize the area ofB and reduce wire lengths of interconnects subject to the

    constraints that no pair of blocks overlaps. There may be other objectives such as

    maximize routability (minimize congestion), delay of critical path, noise, heat dissipation,

    etc. But either they are not of much interest or in some way they are related to reduction

    of wire lengths of interconnects [4].

    In addition to above problem description, other then rectangular block study of L-shaped

    and U-shaped blocks has been carried out [14]. Also, Flexible blocks have been not

    addressed in above problem description. There also exist some representations and

    3

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    18/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    algorithms, which addressed floorplan problem with flexible blocks, e.g., Normalized

    Polish Expression (NPE) [5], SP [10], Fast-SP [13], O-tree [1] and B*-tree [4]. For such

    type of representations and algorithms following problem formulation would provide more

    insight.

    Let B = {b1,b2, , bn} be a set ofn rectangular blocks. Each blockbi B is associated

    with a three tuple (hi, wi, ai), where hi, wi, and ai denote the width, height, and aspect ratio

    ofBi, respectively. The areaAi ofBi is given by hi * wi, and the aspect ratio ai ofBi is given

    by hi/wi, Let ri,minand ri,max be the minimum and maximum aspect ratios, i.e., hi/wi [ri,min,

    ri,max]. Here both soft(flexible) and hard blocks are being considered. A hard module is not

    flexible in its shape, but free to rotate. A soft module is free to rotate and change its shape

    within range [ri,min, ri,max]. Output of foorplanning is a placement (floorplan) P = {(xi, yi) |

    bi B} is an assignment of rectangular blocks with the coordinates of their bottom-left

    corners being assigned to (xi, yi)s so that no two blocks overlap (and Hi/wi [ri,min; ri,max],

    i ). As previously describe in problem description, the objective of floorplanning is to

    minimize a specified cost metric such as a combination of the area Atot and wire length Wtot

    induced by the assignment ofbis, whereAtotis measured by the final enclosing rectangle

    ofPand Wtot the summation of half the bounding box of pins for each net.

    Cost = *Atot + *Wtot

    Where,

    Atot= Total area of the packing.

    Wtot= Total wire length of packing.

    and= User specified constant.

    Here wire length estimation is to be done because exact wire length of each net is not

    known until routing is done and also pin positions are not known yet. Two possible ways

    of wire length estimation are center-to-center estimation and half-perimeter estimation.

    Fig. 1.3. Center-to-center estimation and half-perimeter estimation.

    1.3.1 Floorplan Sizing: A optimization problem in Floorplanning

    4

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    19/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    The availability of flexible blocks implies the possibility of having different shapes for the

    same hardware units. Its therefore possible to choose a suitable shape for each flexible

    block such that the resulting floorplan is optimal in some sense (e.g. minimal area).

    1.3.2 Some Constraints in Floorplanning

    In floorplanning, it is important to allow users to specify placement constraints. Three

    common types of placement constraints are preplaced constraint, boundary constraint, and

    range constraint. For preplaced constraint, we require a block to be placed exactly at a

    certain position in the final packing. For boundary constraint, we require a block to be

    placed along one particular side of the final floorplan: on the left, on the right, at the

    bottom, or at the top. This is useful when users want to place some specific block along

    the boundary for inputoutput connections. For range constraint, we require a module to

    be placed within a given rectangular region in the final packing. This is indeed a more

    general formulation of the placement constraint problem and any preplaced constraint can

    be written as a range constraint by specifying the rectangular region such that it has the

    same size as the module itself. Some representations and algorithms for floorplan are

    extended for above given constraints.

    1.4 Motivation

    Due to the growth in design complexity, circuit sizes are getting larger. To cope with the

    increasing design complexity, hierarchical design and IP modules are widely used. The

    trend makes module floorplanning much more critical to the quality of a VLSI design. And

    with current EDA tools with practice we can create good initial placement by

    floorplanning hints and a pictorial display. This is one area where the human ability to

    recognized patterns and spatial relations is currently superior to a computer programs

    ability. Thus practically floorplanning is not fully automated till now date.

    1.5 Organization of the Thesis

    The rest of the report is organized as follows. The second chapter starts with different

    approaches to floorplanning problem with different representation of floorplan as well as

    5

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    20/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    available algorithms. The second chapter end with previous work that has been done in this

    particular direction and its comparison. The third chapter provides description of our

    work. It includes introduction and description of our suggested recursive bottom-up

    algorithms. It also includes how these algorithms use exhaustive search procedure for

    placing two; three or four rectangular blocks in a floorplan. The chapter 3 ends with

    experiments results and resultant floorplan view of MCNC benchmark suite. The forth

    chapter contains conclusion to our thesis work and scope of future work.

    6

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    21/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Chapter 2

    Floorplanning Concepts and Approaches to Problem

    2.1 Background

    The floorplan problem is known to be NP-complete [11]. Various heuristic approaches

    have been taken to solve this problem. These approaches can be categorized in Simulated

    Annealing (SA), Genetic Algorithm (GA) and Hybrid approach (SAGA: simulated

    annealing and genetic algorithm). This type of algorithm searches through the feasible

    solution space for floorplan. Evaluate each solution at each stage to know its cost or

    fitness compare it with earlier available results. Keep it or discard it according to

    strategies. Carry out different moves to obtain different feasible solutions from a available

    feasible solution.

    In Genetic algorithms [15] moves are crossover, mutation and inversion. Similar types of

    moves exist for simulated annealing. Hence these algorithms depend on representation of

    feasible solution space. Representation for floorplan can be categorized in slicing floorplan

    representation and non-slicing floorplan representation.

    2.1.1 Slicing StructureA rectangle dissection is a subdivision of a given rectangle by horizontal and vertical line

    segments into a finite number of non-overlapping rectangles. The non-overlapping

    rectangles are called basic rectangles. By slicing a rectangle, we mean to divide the

    rectangle into two rectangles by a vertical or horizontal line. A slicing structure is a

    rectangle dissection that can be obtained by recursively slicing rectangles into smaller

    rectangles (see Fig. 2.1.1a).

    The hierarchical structure of a slicing structure can be described by an oriented rooted

    binary tree, called aslicing tree (see Fig. 2.1.1b). A Slicing tree is essentially a top down

    description of a slicing structure. It specifies bow a given rectangle is cut into smaller

    rectangles by horizontal and vertical slicing lines. Each internal node of the tree is labelled

    either * or +, corresponding to either a vertical or a horizontal cut, respectively. Each leaf

    corresponds to a basic rectangle and is labelled by a number between 1 and n when the

    slicing structure has n basic rectangles. Wong and Liu proposed an algorithm for slicing

    floorplan designs using a normalized polish expression [5] to represent a slicing structure.

    7

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    22/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Fig. 2.1.1a A slicing floorplan Fig. 2.1.1b A slicing tree

    2.1.2 Non-Slicing Structure

    Not all floorplans are slicing. If the basic rectangles corresponding to leaf nodes in slicing

    structures cant be obtained by recursive cutting rectangles into smaller rectangles then the

    floorplan has non-slicing structure (See Fig. Fig. 2.1.2) and represented in different ways.

    The representation are sequence pair [6], bounded slicing grid (BSG) [7], O-tree [1],

    Transitive Closure Graph (TCG) [2], Corner Block List (CBL) [3] and B* Trees [4].

    Fig. 2.1.2 A non-slicing structure

    2.1.3 Normalized Polish Expression

    A binary sequence b1,b2, , bm, is a balloting sequence iff for any k, 1

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    23/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    A Polish expression 12 2n-1 is said to be normalized iff there is no consecutive *s

    or +s in the sequence. (e.g. 1 2 + 4 3 * + is a normalized Polish expression.)

    In general, there might be two or more Polish expressions (slicing trees) that correspond

    to a given slicing structure (see Fig.3.2e). The number of Polish expressions corresponding

    to a slicing structure can vary from slicing structure to slicing structure. This makes Polish

    expressions an undesirable choice for representation of solutions in a simulated annealing

    setting for the following reasons: 1. There is an unnecessary increase in the number of

    states. 2. The set of slicing structures is unevenly distributed over the set of Polish

    expressions, which might lead to unintentional and undesirable biases toward some slicing

    structures. It is observation that given any slicing structure, it can be described by a unique

    skewed slicing tree by performing the cuts always from right to left and from top to

    bottom. Hence, the set of normalized Polish expressions as the solution space in our

    simulated annealing algorithm. The Polish expression in fact is the Polish postfix notation

    for this arithmetic expression.

    Fig. 2.1.3 Two different slicing trees for the same slicing structure.

    2.1.4 Neighbourhood Structures

    We define three types of moves that can be used to modify a given normalized Polish

    expression.

    M1. Swap two adjacent operands.

    M2. Complement some chain of nonzero length.

    M3. Swap two adjacent operand and operator.

    Two normalized Polish expressions are said to be neighbours if one can be obtained from

    the other via one of these three moves. We also want to make sure that the move selected

    will also produce a normalized Polish expression.

    2.1.5 The Cost Function

    9

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    24/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Cost = *Atot + *Wtot

    Where,

    Atot= Total area of the packing.

    Wtot= Total wire length of packing.and= User specified constant.

    2.1.6 Comparisons between slicing and non-slicing approach

    Slicing representation has some advantages such as smaller encoding cost and solution

    space bringing faster runtime for packing. Furthermore it is flexible to deal with hard,

    preplaced, soft and rectilinear blocks. However in real designs optimal solution might not

    be in the solution space of slicing structure. While with non-slicing representation optimalsolution might be achieved but it needs more evaluating runtime for packing then slicing

    approach.

    2.2 Algorithmic Approaches

    2.2.1 Simulated annealing

    Simulated annealing is a well-known high performance optimization technique for

    combinatorial problems. The simulated annealing algorithm is presented below:

    01 Temperature = Initial Temperature;02 Current placement = Random initial placement;

    10

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    25/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    03 Current score = Score (Current placement);

    04 While equilibrium at temperature not reached Do

    05 Selected component = Select (at random);

    06 Trail placement = Move (selected component);07 Trail score = Score (trail placement);

    08 If trail score < current score then

    09 Current score = trial score;10 Current placement = trail placement;

    11 else

    12 if uniform random(0,1) < e-(trail score current score)/temperature then13 Current score = trial score;

    14 Current placement = trail placement;15 temperature = temperature * Alpha; // alpha ~ 0.95

    The temperature in initialised to a relatively high value and its slowly decrease until a

    freezing point is reached. At each temperature, components are selected for possible

    movement until equilibrium is reached. If movement of the selected components results inan improved placement, the movement is performed. Otherwise the movement is

    performed with a probability that decrease exponentially with temperature. Components

    are typically selected randomly for pair wise exchange.

    2.2.2 Genetic Algorithm

    The original GA and its many variants collectively known as genetic algorithms are

    computational procedure that mimics the natural process of evolution. Darwin observedthat as variations are introduced into a population with each new generation the less fit

    individuals are tend to die off in the competition for food and this survival of the fittest

    principle leads to improvement in the species.

    GAs has also applied to optimisation problems, and the applications like floorplanning in

    EDA tools falls into this category. The objective of the GA is then to find an optimal

    solution to a problem. Since Gas are heuristic procedure, they are not guaranteed to find

    the optimum but experience has shown that they are able to find very good solutions for

    wide range of problems.

    GAs work by evolving a population of individual in the population where the fitness

    computation depend s on the application. For each generation individuals are selected from

    the population for reproduction, the individuals are crossed to generate new individuals

    and the new individuals are muted with some low mutation probability. The new individual

    may completely replace the old individuals in the population with distinct generation

    11

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    26/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    evolved; alternatively the new individuals may be combined with old individuals in the

    population.

    Since selection is biased towards more highly fit individuals, the average fitness of the

    population tends to improve from one generation to the next. The fitness of the best

    individuals is also expected to improve overtime, and the best individual may be chosen as

    a solution after several generations.

    Simple GA: Also referred to as total replacement algorithm. Flowchart of this simple

    genetic algorithm is available in fig. 2.2.2. [15]

    Stopping Criteria: The GA may be limited to a fixed number of generations or it may be

    terminated when all individuals in the population coverage to the same string or no

    improvements in fitness values are found after given number of generation.

    Since selection is biased towards more highly fit individuals the fitness of the overall

    population is expected to increase in successive generations. However, the best individual

    may appear in any generation.

    Evaluate each individual

    Generate initial population

    Select Np individuals with repetition, such that

    the probability of selection of each individual isproportional to its fitness

    Perform inversion on the offspring with

    probabilityp1 if the algorithm calls for itPair the individuals randomly to form parentsMutate the offspring with a small probability, PmReplace all individuals of the previous

    generation with the Np offspring

    With a high probability, Pc, perform crossover on

    the pair s to generate two offspring. If crossoveris not performed, then the parents are copied

    unchanged to the offspring.

    12

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    27/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Fig. 2.2.2 Flowchart of the simple genetic algorithm

    2.2.3 SAGA

    Rather than simply using a GA for floorplanning, its better to use a new stochastic

    optimization algorithm called SAGA, Which is combination of genetic algorithm and

    simulated annealing algorithm applied to floorplanning. The aim of this idea is to improve

    the typical convergence rate of the pure GA by combining it with simulated annealing.

    The typical GA convergence curve is shown in fig Fig. 2.2.3.

    Stopping

    criteria

    Yes

    No

    Runtime

    Cost

    13

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    28/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Fig. 2.2.3. Typical convergence of a GA

    Initially the solution cost improves very rapidly, however obtaining further improvement

    soon becomes difficult and the majority of runtime is spent in the later phase of the process

    in which small improvements are obtained very slowly, while in case of simulated annealing

    algorithm. The typical convergence curve of SA is very different from that of the GA.

    Initially SA converges much slower but in the late phase of the process, SA may be able to

    obtain improvement faster than the GA. The unified algorithm called SAGA (an acronym

    for simulated annealing and genetic algorithm) is designed in such a way that the initial fast

    convergence of the GA is combined with the faster convergence of SA in the late phase.

    The SAGA algorithm is application independent and highly adaptive. When applied to the

    floorplanning SAGA perform better than a pure GA.

    2.2.4 Comparisons between SA and GA

    Both simulated annealing and the genetic algorithm are computation intensive. One

    difference is that simulated annealing operates on only one solution at a time while genetic

    algorithm maintains a large population of solutions which are optimized simultaneously.

    Thus the genetic algorithm takes advantages of the experience gained in the past

    exploration of the solution space. Both simulated annealing and the genetic algorithm have

    mechanisms for avoiding entrapment at local optima. In simulated annealing this is

    accomplished by occasionally discarding a superior solution and accepting and inferior

    one. The genetic algorithm also relies on inferior individuals as a means of avoiding false

    optima, but, since it has whole population of individuals, the genetic algorithm can keep

    and process inferior individuals without losing the best one.

    Simulated annealing is an inherently serial algorithm while genetic algorithm can be

    parallelized on such loosely coupled distributed computer network with 100% processor

    utilization.

    2.5 State-of-art in floorplan representations

    VLSI floorplans are often grouped into two categories, the slicing structure [5] and the

    non-slicing structure [1, 2, 3, 4, 6, 7]. A binary tree whose leaves denote blocks can

    represent a slicing structure, and internal nodes specify horizontal or vertical cut lines.

    Wong and Liu proposed an algorithm for slicing floorplan designs [5]. They presented a

    normalized Polish expression to represent a slicing structure, enabling the speed-up of itssearch procedure. However, this representation cannot handle non-slicing floorplans. It

    14

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    29/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    takes only O(n) time to derive a floorplan from a representation. Recently, proposed

    several representations such as sequence pair [6], bounded slicing grid (BSG) [7], O-tree

    [1], Transitive Closure Graph (TCG) [2], Corner Block List (CBL) [3] and B* Trees [4]

    can handle non-slicing floorplans. Table 2.2.6 shows packing complexity for non-slicing

    floorplan.

    GPE Recently, a new representation for VLSI floorplan problem has been published [11].

    They proposed a new and easy representation for VLSI floorplan and building block

    problem. The representation effectively inherits the useful property of normalized polish

    expression [5] and is able to present non-slicing floorplan. The test using MCNC

    benchmarks and the experiments give promising results. The time complexity to transform

    a GPE to a corresponding placement is also O(n). Results of GPE suggest that it achieves

    better area utilization compared to previous non-slicing representation Fast-SP and

    Enhance O-tree.

    Flooplan sizing (shaping) as defined previously can be done optimally and efficiently for

    slicing floorplans. It can also be done optimally for some non-slicing floorplans, but its

    very time consuming. Shape Curve Computation is used for Shaping in slicing floorplans

    [14] and the sizing algorithm runs in polynomial time for slicing floorpalns. LangrangianRelaxation method used for shaping in non-slicing floorplan. But it is not efficient and

    applicable to only non-slicing floorplans, which are using Constraints graphs for packing

    such as SP [10], Fast-SP [13], O-tree [1] and B*-tree [4].

    Representation Runtime for packing

    SP O(n2)

    Fast-SP O(n lg n lg n)

    BSG O(n2)

    O-tree O(n)

    B*-tree O(n)

    CBL O(n)

    15

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    30/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    TCG O(n2)

    GPE O(n)

    Table 2.5 Packing complexity for non-slicing floorplan, here n is the number of blocks in

    the placement

    16

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    31/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Chapter 3

    A Recursive Approach

    3.1 Introduction

    Algorithms for floorplanning are classified in two classes of approaches, iterative ap-

    proaches and constructive approaches. Iterative approaches produce floorplan with better

    areas utilization but they are slower then constructive algorithms. An iterative approach

    starts with one initial solution, evaluate it and then generate more such solutions from

    available solution. At each stage, an iterative approach evaluates new solution and com-

    pares it with earlier available results and keeps only promising solutions. In these ap-

    proaches, an algorithm run up to either reaching timeout or based on some criteria such as

    no more improvement in results. While in case of a constructive approach a feasible solu-

    tion is generated gradually from available inputs using some techniques and principles. We

    propose and investigate two constructive algorithms based on the notion that grouping

    blocks having nearly same area in a floorplan produce better results than placing blocks

    having wide difference in area.

    In both algorithms, exhaustive search procedure is carried out at each step to place four or

    less blocks at a time to get a floorplan having best area utilization. This exhaustive searchprocedure is repeated in bottom up to construct a floorplan. .

    Objectives of floorplanning problem is either area optimisation; wire length optimisation or

    both. Although wire length optimisation is also critical to VLSI physical design but we will

    focus on only area optimisation.

    3.2 Problem Definition

    Suppose, we are given a set of n blocks or rectangular objects b1, b2, , bn. A block can be

    of a fixed type or a flexible type. A fixed block has fixed height and width. A flexible block

    has constant area but can have height and width ratio, called aspect ratio, from a given set

    of possible values.

    These blocks are to be placed in a rectangular area in non-overlapping manner. A block

    may be rotated by + 90os. The problem is to arrange n blocks inside a rectangle of

    minimum possible area.

    17

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    32/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    With n blocks b1, b2, , bn, we are given a list ofn quadruplets of numbers (A1, r1, s1, d1),

    (A2, r2, s2, d2), , (An, rn, sn, dn). This quadruplet of number (Ai, ri, si, di), with ri si,

    specifies the area and the shape constrains for module i. In fact, if we let wi be the width of

    module i and hibe the height of module i, we must have wi * hi = Ai and ri hi/wi si.Thus ri andsi are our lower and upper limit of aspect ratio. Blocki is a rigid (hard) block if

    ri = si, otherwise its is a soft (flexible) block. If a block is hard then di has no meaning to it

    and its just dont care value. But if a block is soft, di specifies all possible shapes for a

    flexible block, having aspect ratios as ri, ri + di, ri + 2*di, , si.

    A solution of the floorplan design problem consist of an enveloping rectangle R which

    contains blocks b1, b2, , bn in non overlapping manner and floorplan F = {(x1i, y1i, x2i,

    y2i) | 1 i n}, indicating that placement of blockbi with its bottom-left corner being at

    (x1i, y1i) and top-right corner being at (x2i, y2i).

    3.3 Terminology And Concepts

    Minimum Area: Minimum Area (MA) is a summation of area of n blocks b1, b2, , bn.

    Floorplan Area: Floorplan Area (FA) is area of minimum possible of rectangle which

    accommodates n blocks b1, b2, , bn in non-overlapping manner. Clearly,FA MA.

    Dead Area: A minimum possible rectangle which can accommodate n blocks in non-

    overlapping manner has some area not occupied by any blocks. It is known as Dead Area

    (DA) and measured in percentage of FA, namelyDA = (FA-MA)/FA*100. Area utilization

    factor is defined to be 100-DA.

    L-compact: A floorplan L-compact if and only if there is no block that can shift left from

    its original position with other components fixed.

    B-compact: A floorplan is B-compact if and only if there is no block that can shift bottom

    from its original position with other components fixed.

    LB-compact: A floorplan is LB-Compact if and only if its both L-compact and B-

    compact.

    18

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    33/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    These types of floorplans are illustrated in fig 3.3.1.

    Fig. 3.3.1 (a) A Floorplan Fig. 3.3.1 (b) B-Compact Floorplan

    Fig. 3.3.1 (c) L-Compact Floorplan Fig. 3.3.1 (d) LB-Compact Floorplan

    3.4 Exhaustive Search Procedure

    Suppose, we are given a set of 2, 3 or 4 blocks say {A, B}, {A, B, C} and {A, B, C, D},

    Where A, B, CandD are hard blocks. Here, (Ah, Aw), (Bh, Bw), (Ch, Cw) are (Dh , Dw) are

    height and width of A, B, C, and D respectively. Let F is a floorplan generated after

    placing either{A, B}, {A, B, C} or {A, B, C, D}. Here, (Fh, Fw) is height and width of

    floorplan and FA = Fh * Fw , represent floorplan area. In this section, we present an

    efficient way of searching a floorplan which has best area utilization or say minimum dead

    area from all possible placement of 2, 3 or 4 blocks. For generation of all possible

    placements of 2, 3 or 4 blocks first we generate the set PO of all possible ordering of

    blocks. Let say for Set of 2 blocks {A, B}, PO = {AB, BA} represent all possible ordering

    of two blocks. For three blocks {A, B, C}, PO = {ABC, ACB, BAC, BCA, CAB, CBA}

    represent all possible ordering of three blocks. And similarly set PO for 4 blocks is also

    generated. Since A block can be rotated by + 90os, we have two orientation vertical and

    horizontal orientation for a block. So count of all possible pattern of placement (PPP) for

    two blocks is equal to 2! * 22 = 8, Let say PPP = {AB, BA, AB, BA, AB, BA, AB,

    BA} represents possible pattern of placement. Here Aand B represent rotation by +

    90os for BlockA andB respectively and similarly count of all possible pattern of placement

    (PPP) for three blocks equal to 3! * 23 = 48 and its equal to 4! * 24 = 384 for four

    blocks.

    BC

    AB

    C

    A

    BC

    A

    B

    C

    A

    19

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    34/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    In the following section we identify unique structure that can hold 2, 3 or 4 blocks in LB

    compact floorplan. We have removed other redundant structures that always produce a

    floorplan with same floorplan area, FA when placed with possible pattern of placement

    (PPP) for two, three or four blocks. When blocks according to possible pattern of

    placement are placed in unique structures we received set of all possible placement sayPP

    = {F1, F2, , FK}. Here we have one unique structure for two blocks, two unique

    structures for three blocks and six unique structures for four blocks. Next three sections

    describe how we have identified the unique structures. Now for setPPwe have, | PP | =

    k = 2! * 22 * 1 = 8, for two blocks, | PP | = k = 3! * 23* 2 = 96, for three blocks and |

    PP | = k =4! * 24 * 6 = 2304.

    From setPPwe search for floorplanFi which has smallest area, where, 0 i k. if two

    or more floorplans have equal and minimum area then a floorplan with aspect ratio near to

    1.0 is selected. Thus | PP | represent number placement to be considered before selecting

    one.

    In case of soft blocks, blocks A, B, C, D can take any one of the shape form its given set

    of aspect ratios, which increases number of possible placement. Let sayAAR is set of aspect

    ratios for blockA, BAR is set of aspect ratios for block B, CAR is set of aspect ratios for

    block C,DAR is set of aspect ratios for block D then size of possible placement set PP, get

    scaled proportional to value of | AAR |, | BAR |, | CAR |, | DAR |. Thus size of possible

    placement set PP, | PP | = k = 2! * 22 * 1 * | AAR | * | BAR |, for two blocks, | PP | = k

    = 3! * 23 * 2 * | AAR | * | BAR | * | CAR |, for three blocks and | PP | = k = 4! * 24 * 6 *

    | AAR | * | BAR | * | CAR | * | DAR |. Once a soft block get placed in floorplan of 2, 3 or 4

    blocks, its aspect ratio get fixed and its no longer a soft blocks now. And floorplanFthat

    we received after placing 2,3 or 4 blocks together has also fixed aspect ratio because we

    are selecting floorplanFfrom setPPaccording to it smallest area value and if two or more

    floorplans have equal and minimum area then a floorplan with aspect ratio nearer to 1.0 is

    selected.

    3.4.1 Two Block Placements

    In this section we have identifies LB-compact unique structure for placing 2 blocks

    together in a floorplan. While placing two blocks together we can only have slicing

    structures. Non-slicing structure can not possible for placing two blocks together. For

    20

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    35/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    producing all possible slicing structures for blocks, we have used a binary tree with a root

    node and two children. A root node is operator and its children are two blocks. This

    suggests placement of two children in a way that placement of right child is with respect to

    left child and according to operator in LB-compact manner. In slicing structure we have

    two-operator horizontal placement operator sayHand vertical placement operator say V.

    Let O is set of operator for slicing structure then set O is define as O = {H, V}. Here

    horizontal placement means two blokes are placed in side-by-side or adjacent in LB-

    compact manner. And vertical placements mean two blocks are placed one above other in

    LB-compact manner.

    In fig. 3.4.1 (a) shows a binary tree of two blocks, while in fig 3.4.1 (b) and fig. 3.4.1 (c)

    show horizontal and vertical placement respectively derived from binary by placing value

    of operator as O1 = {H, V}.

    Under condition of exhaustive search with all possible ordering of blocks A and B with for

    each block + 90os rotation allowed both of structures from fig 3.4.1 (b) and fig. 3.4.1 (c)

    produce same minimum floorplan areaFA = Fh * Fw.But difference is that one is horizontal

    Fh = max (Ah,Bh)Fw = Aw + Bw

    Fh = Ah + BhFw = max (Aw, Bw)

    Fig. 3.4.1 (a)

    Fig. 3.4.1 (b) Fig. 3.4.1 (c)

    O1

    A

    B

    A

    B

    21

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    36/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    composition and other is vertical composition which achieved by floorplan rotation by +

    90os and rearranging each block in floorplan once again with 90os. Thus we identified only

    one unique placement structure and its two compositions for two blocks placement. Table

    3.4.1 presents a unique placement structure and its two compositions for two blocks

    placement.

    Vertical Composition Horizontal composition

    Table 3.4.1 unique placement structure and its two compositions for two blocks placement

    3.4.2 Three Block Placements

    In this section we have identifies LB-compact unique structure for placing 3 blocks

    together in a floorplan. While placing three blocks together we can only have slicing

    structures. Non-slicing structure cant be possible for placing three blocks together. For

    producing all possible slicing structures for three blocks, we have used two binary trees

    with leaf nodes represent block and all other internal nodes are operator. These binary

    trees have two operators to arrange three blocks. Fig. 3.4.2 (a) and fig. 3.4.2 (b) show a

    binary tree of three blocks, we have two operators O1 = {H, V} and O2 = {H, V}

    Fig 3.4.2 (c), (d), (e) and (f) show placement derived from a binary tree (in Fig. 3.4.2 (a))

    by placing value of operator as O1 O2 = {HH, HV, VH, VV} and similarly Fig 3.4.2 (g), (h),

    (i) and (j) show placement derived from a binary tree available in Fig. 3.4.2 (b).

    Fh

    = Ah

    + Bh

    F = max (A , B )

    A

    B

    Fh

    = max (Ah,B

    h)

    Fw

    = Aw

    + Bw

    A B

    22

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    37/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    O2

    O1

    O1

    O2

    Fig. 3.4.2 (a) Fig. 3.4.2 (b)

    A B C

    Fh

    = max (Ah,B

    h, C

    h)

    F = A+ B + C

    A B

    C

    Fh

    = max (Ah,B

    h) + C

    h

    Fw

    = max (Aw

    + Bw, C

    w)

    Fig. 3.4.2 (d)Fig. 3.4.2 (c)

    C

    A

    B

    Fh

    = max (Ah

    + Bh, C

    h)

    Fw

    = max (Aw

    + Bw) + C

    w

    A

    B

    C

    Fh

    = Ah

    + Bh

    + Ch

    Fw

    = max (Aw, B

    w, C

    wFig. 3.4.2 (e)

    Fig. 3.4.2 (f)

    23

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    38/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Under condition of exhaustive search with all possible ordering of blocks A, B and C with

    each block + 90os rotation allowed there are few redundant structures from fig 3.4.2 (c) to

    fig. 3.4.2 (i) always produce same floorplan area FA = Fh * Fw. Thus we identified two

    unique placement structures and its two compositions for three blocks placement. Table

    3.4.2 presents two compositions of two unique placement structures for three blocks

    placement.

    Vertical Composition Horizontal composition

    A B C

    Fh

    = max (Ah,B

    h, C

    h)

    F = A+ B + C

    B

    C

    A

    Fh

    = max (Ah, B

    h+ C

    h)

    Fw

    = Aw

    + max (Bw, C

    w)

    Fig. 3.4.2 (g) Fig. 3.4.2 (h)

    A

    B

    C

    Fh

    = Ah

    + Bh

    + Ch

    =

    B C

    A

    Fh

    = Ah

    + max (Bh, C

    h)

    F = max (A , B + C )

    Fig. 3.4.2 (i) Fig. 3.4.2 (j)

    24

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    39/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Table 3.4.1 two compositions of two unique placement structures for three blocks

    3.4.3 Four Block placements

    In this section we have identifies LB-compact unique structure for placing 4 blocks

    together in a floorplan. While placing for blocks together we have slicing structures as well

    as Non-slicing structure. For producing all possible slicing structures for four blocks, we

    have used five different binary trees with leaf nodes represent block and all other internal

    nodes are operator. These binary trees have three operators to arrange four blocks. Fig.

    3.4.3 (a), Fig. 3.4.3 (b), Fig. 3.4.3 (c), Fig. 3.4.3 (d) and fig. 3.4.3 (e) show a binary tree

    of four blocks, we have three operators O1 = {H, V}, O2 = {H, V} and O3 = {H, V}.

    A

    B

    C

    Fh

    = Ah

    + Bh

    + Ch

    F = max A , B , C

    A B C

    Fh

    = max (Ah,B

    h, C

    h)

    F = A+ B + C

    B C

    A

    Fh

    = Ah

    + max (Bh, C

    h)

    F = max A , B + C

    B

    CA

    Fh

    = max (Ah, B

    h+ C

    h)

    Fw

    = Aw

    + max (Bw, C

    w)

    25

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    40/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    There exist no such procedure for producing all possible for non-slicing structures. But we

    have one LB-compact unique non-slicing structure possible for placing four blocks.

    Fig 3.4.3 (a1) to Fig 3.4.3 (a8) show placement derived from a binary tree in Fig. 3.4.3 (a)

    and similarly Fig 3.4.3 (b1) to Fig 3.4.3 (b8) show placement derived from a binary tree in

    Fig. 3.4.3 (b) and then so on up to a binary tree in Fig. 3.4.3 (e). These placements are

    derived after placing value of operator as O1 O2 O3= {HHH, HHV, HVH, HHVV, VHH,

    VHV, VVH, VVV}.

    Fig. 3.4.3 (a)

    O2

    O1

    O3

    26

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    41/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    A B C D A B C

    D

    Fh

    = max (Ah,B

    h, C

    h, D

    h)

    Fw

    = Aw

    + Bw

    + Cw

    + Dw

    Fh

    = max (Ah,B

    h, C

    h+ D

    h)

    Fw

    = Aw

    + Bw

    + max (Cw, D

    w)

    Fig. 3.4.3 (a2)Fig. 3.4.3 (a1)

    A B

    C D

    A B

    C

    D

    Fh

    = max (Ah,B

    h) + max (C

    h, D

    h)

    Fw

    = max (Aw

    + Bw, C

    w+ D

    w)

    Fh

    = max (Ah,B

    h) + C

    h+ D

    h

    F = max (A+ B , C , D

    )

    Fig. 3.4.3 (a4)Fig. 3.4.3 (a3)

    27

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    42/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    C D

    A

    B

    A

    B

    C

    D

    Fh

    = Ah

    + Bh

    + max (Ch

    + Dh)

    F = max (A , B , C + D )

    Fh

    = Ah

    + Bh

    + Ch

    + Dh

    F = max A , B , C , DFig. 3.4.3 (a8)Fig. 3.4.3 (a7)

    C DA

    B

    A

    B

    C

    D

    Fh

    = max (Ah

    + Bh, C

    h, D

    h)

    Fw

    = max (Aw

    + Bw) + C

    w+ D

    w

    Fh

    = max (Ah

    + Bh, C

    h+ D

    h)

    F = max A+ B + max C D

    Fig. 3.4.3 (a6)Fig. 3.4.3 (a5)

    28

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    43/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Fig. 3.4.3 (b)

    O2

    O1

    O3

    Fig. 3.4.3 (b2)Fig. 3.4.3 (b1)

    A B C DA B C

    D

    Fh

    = max (Ah,B

    h, C

    h, D

    h)

    F = A + B + C + D

    Fh

    = max (Ah

    ,

    Bh

    , Ch

    ) + Dh

    F = max A+ B + C D

    29

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    44/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Fig. 3.4.3 (b4)Fig. 3.4.3 (b3)

    A B D

    C

    A

    C

    D

    Fh

    = max (max (Ah,B

    h) + C

    h, D

    h)

    F = max (A+ B , C ) + D

    Fh

    = max (Ah,B

    h) + C

    h+ D

    h

    F = max (A+ B , C , D )

    Fig. 3.4.3 (b6)Fig. 3.4.3 (b5)

    C DA

    BC

    D

    A

    B

    Fh = max (Ah +Bh, Ch, Dh)

    Fw

    = max (Aw

    + Bw) + C

    w+ D

    w

    Fh

    = max (Ah

    +B

    h, C

    h) + D

    h

    F = max (A+ B , C , D )

    Fig. 3.4.3 (b8)Fig. 3.4.3 (b7)

    A

    B

    C

    D

    A

    B

    CD

    Fh = Ah + Bh + Ch + DhFw = max (Aw, Bw, Cw, Dw)

    Fh = max (Ah +Bh + Ch, Dh)Fw = max (Aw + Bw, Cw) + Dw

    30

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    45/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    O1

    O3

    O2

    Fig. 3.4.3 (c)

    Fig. 3.4.3 (c2)Fig. 3.4.3 (c1)

    A B C D A B C

    D

    Fh

    = max (Ah,B

    h, C

    h, D

    h)

    F = A+ B + C

    + D

    Fh

    = max (Ah, B

    h, C

    h+ D

    h)

    F = A+ B + max (C , D )

    Fig. 3.4.3 (c4)Fig. 3.4.3 (c3)

    C D

    AB B

    CD

    Fh

    = max (Ah, B

    h+ max (C

    h, D

    h))

    F = A+ max B C + D

    Fh

    = max (Ah, B

    h+ C

    h+ D

    h)

    = +

    31

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    46/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Fig. 3.4.3 (c5)

    B C D

    A A

    C

    D

    B

    Fh

    = Ah

    + max (Bh, C

    h, D

    h)

    F = max (A , B + C + D )

    Fh

    = Ah

    + max (Bh, C

    h+ D

    h)

    F = max (A , B + max (C , D ))

    Fig. 3.4.3 (c5) Fig. 3.4.3 (c6)

    DC

    B

    A

    Fig. 3.4.3 (c8)Fig. 3.4.3 (c7)

    A

    B

    C

    D

    Fh = Ah + Bh + Ch + DhFw = max (Aw, Bw, Cw, Dw)

    Fh = Ah + Bh + max (Ch, Dh)Fw = max (Aw, Bw, Cw + Dw)

    Fig. 3.4.3 (c7) Fig. 3.4.3 (c8)

    32

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    47/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Fig. 3.4.3 (d)

    O3

    O1

    O2

    Fig. 3.4.3 (d2)Fig. 3.4.3 (d1)

    A B C D A B C

    D

    Fh

    = max (Ah,B

    h, C

    h, D

    h)

    F = A + B + C + D

    Fh

    = max (Ah, B

    h, C

    h) + D

    h

    F = max (A + B + C , D )

    33

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    48/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    B

    CD

    D

    B

    C

    Fh

    = max (Ah, B

    h+ C

    h, D

    h)

    =

    Fh

    = max (Ah, B

    h+ C

    h) + D

    h

    = +

    Fig. 3.4.3 (d3) Fig. 3.4.3 (d4)

    Fig. 3.4.3 (d6)Fig. 3.4.3 (d5)

    B CD

    A

    B C

    D

    A

    Fh

    = max (Ah

    + max (Bh, C

    h), D

    h)

    F = max (A + B + C ) + D

    Fh

    = Ah

    + max (Bh, C

    h) + D

    h

    F = max A B + C D

    34

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    49/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Fig. 3.4.3 (d8)Fig. 3.4.3 (d7)

    A

    B

    C

    D

    A

    B

    C

    D

    Fh

    = Ah

    + Bh

    + Ch

    + Dh

    F = max (A , B , C , D )

    Fh

    = max (Ah

    + Bh

    + Ch, D

    h)

    F = max (A , B , C ) + D

    Fig. 3.4.3 (e)

    O1

    O2

    O3

    35

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    50/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Fig. 3.4.3 (e2)Fig. 3.4.3 (e1)

    A B C D A B C

    D

    Fh

    = max (Ah,B

    h, C

    h, D

    h)

    F = A+ B + C

    + D

    Fh

    = max (Ah, max (B

    h, C

    h) + D

    h)

    F = A + max B + C D

    Fig. 3.4.3 (e4)Fig. 3.4.3 (e3)

    B

    CD

    B

    C

    D

    Fh = max (Ah, Bh + Ch, Dh)= + +

    Fh

    = max (Ah, B

    h+ C

    h+ D

    h)

    = +

    Fig. 3.4.3 (e6)Fig. 3.4.3 (e5)

    B C D

    A

    B C

    D

    A

    Fh

    = Ah

    + max (Bh, C

    h, Dh)

    F = max (A , B + C + D )F

    h= A

    h+ max (B

    h, C

    h) + D

    h

    F = max A B + C D

    36

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    51/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Under condition of exhaustive search with all possible ordering of blocks A, B, C and D

    with for each block + 90os rotation allowed there are few redundant structures from fig

    3.4.3 (a, a1-a8) to fig. 3.4.3 (e, e1-a8) always produce same floorplan area FA = Fh * Fw.

    Thus we identified five unique LB-compact placement structures and its two

    compositions. In addition to this we have one more unique non-slicing LB-compact

    placement structure its two compositions. Table 3.4.3 presents two compositions of six

    unique placement structures four blocks placement.

    Vertical Composition Horizontal composition

    Fig. 3.4.3 (e8)Fig. 3.4.3 (e7)

    A

    B

    C

    D

    A

    B

    C

    D

    Fh

    = Ah

    + max (Bh

    + Ch, D

    h)

    F = max A max B C + D

    Fh

    = Ah

    + Bh

    + Ch

    + Dh

    F = max (A , B , C , D )

    Fh

    = Ah

    + Bh

    + Ch

    + Dh

    F = max (A , B , C , D )

    A

    B

    C

    D

    A B C D

    Fh

    = max (Ah,B

    h, C

    h, D

    h)

    F = A+ B + C

    + D

    C D

    A

    B

    Fh

    = Ah

    + Bh

    + max (Ch, D

    h)

    F = max A B C + D

    A BC

    D

    Fh

    = max (Ah,B

    h, C

    h+ D

    h)

    F = A+ B + max C D

    37

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    52/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Non-slicing

    B C D

    A

    Fh

    = Ah

    + max (Bh, C

    h, D

    h)

    F = max A B + C + D

    B

    C

    D

    A

    Fh

    = max (Ah, B

    h+ C

    h+ D

    h)

    F = A+ max (B , C , D )

    A B

    C D

    Fh

    = max (Ah,B

    h) + max (C

    h, D

    h)

    F = max (A+ B , C

    + D

    )

    A

    B

    C

    D

    Fh

    = max (Ah

    + Bh, C

    h+ D

    h)

    F = max (A+ B ) + max (C , D )

    A

    C

    DB

    Fh

    = Ah

    + max (Bh, C

    h+ D

    h)

    Fw

    = max (Aw, B

    w+ max (C

    w, D

    w))

    C DA

    B

    Fh

    = max (Ah, B

    h+ max (C

    h, D

    h))

    Fw

    = Aw

    + max (Bw, C

    w+ D

    w)

    A B

    D

    C

    AC

    BD

    Fh =max (Bh + Dh, max (Ah, Bh) + Ch )Fw = max (max (Aw, Cw) + Bw, Cw + Dw )

    Fh =max (Ah + Bh, max (Ah, Ch) + Dh )Fw = max (max (Aw, Bw) + Cw, Bw + Dw )

    38

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    53/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Table 3.4.1 two compositions of six unique placement structures for four blocks

    3.5 Algorithm

    We propose two algorithms for floorplanning. Both having complexity O(n) but first

    algorithm requires recursive call in order of log4 n while second algorithm requiredrecursive call in order of n. We have taken bottom-up, recursive approach in these

    algorithms. These algorithms use efficient exhaustive search procedure as explain in last

    section for placing two, three or four rectangular blocks in a floorplan. Both algorithms

    fall in class of constructive algorithm rather than class of iterative algorithm and work in

    bottom-up constructive manner and they are recursive by nature. These algorithms

    designed with concept that In case of placing few blocks together in non overlapping

    manner, we can achieve better area utilization if blocks are having their area value in

    neighbourhood if area values are arrange in order.

    3.5.1 Algorithm-I

    This algorithm starts with given blocks b1, b2, , bn, before initiating recursive call, first

    blocks are arranged in ascending order according to their area. Let say ordered list of

    blocks as ab1, ab2, , abn. Then list of composite blocks is generated from ordered list of

    blocks as ab1, ab2, , abn.. Here a composite block is a block that which generate after

    placing 2, 3 or 4 blocks together using exhaustive search procedure. A composite block

    also generated from placing 2, 3 or 4 composite blocks together. Let say list of composite

    blocks as cb1, cb2, , cbk. Here k = n / 4 if n mod 4 = 0 otherwise k = n / 4+1 . In list of

    composite blocks cb1 generated from first four blocks of order list ab1, ab2, , abn, cb1

    generated from next four blocks and so on up to cbk, generated from last four blocks from

    our order list ab1, ab2, , abn,if n mod 4 = 0 otherwise cbk generated from {abn-2, abn-1,

    abn} if n mod 4 = 3, { abn-1, abn} if n mod 4 = 2 or {abn} if n mod 4 = 1. Here for

    generating composite blocks list, blocks are selected in-group of four from order list of

    blocks starting from smallest area and then up to end of list. So last the composite block

    39

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    54/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    may have 4,3, 2 or 1 blocks or block according to number of blocks in list. Then the

    selected group of four blocks are place using exhaustive search procedure, which

    generates a composite block. A composite block has same property as a hard block define

    previously. Thus this approach once again applies to new list of composite blocks. Before

    initiating same recursive procedure, composite blocks are ordered according to area in

    aviable list. This recursive procedure is stooped when only one composite block remains in

    the list. And this composite block is our floorplan rectangle, which envelops n blocks in

    non-overlapping manner.

    This bottom up constructive approach provides us floorplan rectangle but exact co-

    ordinates of each blocks has been not assigned. So with each returning from recursive call

    in top-down way each composite block assign co-ordinated to its constitute blocks or

    composite blocks according to rotation, ordering of blocks and LB-compact unique

    structure used to generate that composite block.

    At the end of algorithm we have rectangle R which contains blocks b1, b2, , bn in non

    overlapping manner and floorplan F = {(x1i, y1i, x2i, y2i) | 1 I n}, means each block

    has bottom-left corners being assigned to (x1i, y1i) and top-right corners being assigned to

    (x2i, y2i).

    Algorithm: algorithm-I (listOfBlocks)

    Input: listOfBlocks blocks with height, width and aspect ratio range in case

    of soft blocks.

    Output: listOfBlocks with each block having fix co-ordinates and aspectratio.

    FloorplanH Floorplan Height.FloorplanW Floorplan Width.

    01 ArrangeBlocksInAscOrderOfArea (listOfBlocks);

    02 If NumberOfBlocks (listOfBlocks) = 1 then03 SetCordinateOfSubBlocks (listOfBlocks);

    04 FloorplanH = firstBlock (listOfBlocks).Height;05 FloorplanW = firstBlock (listOfBlocks).Width;

    06 Return;

    07 End If

    08 newListOfCompositeBlocks = CreateCompositeBlocks (listOfBlocks);

    09 Call algorithm-I (newListOfCompositeBlocks);

    10 SetCordinateOfSubBlocks (newListOfCompositeBlocks);

    3.5.2 Algorithm-II

    This algorithm starts with given blocks b1, b2, , bn, before initiating recursive call, first

    blocks are arranged in ascending order according to their area. Let say ordered list of

    40

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    55/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    blocks as ab1, ab2, , abn. Then from list of blocks first four blocks are selected and a new

    composite block is generated from it. Let say cb1234as it is generated fromb1, b2, b3, and b4

    after exhaustive search procedure. The composite block added to list of order blocks after

    replacing its constituted in order list. The composite block is inserted in order list

    according to its area so that order is maintained in the list. Since a composite block has

    property same as a hard block. Thus this approach once again applies to new list available

    after adding new composite block. Thus with each recursive call 4 blocks are replaced with

    1 composite block, hence size of list reduce by 3 at each recursive call. This recursive

    procedure is stooped when only one composite block remains in the list. And this

    composite block is our floorplan rectangle, which envelops n blocks in non-overlapping

    manner.

    This bottom up constructive approach provides us floorplan rectangle but exact co-

    ordinates of each blocks has been not assigned. So with each returning from recursive call

    in top-down way each composite block assign co-ordinated to its constitute blocks or

    composite blocks according to rotation, ordering of blocks and LB-compact unique

    structure used to generate that composite block.

    At the end of algorithm we have rectangle R which contains blocks b1, b2, , bn in non

    overlapping manner and floorplan F = {(x1i, y1i, x2i, y2i) | 1 I n}, means each block

    has bottom-left corners being assigned to (x1i, y1i) and top-right corners being assigned to

    (x2i, y2i).

    Algorithm: algorithm-II (listOfBlocks)Input: listOfBlocks blocks with height, width and aspect ratio range in case

    of soft blocks.

    Output: listOfBlocks with each block having fix co-ordinates and aspect

    ratio.FloorplanH Floorplan Height.

    FloorplanW Floorplan Width.

    01 ArrangeBlocksInAscOrderOfArea (listOfBlocks);

    02 If NumberOfBlocks (listOfBlocks) = 1 then

    03 SetCordinateOfSubBlocks (listOfBlocks);

    04 FloorplanH = firstBlock (listOfBlocks).Height;

    05 FloorplanW = firstBlock (listOfBlocks).Width;06 Return;

    07 End If

    08 newCompositeBlock = CreateOneCompositeBlock

    (getFirstFourOrLessBlocks (listOfBlocks));

    09 InsertNewBlockInList (newCompositeBlock, listOfBlocks);10 Call algorithm-II (listOfBlocks);

    41

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    56/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    11 SetCordinateOfSubBlocks (listOfBlocks);

    3.5.3 Comparisons between Algorithm-I and Algorithm-II

    In algorithm-I, numbers of recursive call are in order of log4 n while in algorithm-II,

    numbers of recursive calls are equal to (n-2)/3 hence in order ofn. If both algorithms are

    evaluated with respect to numbers of exhaustive search procedures required, both are

    same in this respect. Numbers of exhaustive search procedures required is equal to (n-2)/3

    thus it is in order ofn (O (n)).

    In case of algorithm-II, composite block is inserted in order list of blocks according to its

    area, while in Algorithm-II sorting is used to arrange the list of composite blocks.

    Algorithm-I can easily implemented on distributed environment for better performance

    because in this algorithm. We can divide our problem size n in two problems of each size

    n/2.

    3.6 Experimental Results

    We have implemented the algorithm-I and algorithm-II in the C++ programming language

    on a PC with Intel PIV 1.8 GHz CPU and 256 MB memory. We have compared algorithm-

    I and algorithm-II with SP [6], O-tree [1], B*-tree [4], Enhanced O-tree [9], CBL [3],

    TCG [2], TCG-S, FAST-SP [13] and GPE [11] based on the five MSNC benchmark

    circuits. All of these algorithms are iterative algorithm. So they are taking much more time

    then our algorithm and also producing better results in area utilization, while our algorithm

    producing satisfactory results in area utilization and taking very less time. Here we have

    compared algorithms only for hard blocks placement.

    The area and runtime comparisons among SP [6] (on SUN Sparc Ultra-I), O-tree [1] (on a

    200 MHz SUN Sparc Ultra-I workstation with 521 MB memory), B*-tree [4] (on a 200

    MHz SUN Sparc Ultra-I workstation with 256 MB memory), Enhanced O-tree [9] (on a

    SUN Sparc Ultra-60), CBL [3] (on a SUN Sparc Ultra-20), TCG [2] (on a 433 MHz SUN

    Sparc Ultra-60 workstation with 1GB memory), TCG-S [16] (on a 433 MHz SUN Sparc

    Ultra-60 workstation with 1GB memory), FAST-SP [13](on ultra1)and GPE [11] (on a

    PC with Intel PIII 800 MHz CPU and 128 MB memory) is provided from Table 3.6.3a to

    Table 3.6.3e.

    42

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    57/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Area utilization and runtimes for algorithm-I and algorithm-II are shown in Table 3.6.1 and

    Table 3.6.2 respectively. Their comparisons are available in Table 3.6.3. Appendix A.1 and

    Appendix A.2 contain circuit layout generated by algorithm-I and algorithm-II

    respectively.

    MCNCCircuit

    ModuleCount

    Width(mm)

    Height(mm)

    FloorplanArea(mm2)

    TotalModulesAreas(mm2)

    DeadArea(%)

    Time(s)

    ami49 49 10.4720 3.8220 40.0240 35.4454 11.4395

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    58/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    MCNCCircuit

    ModuleCount

    MinimumArea(mm2

    )

    SP O-tree

    FloorplanArea(mm2)

    DeadArea(%)

    Time(s)

    FloorplanArea(mm2)

    DeadArea(%)

    Time(s)

    ami49 49 35.4454 38.842 8.7446 1580 37.6 5.7303 7428

    ami33 33 1.1564 1.22 5.2131 676 1.25 7.488 1430

    hp 11 8.8306 9.93 11.071 5 9.21 4.1194 57

    xerox 10 19.3503 20.69 6.4751 15 20.1 3.7298 118

    apte 9 46.5616 48.12 3.2385 13 47.1 1.1430 38

    Table 3.6.3a Area utilization and runtime for SP and O-tree

    MCNC

    Circuit

    Module

    Count

    Minimum

    Area(mm

    2

    )

    B*-tree Enhanced O-tree

    FloorplanArea(mm2)

    DeadArea(%)

    Time(s)

    FloorplanArea(mm2)

    DeadArea(%)

    Time(s)

    ami49 49 35.4454 36.80 3.6809 4752 37.73 6.0551 406

    ami33 33 1.1564 1.27 8.9448 3417 1.24 6.7419 118

    hp 11 8.8306 8.947 1.3009 55 9.16 3.5960 19

    xerox 10 19.3503 19.83 2.4190 25 20.16 4.0163 38

    apte 9 46.5616 46.92 0.7638 7 46.92 0.7638 11

    Table 3.6.3b Area utilization and runtime for B*-tree and Enhanced O-tree

    MCNCCircuit

    ModuleCount

    MinimumArea(mm2

    )

    CBL TCG

    FloorplanArea(mm2)

    DeadArea(%)

    Time(s)

    FloorplanArea(mm2)

    DeadArea(%)

    Time(s)

    ami49 49 35.4454 38.58 8.1249 65 36.77 3.6023 434ami33 33 1.1564 1.20 3.63333 36 1.20 3.6333 306

    hp 11 8.8306 NA NA NA 8.947 1.3009 20

    xerox 10 19.3503 20.96 7.6798 30 19.83 2.4190 18

    apte 9 46.5616 NA NA NA 46.92 0.7638 1

    Table 3.6.3c Area utilization and runtime for CBL and TCG

    44

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    59/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    MCNCCircuit

    ModuleCount

    MinimumArea(mm2

    )

    TCG-S FAST-SP

    FloorplanArea(mm2)

    DeadArea(%)

    Time(s)

    FloorplanArea(mm2)

    DeadArea(%)

    Time(s)

    ami49 49 35.4454 36.40 2.6225 369 36.50 2.8893 31

    ami33 33 1.1564 1.185 2.4135 84 1.205 4.0331 20

    hp 11 8.8306 8.947 1.3009 7 8.947 1.3009 6

    xerox 10 19.3503 19.796 2.2514 5 19.80 2.2712 14

    apte 9 46.5616 46.92 0.7638 1 46.92 0.7638 1

    Table 3.6.3d Area utilization and runtime for TCG-S and FAST-SP

    Table 3.6.3e Area utilization and runtime for GPE

    We have also generated three test cases for checking our algorithm for placement of soft

    blocks. In case-I, half numbers of blocks are soft and they are selected randomly. Range of

    their aspect ratio is from 1.0 to 2.0 (with + 90os rotation allowed) with 0.1 as increment.

    Table 3.6.4 shows pattern of hard and soft Blocks in test CASE I. In Case-II, half

    numbers of blocks are soft and they are complement of blocks in Case-I. It means thoseblocks, which are soft in case-I, are hard in case-II and visa versa. Range of their aspect

    ratio is from 1.0 to 2.0 (with + 90os rotation allowed) with 0.1 as increment. Table 3.6.5

    shows pattern of hard and soft Blocks in test CASE II. In Case-III, all blocks are soft.

    Range of their aspect ratio is from 1.0 to 2.0 (with + 90 os rotation allowed) with 0.1 as

    increment.

    MCNCCircuit

    Hard, SoftBlocks

    Pattern of Hard and Soft Blocks.Arranged in ascending order of area, 1 and 0 represents hard

    MCNCCircuit

    ModuleCount

    MinimumArea(mm2

    )

    GPE

    Floorplan

    Area(mm2)

    Dead

    Area(%)

    Time(s)

    ami49 49 35.4454 36.45 2.7561 247

    ami33 33 1.1564 1.18 2 81

    hp 11 8.8306 9.12 3.1732 2

    xerox 10 19.3503 20.14 3.9210 2

    apte 9 46.5616 46.90 0.7215 1

    45

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    60/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    Count and soft blocks respectively.

    ami49 (25,24) {1000001011010110000110010101101110111010111001000}

    ami33 (17,16) {001101100101010000101111100101001}

    hp (6,5) {000001111011}

    xerox (5,5) {0001111100}

    apte (5,4) {1000001111}Table 3.6.4 Pattern of Hard and Soft Blocks in test CASE -I

    MCNCCircuit

    Hard, SoftBlocksCount

    Pattern of Hard and Soft Blocks.Arranged in ascending order of area, 1 and 0 represents hard

    and soft blocks respectively.

    ami49 (24,25) {0111110100101001111001101010010001000101000110111}

    ami33 (16,17) {110010011010101111010000011010110}

    hp (5,6) {111110000100}

    xerox (5,5) {1110000011}apte (4,5) {0111110000}

    Table 3.6.5 Pattern of Hard and Soft Blocks in test CASE -II

    Area utilization and runtime of algorithm-I for case-I, case-II and case-III are shown in

    Table 3.6.6, Table 3.6.7 and Table 3.6.8 respectively. And for algorithm-II its available in

    Table 3.6.9, Table 3.6.10 and Table 3.6.11. The comparisons between algorithm-I and

    algorithm II with respect to case-I, case-II and case-III are available in Table 3.6.12 and

    Table 3.6.13. Appendix B.1 and Appendix B.2 contain circuit layout generated byalgorithm-I and algorithm-II respectively for case-I, case-II and case-III.

    Circuit ModuleCount

    Width(mm) Height(mm) FloorplanArea(mm)

    TotalModulesAreas(mm2)

    DeadArea (%)

    Time(s)

    ami49 49 9.7980 4.1190 40.3580 35.4454 12.1724 9

    ami33 33 1.5030 0.9960 1.4970 1.1564 22.7483 31

    hp 11 5.8330 1.6090 9.3853 8.8306 5.9104 2

    xerox 10 9.0030 2.4380 21.9493 19.3503 11.8410 31

    apte 9 5.5230 9.7810 54.0205 46.5616 13.8074 0

    Table 3.6.6 Area utilization and runtime for algorithm-I applied on case-I

    Circuit Module

    Count

    Width(mm) Height(mm) FloorplanArea(mm)

    TotalModules

    Areas(mm2)

    DeadArea(%

    )

    Time(s)

    ami49 49 10.6370 3.7150 39.5165 35.4454 10.3021 9

    46

  • 7/28/2019 Thesis on Floorplanning VLSI by Ramesh

    61/91

    Sponsored By: Bonrix Software Systems, Ahmedabad, India.www.bonrix.net, www.bonrix.co.in

    ami33 33 1.8160 0.7320 1.3293 1.1564 13.0039 6

    hp 11 10.4830 1.0080 10.5669 8.8306 16.4314 30

    xerox 10 3.2070 7.6440 24.5143 19.3503 21.0653 3

    apte 9 5.3780 10.4530 56.2162 46.5616 17.1741 2

    Table 3.6.7 Area utilization and runtime for algorithm-I applied on case-II

    Circuit ModuleCount

    Width(mm) Height(mm) FloorplanArea(mm)

    TotalModulesAreas(mm2)

    DeadArea(%)

    Time(s)

    ami49 49 9.9360 3.9850 39.5950 35.4454 10.4800 367

    ami33 33 1.8590 0.73


Recommended