Capo: Robust and Scalable OpenSource Mincut Floorplacer - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Capo: Robust and Scalable OpenSource Mincut Floorplacer

Description:

The plotter is in the GSRC bookshelf under PlaceUtils. Capo Memory & Runtime Data ... Converters: Bookshelf to/from LEFDEF. Gnuplotter with data compression ... – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 13
Provided by: sig4
Category:

less

Transcript and Presenter's Notes

Title: Capo: Robust and Scalable OpenSource Mincut Floorplacer


1
Capo Robust and Scalable Open-Source Min-cut
Floorplacer
http//vlsicad.eecs.umich.edu/BK/PDtools/tar.gz/LA
TEST/
  • Jarrod A. Roy, David A. Papa,Saurabh N. Adya,
    Hayward H. Chan, James F. Lu, Aaron N. Ng,Igor
    L. Markov
  • EECS DepartmentUniversity of Michigan, Ann Arbor

Credits for original Capo Caldwell, Kahng
Markov
2
Original Motivation (ca 2000)
  • Co-developed at UCLA with Andy Caldwellunder the
    guidance of Andrew Kahng
  • First fixed-die placer in the literature
  • First academic placer usingmulti-level
    partitioning (MLPart)
  • First academic placer in the US to compete
    heads-onwith commercial placers on large
    industrial netlists
  • All code written from scratch
  • Capo - an experiment in min-cut placement
  • DAC 2000 Can Recursive Bisection AloneProduce
    Routable Placements ?
  • Message minimizing HPWL is not enough

3
Min-cut Bisection
4
Basic Components Techniques
  • Overall runtime O(P (log P)2)
  • Three min-cut partitioners
  • MLPart and FMPart (heur.) BBPart
    (optimal)ASPDAC 2000, JEA 2000, ISPD 98/TCAD
    01
  • Capo makes several different callsto MLPart
    every time (some are Vcycling)
  • Shifting cut-lines (not a grid) ASIC 98
  • Optimal end-case placers (BB) ISPD 98
  • Also used in detail placement RowIroning
  • Uniform whitespace allocation TCAD 03
  • Non-uniform whitespace allocation ICCAD 03
  • Feedback / cycling (Kahng Reda, DAC 04)

5
Capos Distinctive Features(can be found in some
industry tools, but rarely in academic placers)
  • Global placement with Capo often produces legal
    placements
  • No cell-shifting / legalization is necessary
  • Top-down estimates of cell locations and
    interconnect are very accurate
  • This seems to improve generic routability
  • Ensured robust handling of obstacles since 2000
  • Can make any netlist routable by more generous
    floorplan (greater whitespace)
  • Request uniform whitespace distribution!

Very low via counts
6
The Integration of Block-packing(using Parquet)
ICCAD 04
7
Advanced Details
  • Weighted terminal propagation
  • Described in a TR by Karypis Selvakkumaran
  • More accurate capture of HPWL in min-cut
    partitioning
  • Nets with terminals too close to cut-line have
    cost lt1
  • Some orig. nets are modeled by two nets for
    min-cut
  • To improve terminal propagation, usean SOR-based
    quadratic placerafter every round of
    partitioning
  • Also tried ACG (Alpert, Nam Villarrubia
    ICCAD03)
  • Look-ahead criteria for Parquet were sharpened

8
Recent Improvements
  • Whitespace allocation rewritten entirely
  • New params -minLocalWS and -safeWS
  • Cutline positioning relative to obstacles
  • Feature locations are corners of fixed macros
  • Among those, we minimize cutlength
  • Cutline direction is selected based on cutlength
  • MLPart FMPart are 2x faster (loop unroling)
  • Also, bugfix in Vcycling
  • Also, variable-effort partitioning in Capo
  • Stronger, much faster RowIroning
  • Stronger macro legalizer, more scalable cell leg.
  • Meta-options -faster and -tryHarder

9
Large-scale Visualization
  • Example different whitespace allocation modes
  • Plots of large designs with data compression
  • Less than 1 bit per cell
  • The plotter is in the GSRC bookshelf under
    PlaceUtils

10
Capo Memory Runtime Datawith faster (Opteron
_at_2.8GHz, Linux)
7h40m
17 mins
11
Example of Self-profiling in Capo
Adaptec 1 (250K) Big Blue 4 (2.1M)
  • MLPart took 9360.9sec
    (39.25)
  • FMPart took 661.4sec
    (2.77)
  • BBPart took 255.3sec
    (1.07)
  • SmPlace took 1727.6sec
    (7.24)
  • ProblemSetup took 11365.5sec (47.66)
  • SmPlProbSetup took 133.5sec (0.56)
  • Level Stats took 151.2sec
    (0.63)
  • Total runtime of measured components
    23657.1sec (99.2)
  • MLPart took 396.06sec
    (51.58)
  • FMPart took 38.29sec
    (4.99)
  • BBPart took 20.13sec
    (2.62)
  • SmPlace took 139.14sec
    (18.12)
  • ProblemSetup took 151.01sec (19.67)
  • SmPlProbSetup took 4.85sec (0.63)
  • Level Stats took 10.79sec
    (1.41)
  • Total runtime of measured components
    760.43sec (99.03)

RowIroning takes additional 10-15 by runtime
12
Infrastructure Availablein GSRC Bookshelf (April
2005)
  • Source code binaries
  • Converters Bookshelf to/from LEFDEF
  • Gnuplotter with data compression
  • Macro cell legalizer
  • Improved stand-alone RowIroning
  • Complete Capo 9.1 (with MLPart)for Linux
    (32/64), Solaris (32/64) and Windowshttp//vlsica
    d.eecs.umich.edu/BK/PDtools/
  • Compatible with OpenAccess
  • Ongoing work on further improvements

13
Example Whats Wrong Here?
Write a Comment
User Comments (0)
About PowerShow.com