© r.a. rutenbar 2005 early research experience with openaccess gear : an open source development...

14
© R.A. Rutenbar 2005 Early Research Experience With OpenAccess Gear: An Open Source Development Environment For Physical Design Zhong Xiu*, David A. Papa , Philip Chong, Christoph Albrecht, Andreas Kuehlmann , Rob A. Rutenbar*, Igor L. Markov *Carnegie Mellon University, University of Michigan, Cadence Berkeley Labs

Upload: molly-marsh

Post on 25-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

© R.A. Rutenbar 2005

Early Research Experience With OpenAccess Gear: An Open Source Development Environment For Physical Design

Early Research Experience With OpenAccess Gear: An Open Source Development Environment For Physical Design

Zhong Xiu*, David A. Papa†, Philip Chong, Christoph Albrecht, Andreas Kuehlmann , Rob A. Rutenbar*, Igor L. Markov†

*Carnegie Mellon University, †University of Michigan, Cadence Berkeley Labs

© Rob A. Rutenbar 2005 Slide 2

Outline

Background / motivation What OpenAccess is What the OA Gear project is

OA Gear Components OA Gear Timer OA Gear GUI -- Bazaar OA Gear Placement Wrapper – U Michigan Capo placer OA Gear Benchmarks

Example OA Gear development application Extending and natively integrating the CMU WARP2 Placer

© Rob A. Rutenbar 2005 Slide 3

About OpenAccess

OpenAccess is an open source design database for EDA OA has been adopted by many companies Standardization helps tool interoperability

OA should also be beneficial for academic users Ensures benchmarks, experimental results can be easily exchanged Technology transfer of algorithms developed at universities into industry tools

Despite potential benefits, academic researchers slow to adopt Problem: still easier to use existing ad hoc databases than std infrastructure Problem: not enough “critical mass” of other researchers using OA Problem: essential utilities/components still lacking in existing OA

© Rob A. Rutenbar 2005 Slide 4

The Problem…. And A Solution

Our position: A standard EDA infrastructure is vital for universities

Our solution: OpenAccess Gear OA Gear: a library of essential utilities / components built on top of OA Gives more incentive for academics to standardize on OA Improves – we hope – quality of academic research

Our position: A standard EDA infrastructure is vital for universities

Our solution: OpenAccess Gear OA Gear: a library of essential utilities / components built on top of OA Gives more incentive for academics to standardize on OA Improves – we hope – quality of academic research

© Rob A. Rutenbar 2005 Slide 5

OA Gear Overview

Open source licensing model Critical for academic use True community development model

Freely distributed, no cost Available even on tightest budget Also free for industry users

Written in portable C++ Runs on any platform running OA

OA Gear: 4 components chosen for relative importance to research

OA Gear Timer: Full static timer

OA Gear Bazaar: User Interface

Capo Wrapper: Placer Interface

Benchmarks: Netlists & PDKs

Plan to add new components to OA Gear on a continuing basis

OpenAccess

GUI

Benchmarks

Timer

PlacerAPI

Capo

© Rob A. Rutenbar 2005 Slide 6

OA Gear Timer

Academics often ignore timing Difficult/expensive to integrate

commercial timing engines Significant task to write own timer Significant calibration/fidelity issues

Solution: OA Gear Timer Common timing infrastructure Validated, integrated, rich feature set

Upside Helps ensure results from different

researchers can be directly compared

© Rob A. Rutenbar 2005 Slide 7

OA Gear Timer Features:

Supports Cadence .TLF and Synopsys Liberty (.LIB) formats

Not a complete implementation… … enough to satisfy common needs

Supports .SDC constraint subset Clock period value External delay information

Timer has two modes Batch: Full flat timing analysis Incremental: Fast local analysis

Three wire load models (so far…) Idealized: ignores wire loads Linear: half-perimeter bbox using unit

C, R info from tech lib Custom: allows users to specify

their own models for wiring

Standard APIs & reporting formats The critical path Paths –from –to –through a node CDN-style timing report compatible

Results validate to ~1% against Cadence’s RTL Compiler tool

© Rob A. Rutenbar 2005 Slide 8

