+ All Categories
Home > Documents > Fixed Outline Floorplan

Fixed Outline Floorplan

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

of 14

Transcript
  • 7/28/2019 Fixed Outline Floorplan

    1/14

    858 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 5, MAY 2008

    Fixed-Outline Floorplanning: Block-PositionEnumeration and a New Method

    for Calculating Area CostsSong Chen and Takeshi Yoshimura, Member, IEEE

    AbstractIn this paper, we propose a fixed-outline floorplan-ning (FOFP) method [insertion-after-remove (IAR) FP]. An elab-orated method for perturbing solutions, the IAR, is devised. Thisperturbation uses a technique of enumerating block positions,which is implemented based on the floorplan-representation se-quence pair. The proposed perturbation method can greatly ac-celerate searching-based algorithms, such as simulated annealing,by skipping many solutions that fail to meet the fixed-outlineconstraint. Moreover, based on the analysis of the diverse objective

    functions used in the existing research works, we suggest forthe FOFP a new objective function which is still effective whencombined with other objectives. Experimental results show that, ifarea and wirelength are optimized simultaneously, using less time,the proposed method obtains much higher average success rate forthe FOFP with various aspect ratios, while the wirelength with thefixed-outline constraint is reduced by 20% on average, comparedwith the latest fixed-outline floorplanners. On the other hand, wevalidated once more by experiments that an aspect ratio close toone is beneficial to wirelength, and hence, a larger area weight isnecessary for the FOFP with a larger aspectratio to ensure feasiblesolutions.

    Index TermsFixed outline, floorplanning, sequence pair (SP).

    I. INTRODUCTION

    AS THE IC technology advances, integrated density keeps

    increasing. A single chip can integrate more and more

    functions and often includes millions of transistors. Multi-

    level hierarchical design is an essential method to cope with

    the increasing design complexity. Fixed-outline floorplanning

    (FOFP) enables multilevel hierarchical design [1], where aspect

    ratios and area of floorplans are usually imposed by higher level

    floorplanning and must be satisfied. Hence, a floorplan violating

    fixed-outline constraint is useless. Kahng [2] also pointed out

    that modern very large scale integration design is based on a

    fixed-die (fixed-outline) floorplan rather than a variable-die one.The FOFP has been shown to be much more difficult than

    outline-free floorplanning [1]. In Parquet [1], [3], based on

    sequence pair (SP) [4], the author presented new objective

    functions to drive simulated annealing and better local search

    Manuscript received April 30, 2007; revised August 31, 2007 andNovember 16, 2007. This work was supported in part by the Knowledge ClusterInitiative implemented by the Ministry of Education, Culture, Sports, Scienceand Technology (MEXT). This paper was recommended by Associate EditorD. Z. Pan.

    The authors are with the Graduate School of Information, Production andSystems, Waseda University, Kitakyushu 808-0135, Japan (e-mail: [email protected]).

    Digital Object Identifier 10.1109/TCAD.2008.917968

    with new types of moves for the FOFP. References [5] and [6]

    incorporated min-cut partitioning into floorplanning to improve

    the performance and runtime of Parquet. Liu et al. [7] pro-

    posed an FOFP method based on instance augmentation, which

    started with a subset of blocks and progressively worked on

    larger subsets until all of the blocks were involved. However,

    there was no consideration of interconnect. Lin et al. [8]

    proposed an evolutionary-search-based robust FOFP method,which only took area into account. Chen and Chang [9], [10]

    presented an adaptive fast simulated annealing (SA) scheme

    that dynamically changed the weights in the cost function to

    optimize the wirelength under the outline constraint.

    It is easy for the existing flat fixed-outline floorplanners to

    get feasible solutions if area is the only objective. If wirelength

    is also considered, however, finding feasible solutions becomes

    difficult for them. Partially, it is due to inappropriate objective

    functions. We analyzed the objective functions used in the ex-

    isting FOFP methods and found that all of them have limitations

    (Section III-B) when combined with other objectives.

    In this paper, we suggest for the FOFP a new function to

    calculate area costs, which is still effective when combinedwith other objectives. The objective function is used in the pro-

    posed fixed-outline floorplanner insertion-after-remove (IAR)

    FP (IARFP). An elaborate method for perturbing solutions, the

    IAR, is also devised for annealing-based search algorithms.

    This perturbation uses a technique of enumerating block posi-

    tions, which is implemented based on a floorplan-representation

    SP, and takes O(n2) time without considering wirelength. Theproposed perturbation method can greatly accelerate searching-

    based algorithms since many solutions that failed to meet

    the fixed-outline constraint are skipped. Compared with some

    previous fixed-outline floorplanners, IARFP is very effective

    and has a good scalability. Experiments show that, if area andwirelength are optimized simultaneously, using less running

    time, IARFP obtains 94.24% average success rate compared

    with the average success rates of 67.2% and 31% obtained by

    Parquet 4.5 [11] and the B-tree-based fixed-outline floor-planner [10] National Taiwan University (NTU-FOFP), respec-

    tively. At the same time, the IARFP reduces the wirelength

    with fixed-outline constraint by 21% and 19%, respectively,

    compared with Parquet 4.5 [11] and NTU-FOFP [10].

    Additionally, it has been shown, in existing research works,

    that the aspect ratio of the chip (the ratio of the chip width to

    the chip height) has an effect on wirelength [1]. However, there

    are no proper interpretations for this. In this paper, by dividing

    0278-0070/$25.00 2008 IEEE

  • 7/28/2019 Fixed Outline Floorplan

    2/14

    CHEN AND YOSHIMURA: FOFP: BLOCK-POSITION ENUMERATION AND A METHOD FOR CALCULATING AREA COSTS 859

    the half-perimeter wirelength (HPWL) into the wirelength

    along two directions (x- and y-axes), we interpret it intuitivelyand show by experiments that an aspect ratio close to one is

    beneficial to wirelength.

    The organization of this paper is as follows. Section II

    gives the problem definition and briefly reviews the floorplan-

    representation SP. Section III shows the analysis of the objec-tive functions and the flow of the FOFP. Section IV elaborates

    the technique of enumerating block positions in SP. Section V

    discusses the wirelength evaluation during enumerating inser-

    tion points. Section VI analyzes the complexity. Section VII

    compares the proposed FOFP method with some latest fixed-

    outline floorplanners and analyzes the relation between aspect

    ratio and wirelength by experiments. Section VIII draws some

    conclusions.

    II. PROBLEM FORMULATION

    Let S = {bi|1 i n} be a set of rectangular blocks,among which connections (nets) exist, and each block bi hasspecified width wi and height hi. The FOFP is an assignment oftwo tuples (xi, yi) to blocks such that the following conditionsare achieved.

    1) There is no overlapping between any two blocks.

    2) All the blocks are packed into the specified region (fixed

    outline).

    3) Some objectives, for example, area, wirelength, etc., are

    optimal (minimized).

    Given the total area A of the blocks and a maximum whitespacefraction , we construct a fixed outline with an aspect ratio 1 [1] as follows:

    W0 =

    (1 + )A, H 0 =

    (1 + )A/.

    Without special declaration, the aspect ratio is defined asW0/H0(> 1) in this paper.

    The well-studied SP [4] is used as the floorplan representa-

    tion. An SP is a pair of sequences of n elements representing alist of n blocks. It imposes the relationship between each pairof blocks as follows:

    ( bi bj , bi bj )bi is left to bj

    ( bj bi , bi bj )bibelow

    bj .

    The original paper that proposed the SP presented an O(n2)algorithm to transform an SP into a floorplan. Tang et al. [12]

    sped up the evaluation algorithm to O(nloglogn).A block position, in an SP (P, M), means an insertion point

    represented by a tuple (p, m), where p is one position betweentwo adjacent blocks in P, and m is one position between twoadjacent blocks in M. p(m) may also be the position beforethe first block or after the last block in P(M). Hence, thereare (n + 1) candidate positions for insertion in each sequence,and there are totally (n + 1)2 block positions to insert a blockin a given SP. As shown in Section IV, some of them will be

    equivalent because of having the same distances to the chipboundaries.

    Fig. 1. Optimization flow.

    III. FOFP

    A. Overview

    Fig. 1 shows the flow of the proposed fixed-outline floor-

    planner (IARFP). The initial solution is generated randomly,

    and then, the simulated annealing engine is invoked. Instead

    of the traditional methods of perturbing solutions, for example,

    swapping blocks, moving blocks, etc., we elaborate a pertur-

    bation method, the IAR, which is based on the strategy of

    IAR. (O-tree-based floorplanning method [13] used a simple

    remove-and-insertion perturbation strategy.) In this paper, we

    propose an elaborate insertion procedure which can accelerate

    the searching greatly by skipping many solutions that fail tomeet the fixed-outline constraint.

    In Fig. 1, the step Select an insertion point for the removed

    block does not just select a random position for the removed

    block. Instead, candidate block positions are restricted within

    a small range by enumerating insertion points, which is imple-

    mented based on SP (Section IV). The flow of the selection is

    as follows.

    1) Compute the floorplan of the blocks except the re-

    moved one.

    2) Enumerate all the insertion points based on the floorplan

    information obtained in step 1), and select a fixed number

    of candidate insertion points (CIPs) for the removed block

    by rough evaluations.

    3) Choose for the removed block one of the candidate inser-

    tion points selected in step 2).

    In step 2), the insertion points are evaluated by the linear

    combination of the area costs and the wirelength of the nets

    related to the removed block. Area costs are calculated in (5)

    defined in the next section. In this step, since the candidate

    insertion points are restricted into a small range, many solutions

    that are faraway from meeting the fixed-outline constraint are

    skipped. The enumeration of insertion points will be discussed

    in Section IV.

    In step 3), we can randomly choose one insertion point in

    the CIPs selected in step 2) and calculate its costs accurately.If there is an improvement, the corresponding insertion point

  • 7/28/2019 Fixed Outline Floorplan

    3/14

    860 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 5, MAY 2008

    Fig. 2. Potential tradeoff between area and aspect ratio.

    will be the new position of the removed block. Otherwise, an

    acceptable probability will be calculated.

    On the other hand, we can evaluate all the CIPs selected in

    step 2) accurately. We insert the block into the SP at each CIP

    and compute the costs by a linear combination of area costs (5)

    and total wirelength. If the best one of them shows an improve-

    ment, the corresponding insertion point will be the new position

    of the removed block. Otherwise, an acceptable probability will

    be calculated. In such a case, the greedy strategy is used, but it

    is much faster. In the experiments, we use such a method for

    wirelength-driven FOFP.

    B. Objective Functions

    In this section, we analyze the limitations of the objective

    functions used in the existing FOFP methods. Additionally,

    we propose a new objective function for the FOFP problem.

    The proposed function works well when optimizing multiple

    objectives.

    In [1], the following objective functions were suggested:

    max(W W0, 0) + max(H H0, 0) (1)max(W

    W0, H

    H0). (2)

    The authors showed by experiments that a classic annealer-

    based floorplanner was practically unable to satisfy fixed-

    outline constraints under these objective functions, thus devised

    slack-based moves for FOFP. However, when combined with

    other objectives, for example, wirelength, such functions are

    likely to be ineffective because the function values hardly reach

    zero if competitions from other objectives exist.

    The following functions were also used [7], [9]:

    max(H H0, 0)/H0 + max(W W0, 0)/W0 (3)W H + (W/H W0/H0)2. (4)

    The functions have the same problem as the functions defined

    in (1) and (2). Equation (4) combines the area and the aspect

    ratio. Both objectives may conflict with each other. Therefore,

    this function potentially makes a tradeoff between the area and

    the aspect ratio. Fig. 2 shows an illustration. Assume that Wdecreases by x and H increases by y. The new area will be

    (Wx) (H+y) = W H(H xW y+xy).

    In such a case, the aspect ratio (W/H) is reduced. However,the area may decrease, keep unchanged, or increase, depending

    on x and y which are difficult to predict based on solution

    perturbations. The area decreases if (W/x H/y) < 1, isunchanged if(W/x H/y) = 1, and increases otherwise.

    In this paper, we suggest the following objective function for

    calculating the area costs in FOFP:

    EW+EH +C1 max(EW, EH )+ C2 max(W, H )(5)

    where EW = max(W

    W0, 0) and EH = max(H

    H0, 0)

    are the excessive width and height of the floorplan, respectively,and C1 and C2 are some user-defined constants. Generally, C1is greater than C2. In our experiments, C1 = 1, and C2 = 1/16for all test cases. The differences between the proposed function

    and the functions aforementioned are as follows.

    1) The values related to the height of the chip are scaled by

    the aspect ratio . Without scaling H, experiments showthat the shorter of width and height of the fixed-outline

    will be violated with a very high probability if aspect

    ratios are far from one.

    2) An additional penalty item is added for the larger of

    EH and EW. The bigger of the excessive width andexcessive height should be penalized more.

    3) An additional penalty item is added for the larger ofH and W. This item keeps the function effective when com-bined with other objectives since width and height can be

    reduced even though excessive width and height are close

    to zero. On the other hand, as the aspect ratio grows, this

    item also increases, which ensures the competitiveness

    of the fixed-outline constraint if some other objectives,

    for example, wirelength, etc., exist. Because, according

    to our experiences, the larger the aspect ratio ( 1), thelonger the wirelength. An explanation will be given in the

    next section.

    C. Aspect Ratio and Wirelength

    In the HPWL model, the wirelength is estimated by

    nets

    (xmax xmin) + (ymax ymin)

    where xmax denotes the maximum x coordinates of all thepins involved in a net (xmin, ymin, and ymax have simi-lar meaning). We denote the wirelength in x-direction bywirex(=

    nets(xmax xmin)) and wirelength in y-direction

    by wirey(=

    nets(ymax ymin)).There is a well-known simple geometric observation that the

    square has the smallest perimeter among all the rectangles withthe same area, and the larger the aspect ratio ( 1), the longerthe perimeter.

    In the FOFP, the area of the outline envelop is fixed. There-

    fore, the bigger the aspect ratio, the larger W0 + H0. Thiscould cause different distributions of HPWL in the x-direction(corresponding to W) and in the y-direction (correspondingto H) from different aspect ratios. Intuitively, larger aspectratio means more wirex and less wirey since many nets might

    have larger bounding-box aspect ratios under larger chip aspect

    ratios. wirex + wirey will be larger if the bounding boxes havesimilar area.

    According to [14], the statistical expectation of the dif-

    ference between maximum and minimum for k independentrandom points uniformly distributed on the segment [0, L] is

  • 7/28/2019 Fixed Outline Floorplan

    4/14

    CHEN AND YOSHIMURA: FOFP: BLOCK-POSITION ENUMERATION AND A METHOD FOR CALCULATING AREA COSTS 861

    [1 2/(k + 1)] L. Therefore, the expected wirex, wirey, andwirex + wirey are linear with W, H, and W + H, respectively.Although, in real cases, the blocks could not overlap with

    each other and any wirelength-driven fixed-outline floorplanner

    tends to place blocks with more interconnections together, this

    overestimate shows the trend wirelength changes with chip

    dimensions.In Section VII-C, the experiments are devised to demonstrate

    this trend. Area costs are calculated using (5), and the following

    formula is modified from (5), in which width and height are

    scaled by 1/

    and

    , respectively, to keep similar area costsfor all aspect ratios:

    EW/

    + EH

    + C1 max(EW/

    , EH

    )

    + C2 max(W/

    , H

    ). (6)

    In the experiments, besides computing the HPWL, we also

    calculate wirex and wirey , respectively. We find that the wire-

    length increases as the chip aspect ratio increases. The ratio

    of wirex to wirey becomes larger and larger as the aspect

    ratio increases, whereas the geometric mean (

    x y) of themvaries in a much smaller range compared with the change

    of wirelength. These are consistent with the aforementioned

    simple geometric observation.

    IV. ENUMERATING INSERTION POINTS

    As discussed in Section II, given an SP of n blocks, there are(n + 1)2 insertion points for inserting a block. To restrict thecandidate block positions within a small range, it is important

    to evaluate these insertion points efficiently. In order to evaluate

    an insertion point for a block, we have to estimate the chipdimensions and wirelength after inserting the block into the

    insertion point. In this section, we discuss how to evaluate the

    chip dimensions for each insertion point. The estimation of

    wirelength will be discussed in the next section.

    A. Distances of Insertion Points to a Chip Boundary

    To compute the chip dimension after inserting a block into an

    insertion point, we first compute the corresponding x/xr/y/yr

    distances (later defined in this section) of the insertion point.

    Then, the sum of x distance, xr distance, and the width of the

    block is calculated. The new chip width will be the maximumof the sum and the current chip width. In the remainder of this

    section, we discuss the computation of these distances in detail.

    Given n blocks, bi, i = 1, . . . , n, and their sequence P, thefollowing notations are used in the rest of this section:

    P[I] ith block in P, 1 i n.Pi prefix of P with length i, 0 i n; P0 means an

    empty prefix, and Pi = P[1]P[2] P[i], 1 i n.LP[b] position of blockb in P, e.g., LP[P[i]] = i.Given an SP (P, M), we use (p, m) to represent an insertion

    point for a block in (P, M) that consists of the insertion po-sition in sequence P just after block p and the insertion po-sition in M just after block m, where p, m

    {0

    }

    {bi

    |i =

    1, . . . , n}, and zero means the insertion position at the be-ginning of a sequence (before the first block). Inserting

    a block b into an insertion point (P[i], M[j]) means anew SP (P, M) = (P[1] P[i]b P[i + 1] P[n], M[1] M[j]b M[j + 1] M[n]).

    Definition 1: The x distance of an insertion point (p, m). Ifa block is inserted into (p, m), in the corresponding floorplan,the minimum distance from the left boundary of the block to

    that of the chip is defined as the x distance of (p, m), denotedas x(p,m).

    We can similarly define the y distance of (p, m), denotedas y(p,m), which is the minimum distance to the chip bottomboundary, the xr distance of (p, m), denoted as xr(p,m), whichis the minimum distance to the chip right boundary, and the yr

    distance of (p, m), denoted as yr(p,m), which is the minimumdistance to the chip top boundary.

    Let LCS(Pi, Mj) be the block-width-weighted longest com-mon subsequence of Pi and Mj , and let lcs(Pi, Mj) be theweight sum of the elements in LCS(Pi, Mj)

    1 [12]. As presented

    in [12], x(P[i],M[j]) = lcs(Pi, Mj). Let PR denote the reverse

    of a sequence P, and let (PR)i be the prefix ofPR. Similarly,we have

    y(P[i],M[j]) = lcs

    (PR)ni, Mj

    xr(P[i],M[j]) = lcs

    (PR)ni, (MR)nj

    yr(P[i],M[j]) = lcs

    Pi, (MR)nj

    .

    When computing y(P[i],M[j]) and yr(P[i],M[j]), we use block-

    height-weighted longest common subsequences.

    In this section, we discuss a method to compute the xdistance of total (n + 1)2 insertion points in O(n2) time, whichis linear with the number of insertion points.

    1) Computing the xDistance for All Insertion Points: Given

    an SP (P, M) of n blocks, it is obvious that x(p,0) = 0 andx(0,m) = 0, where p, m {0}

    {bi|i = 1, . . . , n}. We needto compute the x distance of n2 insertion points (P[i], M[j]),where 1 i n and 1 j n. Because x(P[i],M[j]) =lcs(Pi, Mj), x(P[i],M[j]) has nothing to do with block M[l],j < l n, which is right to M[j] in M. Accordingly, thex distances can be computed by visiting the blocks on the orderof sequence M.2

    The following algorithm is modified from an algorithm in

    [12]. It computes the x distances of all the insertion points.

    Algorithm 1: COMPUTE_ALL_0(P, M)

    1. Initialize distance vector X with 0;2. For i = 1 to n3. ip = L

    P[M[i]]; //get the position ofM[i] in P4. t = X[ip] + w(M[i]);

    //w(M[i]) means the width and x(P[ip],M[i]) = t.5. For j = ip to n do //update X6. if (t > X[j])7. X[j] = t;8. else break;

    1For example, 1345 is one of the longest common subsequences of twosequences 13245 and 12345. If the elements of the sequences are weighted,the LCS(S1, S2) is defined as the common subsequence with the maximumweight lcs(S1, S2).

    2x(P[i],M[j]) also has nothing to do with block P[l], i < l n, which is

    right to P[i] in P. In our discussion, we choose M as the order.

  • 7/28/2019 Fixed Outline Floorplan

    5/14

    862 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 5, MAY 2008

    In the following discussions, we use Xi to represent thestatus of vector X at the end ofith i-for loop.

    Theorem 1: Given an SP (P, M) of n blocks, Algorithm 1correctly computes the x distances of n2 insertion points(P[l], M[i]), where 1 l n, and 1 i n, and

    x(P[l],M[i]) = X

    i

    [l].

    Proof: We use an induction on i to prove that the x dis-tances of the insertion points in (P, M) are correctly computed.

    Initially, in Algorithm 1, X[l], l = 1, . . . , n, is zero.When i = 1, let ip = Lp[M[1]], i.e., P[ip] = M[1]. After the

    first i-for loop finishes, we can easily know that X1[l] = 0 ifl < ip and X1[l] = M[1] ifip l n.

    1) If l = ip, since M1 includes only M[1], we havex(P[ip],M[1]) = lcs(Pip , M1) = w(M[1]).

    2) Ifl < ip, x(P[l],M[1]) = lcs(Pl, M1) = 0.3) Ifl > ip, x(P[l],M[1]) = lcs(Pl, M1) = w(M[1]).

    Based on 1), 2), and 3)

    x(P[l],M[1]) = X1[l], l = 1, . . . , n .

    Assume that, when i = k

    x(P[l],M[k]) = Xk[l], l = 1, . . . , n .

    We prove that

    x(P[l],M[k+1]) = X(k+1)[l], l = 1, . . . , n .

    When i = k + 1, let ip = LP[M[k + 1]] and b = P[ip] =

    M[k + 1]. Let j0 be the break point of j-for loop in step 5.

    It is obvious that j0 > ip.After finishing the (k + 1)th i-for loop, we know

    that X(k+1)[l] = Xk[l] if 1 l < ip or j0 l n andX(k+1)[l] = Xk[l] + w(M[ip]) = t ifip l < j0.

    1) If1 l < ipx(P[l],M[k+1]) = lcs(Pl, Mk+1) = lcs(Pl, Mk)

    = x(P[l],M[k]) = Xk[l] = X(k+1)[l].

    2) Ifl = ip

    x(P[ip],M[k+1]) = lcs(Pip , Mk+1)

    = lcs(Pip1b, Mkb)= lcs(Pip1, Mk) + w(b)= lcs(Pip , Mk) + w(b)

    = x(P[ip],M[k]) + w(b)

    = Xk[ip] + w(b)

    = X(k+1)[ip].

    3) Ifip < l < j0, based on the condition in step 6, we knowthat x(P[ip],M[k+1]) = t > x(P[l],M[k]), i.e.,

    lcs(Pip , Mk+1) > lcs(Pl, Mk), ip < l < j0. (7)

    Let us check the relation between b(= M[k + 1] =P[ip]) and LCS(Pl, Mk+1). If b is not an element

    of LCS(Pl, Mk+1), we can get lcs(Pl, Mk+1) =lcs(Pl, Mkb) = lcs(Pl, Mk). Considering (7), we have

    lcs(Pip , Mk+1) > lcs(Pl, Mk+1). (8)

    We should have lcs(Pip , Mk+1) lcs(Pl, Mk+1)since ip < l. It is a contradiction. Hence, b must bean element of LCS(Pl, Mk+1). Then, lcs(Pl, Mk+1) =lcs(Pip , Mk+1), i.e., x(P[l],M[k+1]) = x(P[ip],M[k+1]) =

    X(k+1)[ip]. Since X(k+1)[l] = X(k+1)[ip], ip < l < j0,

    we get

    x(P[l],M[k+1]) = X(k+1)[l], ip < l < j0.

    4) Ifj0 l n, we prove that x(P[l],M[k+1]) = x(P[l],M[k])using a proof by contradictory.

    Assume that x(P[l],M[k+1]) = x(P[l],M[k]), j0 l n.Because x(P[l],M[k+1]) = lcs(Pl, Mk+1) lcs(Pl,

    Mk) = x(P[l],M[k]), we get

    x(P[l],M[k+1]) > x(P[l],M[k]), j0 l n. (9)

    Since j-for loop breaks at j = j0, we have

    x(P[ip],M[k+1]) x(P[l],M[k]), j0 l n

    i.e.,

    lcs(Pip , M(k+1)) lcs(Pl, Mk), j0 l n. (10)

    On the other hand, let us check the relation be-

    tween b and LCS(Pl, Mk+1). If b does not belong toLCS(Pl, Mk+1), we have

    lcs(Pl, Mk+1) = lcs(Pl, Mkb) = lcs(Pl, Mk)

    i.e., x(P[l],M[k+1]) = x(P[l],M[k]), which contradicts with(9). Hence, b must be an element of LCS(Pl, Mk+1). Weget lcs(Pl, Mk+1) = lcs(Pip , Mk+1) accordingly. Con-sidering (10), we have lcs(Pl, Mk+1) lcs(Pl, Mk), i.e.,

    x(P[l],M[k+1]) x(P[l],M[k]), j0 l n

    which contradicts with (9). Consequently, if j0

    l

    n

    x(P[l],M[k+1]) = x(P[l],M[k]) = Xk[l] = X(k+1)[l].

    In short, based on 1), 2), 3), and 4), we get

    x(P[l],M[k+1]) = X(k+1)[l], l = 1, . . . , n .

    Q.E.D.

    Algorithm 1 can accept an SP (PR, MR) to compute thexr distance of all the insertion points in (P, M). Similarly,if elements are weighted by block height (i.e., in step 4 of

    Algorithm 1, w(M[i]) is the height of M[i]), Algorithm 1 can

    accept the SPs (PR, M) and (P, MR) to compute the y and yrdistances, respectively.

  • 7/28/2019 Fixed Outline Floorplan

    6/14

    CHEN AND YOSHIMURA: FOFP: BLOCK-POSITION ENUMERATION AND A METHOD FOR CALCULATING AREA COSTS 863

    2) Implementation of Algorithm 1: As discussed in the pre-

    vious section, the x and y distances of insertion points can becomputed by visiting the blocks on the order of sequence M.However, the xr and yr distances have to be computed on theorder of sequence MR. Accordingly, in order to compute thefour distances of insertion points by visiting blocks on the order

    ofM, we have to get the statuses ofX, corresponding to the xr

    and yr distances, on the order ofXn, Xn1, . . . , X 1. Trivially,we can back up the status of X at the end of each i-for loop,but O(n2) space is needed, and we have to visit the insertionpoints one by one even though they have the same distances

    to chip boundaries. In this section, we give a modification of

    Algorithm 1 with X managed by a doubly linked list, in whichthe statuses of X can be easily backed up in O(n) space andrestored in O(n) time (Section IV-B will discuss the backingup and the restoring of doubly linked lists in detail).

    Algorithm 2: COMPUTE_ALL(P,M,w,X,dl,bk_dl)1. dl[H].suc = T; dl[T].pre = H;2. X[H] = 0;3. For i = 1 to n4. ip = L

    P[M[i]];//get the position ofM[i] in P5. it = H; lp = dl[it].suc;6. while (lp = T) and (lp < ip)

    //Find the insertion position in dl for ip.7. it = lp;8. lp = dl[lp].suc;9. t = X[it] + w(M[i]);//x(P[ip],M[i]) = t.10. X[ip] = t;11. while (lp = T) and (t > X[lp])12. lp = dl[lp].suc;

    13. bk_dl[ip].suc = dl[it].suc; bk_dl[ip].pre = dl[lp].pre;14. dl[it].suc = ip; dl[ip].suc = lp; //update dl15. dl[lp].pre = ip; dl[ip].pre = it; //update dl

    In Algorithm 2, step 1 initializes the doubly linked list. HandT could be zero and n + 1, respectively. Steps 4 to 9 achievethe same function as that of step 4 in Algorithm 1. Compared

    with Algorithm 1, Algorithm 2 only records the change points

    of values in X by a doubly linked list dl. In step 10, a newvalue is recorded in X at point ip. The steps from 11 to 15update the doubly linked list to a new status by inserting a new

    node corresponding to ip (note that ip is the position of M[i]

    in sequence P, which determines the position in the dl of thenode) and removing any node after ip whose value is less thanthat at ip(t). The new status of the dl records the change pointsof value in the new X status.

    In step 13, we add a statement for backing up the doubly

    linked lists (note that bk_dl is not a doubly linked list). Letdli be the status of dl at the end of ith for-loop. Based on thisbackup, we can easily restore the status of dl from dli+1 to dli.Accordingly, we can easily know the Xi from Xi+1, 1 i n 1 (Section IV-B).

    Fig. 3 shows an example of dl. The given SP is (P, M) =(f cedba, cbfade), and the block dimensions are shown in thefigure. The x distance of the insertion points is shown in

    the captions of the subfigures. In each subfigure, the relatedpart of the floorplan is also shown. The dashed vertical line

    segments in the floorplans correspond to the change points of xdistance. The rj labels show the regions to which the insertionpoints correspond. For example, in Fig. 3(a), the insertion point

    (f, c) corresponds to region r1, and (p, c), p = c,e,d,b, and a,corresponds to region r2.

    In Algorithm 2, the total iteration number of while-loop in

    step 11 is less than n because the total number of elementsdeleted from the dl in the whole for-loop is less than n. Thewhile-loop in steps 6 to 8 totally consumes O(n2) time duringthe whole for-loop. Therefore, the complexity of Algorithm 2 is

    also O(n2). In the experiments, we combine a complete binarytree with the doubly linked list. The insertion and deletion

    operation on dl can be done in log(n) time [12], and thecomplexity of Algorithm 2 can be reduced to O(n(log(n)))accordingly.3 Since the implementation is the same as that in

    [12], we skip the discussion.

    B. Backing Up and Restoring the Doubly Linked List

    As discussed in Section IV-A1, the x and y distances ofinsertion points can be computed by visiting the blocks on the

    order of sequence M, whereas the xr and yr distances haveto be computed on the order of sequence MR. Accordingly, ifwe want to compute the four distances of insertion points by

    visiting blocks on the order of M, we have to get the statusesof the doubly linked lists dl, corresponding to the xr and yr

    distances, on the order of dln, dln1, . . . , dl1. In this section,we discuss how to back up and restore the doubly linked list so

    that we can visit the statuses of doubly linked lists on the order

    ofdln, dln1, . . . , dl1.In order to insert an element into a doubly linked list, we have

    to change two pointers (one in the forward list and the other inthe backward list) and add two new pointers that point out from

    the inserted element.

    The statements in steps 14 and 15 of Algorithm 2 show the

    operation of inserting a node into the dl. Let dli1 and dli

    denote the statuses ofdl at the end of(i 1)th and ith for-loop,respectively. In the forward linked list, although a new pointer

    that points out from ip is added, in dli1, only the pointer that

    points out from it is changed. Correspondingly, a pointer in thebackward linked list is changed. Therefore, we can get dli1

    from dli by restoring these two changed pointers. In step 13of Algorithm 2, bk_dl[ip].suc and bk_dl[ip].pre recorded thechanged pointers. Given dli, we can get dli1 from dli byassigning bk_dl[ip].suc to dl

    i[it].suc and bk_dl[ip].pre todli[lp].pre. The operations of restoring the doubly linked listare as follows.

    Func. 1 restore_list (ip,dl,bk_dl)t1 = dl[ip].suc;t2 = dl[ip].pre;dl[t2].suc = bk_dl[ip].suc;dl[t1].pre = bk_dl[ip].pre;

    3

    In theory, this complexity can be O(n(log log(n))) by using a moreadvanced priority [12]. However, the results in [12] showed that such an algo-rithm has advantages only when the block number is more than around 4000.

  • 7/28/2019 Fixed Outline Floorplan

    7/14

    864 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 5, MAY 2008

    Fig. 3. Computation ofx distance. (a) M[1] = c, w(c) = 2: x(p,c) = 0 ifp = f(r1); x(p,c) = 2 ifp = c,e,d,b,a(r2). (b) M[2] = b, w(b) = 2 : x(p,c) = 0

    ifp = f(r1); x(p,c) = 2 ifp = c,e,d(r2); x(p,c) = 4 ifp = b, a(r3). (c) M[3] = f, w(f) = 3: x(p,c) = 3 ifp = f , c , e , d(r2); x(p,c) = 4 ifp = b, a(r3).

    (d) M[4] = a, w(a) = 2: x(p,c) = 3 if p = f , c , e , d(r2); x(p,c) = 4 if p = b(r3); x(p,c) = 4 if p = a(r4). (e) M[5] = d, w(d) = 3: x(p,c) = 3 if p =

    f , c , e(r2); x(p,c) = 4 ifp = d,b,a(r3). (f) M[6] = e, w(e) = 3 : x(p,c) = 3 ifp = f, c(r2); x(p,c) = 4 ifp = e,d,b,a(r3).

    It is obvious that Func.1 can be done in constant time.

    Therefore, we can sequentially restore the n statuses of dl inO(n) time. In Algorithm 2, we can easily know that the spacecomplexity of backing up dl is O(n).

    An example is used to show the backing up and restoring of

    doubly linked lists. Given the SP (P, M) = (f cedba, cbfade)used in Section IV-A2, Fig. 4 shows an example on the yr

    distance, which is computed based on the pair of sequences

    (P, MR) = (f cedba, edafbc). As we move from e to c, theillustration of the changing dl is shown in Fig. 4(a)(f). Thestatuses of dl, X, and bk_dl at the end of each loop arealso shown in the corresponding subfigure. In the figure,

    dl[H].suc is shown in the captions of the subfigures forconvenience.

    For instance, in Fig. 4(d), f(LP[f] = 1) (ip = 1) is insertedinto dl with a value of three stored in X, and e and d are deletedfrom dl since their values are not more than three. Because thetwo pointers changed to f previously point to e and d, respec-tively, we need to record (e, d) for restoring dl to the statusbefore f is inserted. Since LP[f] = 1, LP[e] = 3, and LP[d] =4, we set bk_dl[1].suc = 3 and bk_dl[1].pre = 4 (in the figure,the corresponding values are displayed using italic fonts). The

    dl status shown in Fig. 4(c) easily comes back by redirectingthe forward pointer that ends at f to e and the backward pointerthat ends at f to d. Based on function 1, since dl[1].pre = Hand dl[1].suc = 6(LP[a] = 6), the status of the doubly linked

    list is restored to that in Fig. 4(c) by setting dl[H].suc =bk_dl[1].suc(= 3) and dl[6].pre = bk_dl[1].pre(= 4).

    C. Enumerating Insertion Points

    Based on the technique of backing up and restoring doubly

    linked list discussed in the previous section and the Algorithm 2

    discussed in Section IV-A2, we give an algorithm to enumerate

    the insertion points for a block.

    Algorithm 3: ENUMERATE_SP(P , M , b)1. COMPUTE_ALL(PR, MR, w, Xxr , dlxr , bk_dlxr );//compute xr distance and back up the doubly linked liststatuses

    2. COMPUTE_ALL(P, MR, h, Xyr , dlyr , bk_dlyr );//compute yr distance and back up the doubly linked liststatuses

    3. dlx[H] = T; Xx[0] = 0;4. dly[H] = T; Xy[0] = 0;5. For i = 1 to n6. update_dl(LP, M[i], dlx, Xx, w);

    7. update_dl(LPR

    , M[i], dly , Xy , h);

    8. restore_dl(LPR

    [M[i]], dlxr , bk_dlxr );9. restore_dl(LP[M[i]], dlyr , bk_dlyr );10. scan_dls(dlx, Xx, dly, Xy, dlxr , Xxr , dlyr , Xyr , b);

    Steps 1 and 2 call Algorithm 2. The function Update_dl()includes steps 4 to 15 in Algorithm 2 except step 13. The

    names with the subscript x correspond to the computation of

    x distance. The other names have similar implications. Thefour linked lists are simultaneously scanned in the function

  • 7/28/2019 Fixed Outline Floorplan

    8/14

    CHEN AND YOSHIMURA: FOFP: BLOCK-POSITION ENUMERATION AND A METHOD FOR CALCULATING AREA COSTS 865

    Fig. 4. Backing up and restoring of a doubly linked list. (a) dl[H].suc = 3: M[1] = e, w(e) = 1 ; the pointers to (T, H) are redirected to insert e.

    (b) dl[H].suc = 3 : M[2] = d, w(d) = 2; the pointers to (T, e) are redirected to insert d. (c) dl[H].suc = 3: M[3] = a, w(a) = 1 ; the pointers to (T, d)are redirected to insert a. (d) dl[H].suc = 1: M[4] = f, w(f) = 3; the pointers to (e, d) are redirected to insert f. (e) dl[H].suc = 1: M[5] = b, w(b) = 2; thepointers to (a, a) are redirected to insert b. (f) dl[H].suc = 1: M[6] = c, w(c) = 3; the pointers to (b, b) are redirected to insert c.

    scan_dls(), which is not difficult to implement. We will explainthe operations by an example in Section IV-E.

    D. Evaluation and Selection of Insertion Points

    During scanning the doubly linked lists, it is easy to compute

    the chip width and the chip height according to four distances

    of insertion points to chip boundaries. Let W and H be thewidth and the height of the floorplan transferred from (P, M).If a blockb is inserted into an insertion point (P[i], M[j]), thechip width should be max(x(P[i],M[j]) + x

    r(P[i],M[j]) +

    b.width, W), and the chip height should be max(y(P[i],M[j]) +yr(P[i],M[j]) + b.height, H). Then, (5) can be used to calculate

    the area cost of inserting b into (P[i], M[j]).It is obvious that (x(P[i],M[j]), y(P[i],M[j])) are the coordi-

    nates of the bottom-left corner of b. These coordinates will beused to estimate the wirelength of nets related to block b (thewirelength calculation model will be discussed in Section V).

    Accordingly, the costs of inserting b into (P[i], M[j]) canbe evaluated by the linear combination of the area costs and

    the wirelength. We will select top kcip insertion points with thelowest costs as the candidate insertion points of b.

    E. Example of Enumerating Insertion Points

    Given an SP (P, M) = (f cedba, cbfade), Fig. 5 shows theillustrations of the changing doubly linked lists (for simplicity,

    only forward lists are shown) for enumerating insertion points.

    In each subfigure, the corresponding distances are also shown.

    When visiting a block M[i] in sequence M, we have fourdoubly linked lists. They are scanned simultaneously to enu-

    merate the insertion points with positionM[i]

    in sequenceM

    .

    For example, when we visit block c, four lists are shown inFig. 5(e). Assuming that the size of block z to be inserted is(2, 2), we can calculate the chip dimensions after inserting zinto each of the seven insertion points (p, c), where p is anyposition in P. Fig. 5(f) shows the corresponding floorplan illus-tration. Without inserting the block, the chip width is six, and

    the chip height is six. If we insert z into (0, c), corresponding toregion r1 in Fig. 5(f), the chip width will be increased to eight,and the chip height will be kept unchanged (6). The other six

    insertion points are evaluated as follows.

    (f, c) r2, width: six, height: eight;(c, c), (e, c), and (d, c) r3, width: eight, height: six;

    (b, c) r4, width: six, height seven;(a, c) r5, width: six, height seven.

  • 7/28/2019 Fixed Outline Floorplan

    9/14

    866 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 5, MAY 2008

    Fig. 5. Enumeration of insertion points. (a) x distance. (b) xr distance. (c) y distance. (d) yr distance. (e) Four doubly linked lists used when visiting c.(f) Floorplan illustration when visiting c.

    The insertion points (c, c), (e, c), and (d, c) have the samedistances to all the boundaries: six to the top (yr), zero tothe bottom (y), two to the left (x), and four to the right (xr).They are regarded as equivalent to each other in our evaluation

    algorithm, and only one of them is randomly chosen as a

    candidate insertion point.

    V. WIRELENGTH EVALUATION

    During enumerating the insertion points, to avoid a time-

    consuming accurate evaluation of wirelength [15], we use a

    rough estimation method. Intuitively, given a floorplan and a

    block bi to be inserted, to which some blocks in the floorplanhave connections, bi will be forced to a position so that theseconnections are minimized. Consequently, the wirelength eval-

    uation is based on the following two simplifications.

    1) Consider only the nets that are connected to bi.

    2) Use the block positions without actually inserting bi forwirelength evaluation.

    With the simplifications, the wirelength can be evaluated for

    each insertion point by a piecewise linear function in log(k)time, where k is the number of the nets that have pins on bi.

    In Algorithm 3, when scanning the doubly linked lists to

    enumerate the insertion points, we can get the coordinates

    of bi at any insertion point. Since we just roughly evaluatethe insertion points without really inserting the block, the

    coordinates of blocks in the floorplan will be kept unchanged.

    Therefore, the only changing coordinates are the coordinates of

    bi, which varies at different insertion points. In such a case, the

    wirelength of nets related to bi is a piecewise linear function ofthe coordinates ofbi.

    Fig. 6. Locations of inflexions.

    In the HPWL model, the wirelength in x- and y-directionscan be calculated separately. Here, we take the x-direction asan example to explain the wirelength evaluation method.

    For a certain net ntj connected to bi, let BBj be the minimumrectangle (bounding box) enveloping the pins of ntj except

    for the pin on bi, and let xjmin and x

    jmax be the coordinates

    of the left and right boundaries of BBj , respectively. If an

    insertion point is inside BBj , i.e., xjmin xbi xjmax, xbi has

    no influence on the wirelength of ntj in the x direction since

    wirejx = xjmax xjmin. When xbi < xjmin or xbi > xjmax, wirejx

    is a linear function of xbi . Hence, wirejx is a piecewise linear

    function of xbi , and it is continuous. The two inflexion points

    (break points), where the slopes change, are located at x

    j

    minand xjmax. We know that the sum of piecewise linear functionsis a piecewise linear function. Consequently, we can use a

    piecewise linear function to estimate the wirelength of nets

    connected bi.Hereafter, we show an example of such a piecewise linear

    function. Let lbi be the total wirelength of nets that are con-nected to bi.

    Assume that the minimum and maximum (excluding pins on

    the removed block) x coordinates of the nets connected to bi arethe following: x1min = 3, x

    1max = 13, x

    2min = 2, x

    2max = 6, and

    x3min = 4, x3max = 7, respectively (Fig. 6). The value of lbi is a

    piecewise linear function of the x coordinates of bi, as shown

    in Fig. 7. For example, if xbi is located in the interval betweenfour and six, lbi = 17.

  • 7/28/2019 Fixed Outline Floorplan

    10/14

    CHEN AND YOSHIMURA: FOFP: BLOCK-POSITION ENUMERATION AND A METHOD FOR CALCULATING AREA COSTS 867

    Fig. 7. Wirelength estimation.

    Such a piecewise linear function can be constructed before

    enumerating the insertion points and easily stored in a table

    by recording the inflexion points in the ascending order of

    coordinates and the corresponding slopes. It will not be changed

    during the evaluation of (n + 1)2 insertion points. Given thecoordinates xbi , we can determine the interval in which xbilocates by a binary search in the table and, then, calculate the

    wirelength by the corresponding slope and the function value at

    the corresponding inflexion.

    Let nnt be the total number of nets. Assume that the nets con-nected to bi are ntj , j = 1, . . . , k. In worst case, there are 2 kbreak points in the piecewise linear function, which correspond

    to the boundaries ofBBj ,j = 1, . . . , k. The construction of thetable takes O(k(log k)) time, which is the complexity of sortingthe break points. The time complexity of a binary search in the

    table is O(log(k)). Consequently, the complexity of estimatingwirelength for all the O(n2) insertion points is O(n2(log k)),assuming that the magnitude of k is at most that of n2. In allthe circuits we used, k is around 20 on average.

    VI. COMPLEXITY ANALYSIS

    To evaluate an insertion point, a direct method is to insert

    the block into the point to generate a new SP. Then, we can

    compute the chip area in O(n(log log(n))) time [12] and thewirelength in O(nnt) time, where nnt is the number of nets.The complexity of evaluating total (n + 1)2 insertion points

    will be O(n

    2

    nnt) (assume nnt n) and O(n3

    (log log(n)),respectively, with and without considering the wirelength. Inthis paper, given an SP of n blocks and an additional block tobe inserted, we devised an efficient method to enumerate and

    evaluate the (n + 1)2 insertion points.If wirelength is not considered, in Algorithm 3, steps 8 and 9

    are done in constant time, and step 10 consumes O(n) time inworst case. As a consequence, the complexity of Algorithm 3

    is O(n2). Hence, the complexity of the IAR perturbation isO(n2).

    Considering wirelength evaluation, step 10 consumes

    O(n(log(k))) time, where k is the number of nets connected theblock to be inserted (Section V). Consequently, the complexity

    of Algorithm 3 is O(n2 log(k)), assuming that k is not morethan n2.

    Accurate evaluation of an insertion point takes O(nnt) time,assuming that nnt n. Let kcip be the candidate insertionpoints that we select during the enumeration. As discussed in

    Section III-A, we can randomly choose one or choose the best

    one of the kcip insertion points for the block to be inserted. Inthe former case, the evaluation complexity is O(nnt), whereas

    in the latter case, the evaluation complexity is O(kcip nnt). Inour experiments, kcip has some value between 2 and 25.

    VII. EXPERIMENTAL RESULTS

    The proposed method has been implemented in C-language

    and run on an IBM workstation (3.2 GHz and 3-GB RAM)

    with Linux OS. The MCNC benchmarks (ami33 and ami49)

    and GSRC benchmarks (n100, n200, and n300) are used in

    the experiments. The wirelength is estimated using the HPWL

    model.

    A. FOFP

    We compared the proposed fixed-outline floorplanner with

    the Parquet [15], [11] and the B-tree-based fixed-outline floor-planner [9], [10], [16] (NTU-FOFP) on the same platform. If the

    outline of a floorplan is smaller than H0 and W0, its aspect ratiocan be different from that of the fixed outline. Otherwise, the

    floorplan fails to meet the outline constraint. The success rate

    is defined as the ratio of the number of runs that failed to meet

    the fixed-outline constraint to the total run number. We have

    tested Parquet 4.5 using SP and B-tree, NTU-FOFP [10], andthe proposed fixed-outline floorplanner (IARFP) under two sit-

    uations: with and without HPWL optimization. The maximum

    percentage of white space is assumed to be 10%.Without considering the wirelength, we first compared the

    success rate and the runtime of IARFP, Parquet 4.5 [11], and

    NTU-FOFP. The expected aspect ratios of the floorplans are

    chosen from the range [1, 3] with an interval of 0.5. The

    results were averaged over 250 runs (50 runs for each aspect

    ratio). Table I lists the average success rate of Parquet with

    SP, Parquet with B-tree, NTU-FOFP, and IARFP. The averagesuccess rates of Parquet using B-tree and SP are 94.48% and53.6%, respectively.4 NTU-FOFP obtains the highest success

    rate 99.92% on average. The average success rate of the pro-

    posed method (IARFP) is 98.24%, which is 1.78% lower than

    that of NTU-FOFP. The average runtime of IARFP is much lessthan those of Parquet and NTU-FOFP.

    For ami33 and ami49, compared with NTU-FOFP (using

    B-tree), IARFP gets a lower success rate. There are twopotential reasons for this. One is that the B-tree representationdefines a much smaller solution space for the area optimization,

    and its evaluation time complexity is lower compared with SP.

    Therefore, B-tree might be more efficient and effective whenwirelength is not taken into consideration. The experimental

    results of Parquet also showed this point. The other is that, in

    the proposed method, we restrict the candidate insertion points

    4

    The Parquet with B

    -tree outperformed the Parquet with SP, whereas thesituation is reverse if wirelength is also taken into account (see the analysis inTable II).

  • 7/28/2019 Fixed Outline Floorplan

    11/14

    868 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 5, MAY 2008

    TABLE IRESULTS OF FOFP. = 10%, AN D ALL BLOCKS ARE HAR D. THE ASPECT RATIOS ARE CHOSEN FROM THE RANGE [1, 3]

    WIT H INTERVAL 0.5. EACH DATUM IS AN AVERAGE OF 250 RUN S (50 RUNS FOR EACH ASPECT RATIO)

    TABLE IIRESULTS OF FOFP. = 10%, AN D ALL BLOCKS ARE HAR D. ALL DATA OF AMI33, AM I49, AND N100 ARE AVERAGED

    OVER 50 INDEPENDENT RUN S, AND THE DATA OF N200 AND N300 ARE AVERAGED OVE R TEN INDEPENDENT RUN S

    within a small range, which might reduce the success rate.

    However, in both SP-based floorplanners, the results of IARFP

    (using SP) are still better than those of Parquet with SP, which

    is even better than those of Parquet with B-tree.IARFP(Greedy) shows the results of IARFP when we select

    the best insertion point for the removed block during theenumeration. It is much faster than all the other methods, but the

    success rate is a little lower compared with IARFP. In IARFP,

    the average iteration (Fig. 1) numbers of test cases are around

    19 000 (ami33), 21 500(ami49), 4300 (n100, n200), and 5200

    (n300), respectively, whereas in IARFP(Greedy), the iteration

    number of all the test cases is 2200.

    Second, taking the linear combination of (5) and wirelengthas the objective function, we compared the success rate, the

  • 7/28/2019 Fixed Outline Floorplan

    12/14

    CHEN AND YOSHIMURA: FOFP: BLOCK-POSITION ENUMERATION AND A METHOD FOR CALCULATING AREA COSTS 869

    HPWL, and the runtime. Table II lists the experimental results

    of ami33 (with 123 nets and 42 I/O pins), ami49 (with 408 nets

    and 22 I/O pins), n100 (with 885 nets and 334 I/O pins), n200

    (with 1585 nets and 564 I/O pins), and n300 (with 1893 nets

    and 569 I/O pins). In Parquet and NTU-FOFP, the I/O pads for

    all circuits are fixed at the given coordinates in the benchmark.

    For fair comparison, we deal with I/O pins in the same way.The floorplan expected ratios are chosen from the range [1, 3]

    with an interval of 0.5. The results of ami33, ami49, and n100

    are averaged on 50 runs for each aspect ratio. The results of

    n200 and n300 are the average of ten runs. In Parquet and

    NTU-FOFP, we set new area or wire weights to ensure a little

    higher success rate. When running NTU-FOFP, the area weight

    is chosen between 0.99 and 0.99999 (default 0.9), and other

    parameters are default. In Parquet using SP, we set the wire

    weights by the values between 0.05 and 0.4 (default 0.4). It

    has been shown in [15] that Parquet using SP did better than

    Parquet using B-tree when considering the wire optimization.We also made experiments and found that Parquet using B-treetook less time but much lower success rate and larger HPWL.

    Consequently, we compare with Parquet using SP.

    From the experiments on GSRC benchmarks, we observed

    that IARFP reached 100% success rate for all aspect ra-

    tios, whereas NTU-FOFP and Parquet with SP got 57.3%,

    and 28.67%, respectively, on average. IARFP, respectively,

    achieved 25.12% and 17.16% improvement in wirelength com-

    pared with Parquet with SP and NTU-FOFP. IARFP is also

    much faster than other two floorplanners.5 The total iteration

    numbers in each run are n100: 4700, n200: 7000, and n300:

    9400, respectively. In Parquet and NTU-FOFP, we have to set

    large area weights or small wire weight to ensure a success rate.

    It is, hence, difficult to get a good wirelength. As for MCNCbenchmarks, NTU-FOFP outperformed IARFP in ami33. On

    average, the IARFP got the highest average success rate 85.5%,

    whereas those of NTU-FOFP and Parquet are 82% and 34%,

    respectively. The total comparison data are shown in Table II.

    The aforementioned results demonstrated the effectiveness

    and efficiency of the proposed FOFP method.

    B. Adaptability of the Proposed Function

    To show the adaptability of the proposed method for calcu-

    lating the area costs, the objective function defined in (5) for

    FOFP is embedded into NTU-FOFP.We ran the NTU-FOFP using (5) to calculate the area costs

    instead of the original one. The test cases n100, n200, and n300

    are used for experiments.

    Table III listed the experimental results when the fixed-

    outline constraint is the only consideration. We can see that both

    methods got almost 100% success rate.

    In Fig. 8, we show the results of experiments on test case

    n100, taking into account the wirelength. Each data point is an

    average of 50 independent experiments. In similar runtime, the

    5In [6](Capo), theperformanceand theruntime of Parquet were improved byincorporating min-cut partitioning into floorplanning, and in [17], the multilevel

    strategy was incorporated into the B

    -tree-based floorplanning. In this paper,since we focus on flat-style fixed-outline floorplanning, no comparison is madewith these two methods.

    TABLE IIIRESULTS OF FOFP. = 10%, AN D ALL BLOCKS ARE HAR D. THE ASPECT

    RATIOS ARE CHOSEN FROM THE RANGE [1, 3] WITH INTERVAL 0.5

    Fig. 8. Using the proposed objective function in NTU-FOFP. : IARFP;: NTU-FOFP; : NTU-FOFP using (5). (a) Success rate. (b) Wirelength.(c) Time.

    proposed function got 58% improvement on the success rate

    while wirelength is comparable. The subfigures of Fig. 8 show

    the comparison of success rate, wire, and runtime, respectively.

    In the figure, we also show the results of IARFP.

    The experimental results showed that the proposed functionis effective when embedded into the NTU-FOFP.

  • 7/28/2019 Fixed Outline Floorplan

    13/14

    870 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 27, NO. 5, MAY 2008

    Fig. 9. Aspect ratio versus the ratio of wirex to wirey .

    C. Aspect Ratio and Wirelength

    We devised three groups of experiments on test cases n100a

    using the following three objective functions.

    1) The linear combination of (5) and wirelength. In (5),

    the weight of area costs will increase as the aspect ratioincreases.

    2) Linear combination of (6) and wirelength. In (6), the

    weight of area costs will remain similar for all the aspect

    ratios.

    3) Equation (5) only.

    In the following figures and analysis, we use series-1

    (area+wire), series-2 (area+wire), and series-3 (area), respec-

    tively, to refer to the experimental results using the afore-

    mentioned three objective functions. In series-1 and series-2,

    = 10%, and the objective functions are a linear combinationof area costs and wire. Series-3 will be discussed in the next

    section. All the data points are based on 50 independent runs.The runtime is not shown since we use the same simulated

    annealing parameters for all experiments and the runtime of

    each experiment is close to that shown in Table II. In order to

    track the changes of wirelength, the I/O pins are scaled on the

    chip boundaries.

    Fig. 9 shows the ratio of wirex to wirey. As the aspect ratio

    grows, the ratio also increases. Fig. 10 shows the geometric

    means of wirex and wirey (Section III-C), which show the

    change of the product of wirex and wirey . In series-1 and

    series-2, the products vary slightly (Fig. 11 shows these values

    with a smaller scale) under various aspect ratios compared with

    the change of wirex, wirey , and the total wirelength (HPWL, thesum of wirex and wirey). The sum of wirex and wirey increases

    with the increment of the aspect ratio. These are consistent

    with the simple geometric observation in Section III-C. Larger

    aspect ratio causes larger wirelength.

    In Fig. 9, we can see that series-2 has a little smaller slope.

    The ratios in series-2 are smaller and so is the wirelength

    (Fig. 10). The success rates in series-2, however, lowered

    greatly with the increase of the aspect ratio (Fig. 12). This is

    because in series-2, width and height are scaled (6) according

    to the aspect ratios, and hence, for all the aspect ratios, the

    area costs will remain similar, whereas the wirelength will

    increase as the aspect ratio increases. The wirelength gets more

    competitive as the aspect ratio increases in series-2. Hence, wehave to enlarge the weight of area costs for larger aspect ratios

    Fig. 10. Aspect ratio () and wirelength (: series-1; : series-2). Along thedirection of wire HPWL increasing, the four pairs of lines are wirey , geometric

    mean of wirex and wirey , wirex, total wirelength, respectively.

    Fig. 11. Aspect ratio () versus the geometric mean of wirex and wirey .

    Fig. 12. Success rate versus aspect ratio (with HPWL optimization).

    to conquer the outline constraint as (5) does. Equation (5) is

    much more effective than (6) under fixed-outline constraints

    when the aspect ratios are far from one.

    According to our statistics, 99.4% of the experiments that

    failed to meet the fixed-outline constraint (in series-2, totally

    450 runs, 150 runs fail to meet the fixed-outline) violated

    the height constraint H0 (note that, in our case, since > 1,

    height is shorter). In some sense, it also demonstrates that thewirelength keeps increasing as the aspect ratio increases. In

  • 7/28/2019 Fixed Outline Floorplan

    14/14

    CHEN AND YOSHIMURA: FOFP: BLOCK-POSITION ENUMERATION AND A METHOD FOR CALCULATING AREA COSTS 871

    Fig. 13. Success rate versus aspect ratio.

    other words, the wirelength optimization causes smaller aspect

    ratios. Therefore, the smaller of outline height and outline width

    is violated more frequently. Consequently, we have to raise the

    area weight to ensure a feasible solution under a fixed-outline

    constraint as the aspect ratio increases.

    D. Aspect Ratio and Success Rate

    In series-3, the objective is only area. Fig. 13 shows the

    change of the success rate on the aspect ratio. The success

    rate seems not to lower with increased aspect ratio. However,

    based on our statistics, 95% of the runs that failed to meet the

    fixed-outline violated the outline height constraint (of totally

    450 runs, 21 failed to meet the outline constraint, and 5%

    violated the outline width constraint) if = 8%. This percentis 84% if = 6% (of totally 450 runs, 339 failed to meetthe outline constraint, and 42% violated the outline width

    constraint).

    VIII. CONCLUSION

    In this paper, we proposed an FOFP method (IARFP). An

    elaborated method for perturbing solutions, the IAR, was de-

    vised for the simulated annealing. The IAR operation was

    devised based on the technique of enumerating block positions

    in SP and accelerated the searching greatly. Moreover, based on

    the analysis of diverse objective functions used in the existing

    methods, we suggested a new objective function for floor-

    planning with a fixed-outline constraint. Experimental results

    showed the efficiency and effectiveness of the proposed methodfor FOFP with various aspect ratios. Additionally, the proposed

    method can be combined with multilevel hierarchical strategy

    to further improve scalability. Related research is ongoing.

    REFERENCES

    [1] S. N. Adya and I. L. Markov, Fixed-outline floorplanning: Enablinghierarchical design, IEEE Trans. Very Large Scale Integr. (VLSI) Syst. ,vol. 11, no. 6, pp. 11201135, Dec. 2003.

    [2] A. B. Kahng, Classical floorplanning harmful, in Proc. ACM ISPD,2000, pp. 207213.

    [3] S. N. Adya and I. L. Markov, Fixed-outline floorplanning through betterlocal search, in Proc. ICCD, 2001, pp. 328334.

    [4] H. Murata, K. Fujiyoshi, S. Nakatake, and Y. Kajitani, VLSI module

    placement based on rectangle-packing by sequence-pair, IEEE Trans.Comput.-Aided Design Integr. Circuits Syst., vol. 15, no. 12, pp. 15181524, Dec. 1996.

    [5] S. N. Adya, S. Chaturvedi, J. A. Roy, D. A. Papa, and I. L. Markov, Uni-fication of partitioning, floorplanning and placement, in Proc. ICCAD,2004, pp. 550557.

    [6] S. N. Adya, S. Chaturvedi, J. A. Roy, D. A. Papa, and I. L. Markov, Min-cut floorplacement, IEEE Trans. Comput.-Aided Design Integr. CircuitsSyst., vol. 25, no. 7, pp. 13131326, Jul. 2006.

    [7] R. Liu, S. Dong, X. Hong, and Y. Kajitani, Fixed-outline floorplanningwith constraints through instance augmentation, in Proc. IEEE ISCAS,

    2005, pp. 18831886.[8] C. T. Lin, D. S. Chen, and Y. W. Wang, Robust fixed-outline floorplan-ning through evolutionary search, in Proc. IEEE/ACM ASP-DAC, 2004,pp. 4244.

    [9] T. C. Chen and Y. W. Chang, Modern floorplanning based on fast simu-lated annealing, in Proc. ACM ISPD, 2005, pp. 104112.

    [10] T. C. Chen and Y. W. Chang, Modern floorplanning based on b-treeand fast simulated annealing, IEEE Trans. Comput.-Aided Design Integr.Circuits Syst., vol. 25, no. 4, pp. 637650, Apr. 2006.

    [11] S. N. Adya, H. H. Chan, and I. L. Markov, Parquet 4.5: Fixed-Outlinefloorplanner. [Online]. Available: http://vlsicad.eecs.umich.edu/BK/parquet/

    [12] X. Tang, R. Tian, and D. F. Wong, Fast evaluation of sequence pair inblock placement by longest common subsequence computation, IEEETrans. Comput.-Aided Design Integr. Circuits Syst., vol. 20, no. 12,pp. 14061413, Dec. 2001.

    [13] P. N. Guo, T. Takahashi, C. K. Cheng, and T. Yoshimura, Floorplanning

    using a tree representation, IEEE Trans. Comput.-Aided Design Integr.Circuits Syst., vol. 20, no. 2, pp. 281289, Feb. 2001.

    [14] A. E. Caldwell, A. B. Kahng, S. Mantik, I. L. Markov, and A. Zelikovsky,On wirelength estimations for row-based placement, IEEE Trans.Comput.-Aided Design Integr. Circuits Syst., vol. 18, no. 9, pp. 12651278, Sep. 1999.

    [15] H. H. Chan, S. N. Adya, and I. L. Markov, Are floorplan representationsimportant in digital design, in Proc. ACM ISPD, 2005, pp. 129136.

    [16] T. C. Chen and Y. W. Chang, B-tree based floorplanner. [Online].Available: http://eda.ee.ntu.edu.tw/research.htm

    [17] T. C. Chen and Y. W. Chang, IMF: Interconnect-driven multilevel floor-planning for large-scale building-module designs, in Proc. ICCAD, 2005,pp. 159164.

    Song Chen received the B.S. degree in computer sci-

    ence from Xian Jiaotong University, Xian, China,in 2000, and the M.S. and Ph.D. degrees in computerscience from Tsinghua University, Beijing, China, in2003 and 2005, respectively.

    He is currently a Visiting Research Associate withthe Graduate School of Information, Production andSystems, Waseda University, Kitakyushu, Japan. Hisresearch interests include several aspects of elec-tronic design automation, e.g., floorplanning, place-ment, and high-level synthesis.

    Takeshi Yoshimura (M86) received the B.E., M.E.,and Dr.Eng. degrees from Osaka University, Osaka,Japan, in 1972, 1974, and 1997, respectively.

    He was with the NEC Corporation, Tokyo, Japan,in 1974, where he was engaged in the research anddevelopment of computer application systems forcommunication network design, hydraulic networkdesign, and Very Large Scale Integration (VLSI)computer-aided design (CAD). From 1979 to 1980,he was on leave at the Electronics Research Lab-oratory, University of California, Berkeley, where

    he worked on the VLSI CAD. Since April 2003, he has been with theGraduate School of Information, Production and Systems, Waseda University,Kitakyushu, Japan.

    Dr. Yoshimura is a Fellow of the Institute of Electronics, Information, and

    Communication Engineers of Japan (IEICE) and a member of the InformationProcessing Society of Japan. He received Best Paper Awards from the IEICEand the IEEE Circuits and Systems Society.


Recommended