Optimization of Linear Placements for Wirelength Minimization with Free Sites - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Optimization of Linear Placements for Wirelength Minimization with Free Sites

Description:

single cell row with n movable cells C[i] with fixed left-to-right order (but ... of C[i] = sum over all nets N of contributions of C[i] to span(N) - fixed_span(N) ... – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 20
Provided by: ALE7150
Learn more at: http://www.cs.gsu.edu
Category:

less

Transcript and Presenter's Notes

Title: Optimization of Linear Placements for Wirelength Minimization with Free Sites


1
Optimization of Linear Placements for Wirelength
Minimization with Free Sites
  • A. B. Kahng, P. Tucker, A. Zelikovsky
  • (UCLA UCSD)
  • Supported by grants from Cadence Design
    Systems, Inc.
  • http//vlsicad.cs.ucla.edu

2
Outline
  • Single-Row Problem
  • Cell Cost Function
  • Exact Algorithms for Single-Row Problem
  • Dynamic Programming Algorithm
  • Prefix Algorithm
  • Clumping Algorithm
  • Swapping Heuristic for Cell Ordering
  • Experimental Results
  • Conclusions and Future Directions

3
Single-Row Problem
fixed cells
movable cells
C1
C2
C3
C4
C5
C6
C7
fixed cells
4
Single-Row Problem
  • Given
  • single cell row with n movable cells Ci with
    fixed left-to-right order (but variable
    positions) and integer lattice of k sites (k gt n)
  • m signal nets N j containing fixed cells from
    other rows
  • Find
  • non-overlapping placement of n movable cells at k
    sites minimizing the total bounding-box
    half-perimeter of all m nets.

5
Net with Movable and Fixed Cells
fixed cells
net N
fl(N)
fr(N)
single row with movable cells
ml(N)
mr(N)
span (N)
fixed_span (N)
minimize
6
Cell Cost Function
  • Cell cost function of Ci sum over all nets N
    of contributions of Ci to span(N) -
    fixed_span(N)
  • Given position x of cell Ci, cell cost function
  • costi(x) ? maxmr(N) -
    fr(N),0
  • Ci rightmost movable
    on net N
  • ? maxfl(N) -
    ml(N),0
  • Ci leftmost movable on
    net N
  • Total linear pieces ? 2 ? pins 2 ? nets
    2m

7
Properties of Cell Cost Function
  • Cost function of multi-pin cell is
    piecewise-linear and convex
  • If each cell is placed in its minimum segment,
  • total bounding box half-perimeter is
    minimized

8
Exact Algorithms for Single-Row Problem
  • Dynamic Programming Algorithm
  • based on pre-computed cell cost functions
  • Prefix Algorithm
  • based on piecewise-linearity of cell cost
    function
  • Clumping Algorithm
  • based on convexity of cell cost function

9
Dynamic Programming Algorithm
  • Optimum constrained prefix placement Pi,j of
    C1, ..., Ci subject to Ci being left of
    site sj
  • Pi,j is selected from Pi,j-1 and
  • Pi-1,j-wi-1 extended by Ci at sj
  • wi-1 width of Ci-1
  • Cost of prefix placement increased by
    costi(sj)
  • Runtime (i-range) ?(j-range)
  • n ? (k - ? wi)
  • ? O(n2)

10
Dynamic Programming Algorithm
Pi,j has either Ci exactly at sj
(extend Pi-1,j-wi-1)
Ci-1
Ci
sj
sj-wi-1
or Ci to left of sj (use already-computed
Pi,j-1)
Ci
sj-1
11
Prefix Algorithm
  • Prefix cost function pcosti(x) optimal
    placement cost of first i cells subject to Ci
    being left of x
  • pcosti(x) is piecewise-linear decreasing
  • Each linear segment is tuple a,b, min,max
  • Computing pcosti from pcosti-1 and costi
  • ? merging sorted tuple sequences of sizes
  • ?jlti pinj and pini (pini pins
    on Ci)
  • Runtime O(m2)
  • Note error in proceedings (missing costi
    term)

12
Prefix Algorithm
cost
pcosti-1
costi
pcosti
x
13
Clumping Algorithm
  • For each cell Ci, find
  • list of coordinates where costi changes slope
  • Cis minimum segment
  • To each cell in order, apply PLACE(Ci)
  • Output positions of cells
  • Procedure PLACE(Ci)
  • if Ci-1 and Ci cannot be both in their
    minimum segments
  • then COLLAPSE(Ci-1,Ci) and PLACE(Ci-1)
  • else place Ci at leftmost optimal available
    position

14
Clumping Algorithm
  • Procedure COLLAPSE(Ci-1,Ci)
  • shift positions from the list of Ci by
    width(Ci-1)
  • merge the list for Ci with the list for Ci-1
  • find minimum segment for merged list
  • width(Ci-1) width(Ci-1) width(Ci)
  • delete cell Ci
  • Using red-black trees for representation of cell
    lists, achieve runtime O(m log m), m nets

15
Clumping Algorithm
directions to minimum segments of individual cells
clumped cell
clumped cell
optimal positions for cells
16
Swapping Heuristic for Cell Ordering
  • Cell-Ordering Problem the Single-Row Problem
    where the left-to-right order of cells is not
    fixed
  • Swapping Heuristic
  • Repeatedly iterate down the row until no pairs
    swap
  • for every adjacent pair of cells that overlap or
    change order when placed at respective min
    points, swap their order if placement cost
    improves

17
Experimental Results
18
Conclusions
  • First optimal algorithms for single-row cell
    placement with free sites, fixed order of cells,
    and fixed positions of cells in all other rows
  • New iterative algorithm to improve the cell
    ordering within a given row
  • Iterative row-based placement algorithm that
    applies single-row cell placement to each row in
    turn, with optional cell ordering improvement in
    the given row
  • Average of 6.5 improvement in total wirelength

19
Extensions
  • Incorporate cell flipping into DP solution
  • Linear programming formulation for Cell Ordering
    Problem
  • Extend exact DP solution to k rows simultaneously
  • Incorporate routability into objective function
Write a Comment
User Comments (0)
About PowerShow.com