OA Gear Timer: Example Results

Experiment: simple, iterative “where to put best buffer” optimizationResult: incremental timing 45X faster on average than batch mode

Benchmarks

Full Timing Analysis

(sec)

Incremental Timing(sec) Speedup

S10 0.27 0.16 1.69

S13207 59.50 1.31 45.42

S15850 121.76 3.72 32.73

S35932 2033.80 208.02 9.78

S38417 458.44 5.64 81.28

S38584 437.14 3.42 127.82

Faraday/DMA 698.85 13.14 53.18

Faraday/RISC 22189.07 2664.22 8.33

© Rob A. Rutenbar 2005 Slide 9

OA Gear Bazaar: Graphical User Interface Because you cannot debug/develop what you cannot see

Layout & netlist viewers, with a command-line scripting window Extensible by OA users, developed using OpenGL & QT toolkits

Command line scripting

Capo placement example

Netlist viewer

© Rob A. Rutenbar 2005 Slide 10

Capo Wrapper (Placement)Motivations

First: An OA Gear placer let users work on apps requiring some real layout Second: Excellent example of how to integrate a large, already mature CAD tool

OA Gear includes a wrapper for the open-source Capo placer Tool developed at UCLA/Michigan for several years Existing codebase does not use OA; “wrapper” API allows Capo to use OA

Capo

3. PlaceOpenAccess

Wrapper

1. Read OA 2. Gen. Capo

4. Read Capo 5. Write OA

Capo DB

© Rob A. Rutenbar 2005 Slide 11

OA Gear Benchmarks

2 sets of benchmarks available

Open, freely distributable designs ISCAS89 designs mapped to hypothetical

250nm cell library Included as part of OA Gear package

Restricted designs Faraday benchmark suite mapped to

Cadence GSC cell library License prohibits bundling with OA Gear Download available from http://crete.cadence.com/

Type Name PIs POs Instances Registers

Free

s13207 32 121 2680 466

s15850 15 87 4565 540

s35932 36 320 11587 1728

s38417 29 106 14762 1463

s38584 13 278 12221 1292

Restricted

DMA 661 262 24942 2073

DSP 575 269 24306 3550

RISC 276 351 45455 7590

© Rob A. Rutenbar 2005 Slide 12

Larger Development Ex: CMU WARP2 Placer

Our starting point: WARP1 [Xiu et al DAC04] Wirelength-only placer with ad hoc academic db

Our result: WARP2 [Xiu et al DAC05] Timing-driven -- complete native OA integration OA Gear Timer critical to flow OA Gear Benchmarks, PDKs exploited heavily

How fast: ~1 month to integrate, prototype Out best guess: 3X – 4X faster than proprietary

Compute new weightsCompute new weights

WARP2 with uniform WARP2 with uniform net weightnet weight

Legalize (Domino)Legalize (Domino)

Static timing analysisStatic timing analysis

Timing-driven WARP2Timing-driven WARP2 with new weights with new weights

Wirelength-only WARP2 / Domino Timing-driven WARP2 / Domino

Wirelen Worst Neg Slack CPU Wirelen Worst Neg Slack CPU

1.00 1.000 1.00 1.01 0.635 1.47

© Rob A. Rutenbar 2005 Slide 13

OA Gear: Status & Future Plan Initially released Nov 2004 ~300 downloads so far New projects for this summer

Initially released Nov 2004 ~300 downloads so far New projects for this summer

Open source model working well True community effort Fixes/improvements already from user feedback Users have even provided complete bug patches

Open source model working well True community effort Fixes/improvements already from user feedback Users have even provided complete bug patches

OA GearOA Gear

© Rob A. Rutenbar 2005 Slide 14

Credits/Website

Zhong Xiu Carnegie Mellon Timer, Warp David Papa Univ of Michigan Bazaar, Capo WrapperPhilip Chong Cadence Berkeley Labs OAChristoph Albrecht Cadence Berkeley Labs OAAndreas Kuehlmann Cadence Berkeley Labs OARob A. Rutenbar Carnegie Mellon WarpIgor I. Markov Univ of Michigan Capo

http://openedatools.si2.org/oagear/