Experience with Open Source Projects in VLSI Physical Design Tools
This presentation outlines the experience gained from developing open-source physical design tools at UCLA, such as MLPart and Capo. The tools feature a LEF/DEF interface and run on Linux, Solaris, and Windows, operating under the MIT license. Contributions from students and continuous improvements have enhanced their functionality. Insights include challenges in software engineering and the importance of commitment, while also highlighting successful collaboration with academia and industry partners. The open-source approach fosters innovation and educational opportunities.
Experience with Open Source Projects in VLSI Physical Design Tools
E N D
Presentation Transcript
ICCAD-2002 Open Source PanelAndrew B. KahngUC San Diego CSE & ECE Depts.Igor L. MarkovUniv. of Michigan EECS Dept.abk@ucsd.eduhttp://vlsicad.ucsd.edu/~abk/TALKS/
Experience With Open Source Project • Project: UCLA Physical Design Tools (MLPart, Capo, …) • Open-source partitioning and placement tools – MIT license • LEF/DEF interface, runs on Linux and Solaris (+ Windows) • Students: Andrew Caldwell (Simplex/Cadence), Igor Markov (Univ. of Michigan) + Saurabh Adya (Univ. of Michigan) • Much effort in installation scripts, revision control, code clarity • Ongoing maintenance, improvements: Capo8.5 (2002) >> Capo8.0 (2000) • Academia: CMU, GIT, UCLA, UCSD, UCSB, UCSC, UMinn, UMich, … • Industry: IBM, Intel, Cadence, Philips, Synplicity, Ammocore, … • Available in MARCO GSRC Bookshelf, openeda.org, etc. • GSRC Bookshelf: http://gigascale.org/bookshelf/ • Repository for CAD-IP reuse • One of three initiatives to close Design Technology Productivity Gap
Experience With Open Source Project • Uses in Academia • Work on competing placers (20th C: TimberWolf; 21st C: Capo) • UCLA, ICCAD-2000; Binghamton, DAC-2001, etc. • Improvement by pre- or post-processing (UCSB, ICCAD-2002) • Embed into larger design flows (Michigan, ISPD-2002) • Evaluate home-grown sub-solvers (plug in place of Capo components) • Uses in Industry • Use source code for prototyping commercial tools (e.g., Cadence) • Benchmark internal tools (e.g., Intel, IBM) • Educational uses (IBM, Intel, Synplicity) • “Plan B” uses (IBM, Synplicity) • Component-based plug-and-play (Intel) • Try novel PD flows, e.g., use Capo before synthesis
Problems and Frustrations • Nothing unexpected • Very non-trivial software expertise required • OS, compilers, C++, software engineering • Serious level of commitment required • Students graduate ! • Non-trivial effort to support platforms, configurations • E.g., Magma was using an older C++ compiler we could not support • Compilers are changing all the time • Unfair comparisons and claims • Make simple preprocessor claim new tool with better results • Tune competing software to specially-made benchmarks • Tune benchmarks to competing software and avoid standard test cases • Very few others are open-sourcing: slow culture change
How We Overcame Problems/Frustrations • Perseverance • Leveraging the open-source nature of the project • We know it is a win • Better software is developed • Easier to get funding • Useful in teaching • Motivates graduate students • Keeps our research moving (no artificial barrier to competition) • DAC-2000 Capo paper is the most-cited VLSI CAD paper from 2000, according to Citeseer • “Problems and Frustrations” are NOT an issue: Open Source Is The Right Thing To Do