Title: On Libraries, Reuse, and the Value of EDA Software
1On Libraries, Reuse, and the Value of EDA
Software
- Igor MarkovUniv. of Michigan Synplicity
2Outline
- The challenge
- Extrapolating from past experiences
- What undermines the value of SW?
- What can we do ?
3The Challenge
- Are EDA companies undervalued ?
- Very sophisticated software
- Highly educated employees
- But stock does not grow !
- Little is said about creating value in EDA
software development process - Are we spinning our wheels ?
- Are we undermining the value of EDA ?
- Are there deficiencies in our eco-system?
4Efficiency, Success, Adoption
- How fast should EDA toolsbe developed ?
- Should they be maintained or rewritten ?
- How to ensure thatthey do their job well ?
- How to ensure/evaluate adoption?
- How to improve value of EDA tools?
5Personal Experiences
- Developing several academic tools adopted in
companies - UCLApack ? UMpack
- Capo, MLPart, infrastructure, etc
- Very liberal license
- Interaction with adopters
- We get 2-3 requests per week
- Measurements of popularityin academia
(surprising conclusions)
6UCLApack / UMpack
- Developed mostly at UCLAby Andrew
Caldwell(?Simplex ? Cadence ? Tabula)and Igor
Markov (?U.Michigan) - supervised by Andrew Kahng
- Initial release at DAC 2000
- 120K lines in C
- Currently over 200K lines
7Whats Available in UMpack?(1)
- Most popular the Capo placer
- Originally written in 1997-2000,maintained and
extended at Michigan - Uses min-cut partitioning, works well for lt100K
std. cells - Routability-driven(beats most of the academic
tools, some commercial tools) - Robust, well-tested, gt100 tape-outs
- All source code is available
8Whats Available in UMpack?(2)
- UCLA DB (written in 1998-1999)
- An object-oriented databasethat maps most of
LEF/DEF syntaxto in-memory data structures - Includes two parsers(one written at UCLA, one
released by Cadence) - Highly modular, reasonably efficient
- Not entirely up-to-date, but all sourceis
available
9Whats Available in UMpack?(3)
- MLPart (written in 1997-2000)
- A multi-level min-cut partitioner
- Used in Capo ? has been tested extremely well
- Used by several companiesfor prototyping logic
synthesis tools,for verification (production
code) - Results are usually a little worsethan hMetis,
but MLPart is available in source code
10Whats Available in UMpack?(4)
- Parquet floorplanner (written in 2001-2004)
- Now a component of Capo
- Helped Capo outperform Cadence by 70 at ISPD
2002 - Extensive infrastructurein two dozen packages
- Generic data structures, statistics
- Built-in debugging tools
- Geometry primitives, hierarchy mgmt, etc
- Utilities, e.g., LEFDEF ? our formats
11Whats Available in UMpack?(5)
- OpenAccess compatibility
- Michigan Cadence Labs
- UMpack/Capo is recommended for all OA Gear
downloads - Used to visualize circuits
- MLPart is compatible with hMetis
- C-API (Synplicity) hMetis wrapper
- Works with g 3.1 and above on Linux Solaris
- Works with MSVC on Windows
- Synplicity contribd a 64-bit port
12Whats Available in UMpack?(5)
- Simplified data formats
- The Capo input format is now supported by 20
academic placers - Intel, IBM and others have converters LEF/DEF
converter - A good number of examplesgiven as regression
tests - Documentation
- Web-based included self-documented code
13Adoption of Our Tools (1)
- The license allows any use for free(the MIT X
Window license) - No restrictions for academic use
- No notification requirement
- Dozens of papers reportmodifying Capo
- Start-ups asked for a list of people who know
Capo source code
14Adoption of Our Tools (2)
- Synplicity used Capo in Amplify RC for LSI
LogicRapid-chip architecture - 100s tape-outs over two years
- Suddenly discontinued when LSI quit the fab
business - Several start-ups are still using Capo(are
sending bug reports) - MLPart is used in Certify
15Observations
- Surprise Capo adoption 10x greaterthan MLPart
adoption - MLPart has only one competitor(hMetis,
unavailable in source code,unavailable for
commercial use) - There are about 10 academic placersclaim better
results than Capo on large netlists (but none are
available in source code) - UCLA DB adoption non-existent
- Parquet adoption - huge
16Explanations ?
- Source-code availability does wonders
- EDA industry EDA researchis tool-oriented
- To force people think about infrastructure, we
need the scale of OpenAccess - A good library can be overlookedb/c its value is
not clearly seen - Best combination lightweight toolwith a clear
functionality
17Personal Experiences
- Superficial familiarity with commercial EDA
software - Talking to developers
- Listening to invited talks
- Occasionally looking at source code
- 8 EDA companies, names starting with
- A, C, I, M, S
18EDA Industry SW is Old
- Several companies limitg to very old versions
- Perceived stability
- At least 20 lost in tool runtime
- Old versions may not support many language
features - Several companies ban C
- Main argument developers shoot themselves in
the foot
19Compare to UCLApack
- Written with heavy use of C
- Relies on the Standard Template Library (STL) for
data structures - Abundant online documentation
- Undergraduate students know it(vs. homegrown
data structuresin companies) - Very efficient
- Clean and elegant interface
- UCLApack practically no pointers
20Compare to UCLApack
- Use of STL ?
- More compact, conceptual code
- Less documentation
- Less unit testing
- However
- Using STL was a nightmarebefore 2002
- Now g and MSVC are stable
21Takeaways
- To improve productivity
- Must use C with STL
- Must develop reusablesoftware libraries with
clean interfaces - (as is done by OpenAccess coalition)
- Obstacles?
- Maturity level of SW developers
22Personal Experiences (3)
- Coaching Michigan students participating in ICCAD
CADathlon - Three wins for Michigan in 5-6 years
- Two 2nd places
- Participating in ISPD contests
- Won the routing contest last year
- Where did the best coders go?(are they still
interested in EDA ?)
23Observations
- Of CADathlon prize-winners
- One went to Microsoft, one to LM
- Two quit EDA
- One became an EDA faculty
- Two are working for EDA companies
- Big questions
- Do we need to attract best coders?
- Is there much room improving SW?
24ISPD PR contests
- Dramatic year-to-year improvements in results
- In 2006 and 2007, the 1st place team was last the
year before ! - In most cases, the winning entries were written
from scratch(APlace, Kraftwerk2, MaizeRoute,
FGR) - Academic tools better than industry
25Efficiency, Success, Adoption
- How fast should EDA toolsbe developed ?
- Should they be maintained or rewritten ?
- How to ensure thatthey do their job well ?
- Is EDA research at fault ?
- How to improve value of EDA tools?
26Conclusions
- Existing EDA code-basesare old and inefficient
- Rely on outdated SW development infrastructure
- There is room for improvementin core tools new
tools are needed - Need to ensure better code reuse
- New SW development methods more efficient
- Need to attract best codersand keep them
27Riddle for you
- The greatest threatto the EDA industry
- Six letters _ _ _ _ _ _Letters T