© r.a. rutenbar 2005 early research experience with openaccess gear : an open source development...
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/