DARPADARPA
Bookshelf For VLSI CAD Algorithms: Bookshelf For VLSI CAD Algorithms: Progress and Future DirectionsProgress and Future Directions
Andrew E. Caldwell, Andrew B. Kahng Andrew E. Caldwell, Andrew B. Kahng and Igor L. Markovand Igor L. Markov
11/3/99
2
OutlineOutline
ProgressProgress New slots and linksNew slots and links
New content in existing slots: formats, binaries and executablesNew content in existing slots: formats, binaries and executables
UCLA PD tools releaseUCLA PD tools release
Update on copyright and supportUpdate on copyright and support
Update on OS/compiler platformsUpdate on OS/compiler platforms
Future directionsFuture directions Assembling new tool flowsAssembling new tool flows
Comparisons and evaluation of leading-edge implementationsComparisons and evaluation of leading-edge implementations ““distributable” binaries evaluated on proprietary benchmarks; results publisheddistributable” binaries evaluated on proprietary benchmarks; results published
Possible direction: software outsourcingPossible direction: software outsourcing
11/3/99
3
New Slots and LinksNew Slots and Links
Link: Mathematical programming (Arizona State)Link: Mathematical programming (Arizona State)Linear, general non-linear, quadratic, semi-definite, MIP, multi-obj.Linear, general non-linear, quadratic, semi-definite, MIP, multi-obj.
Very comprehensive coverage, links, source codes, comparisonsVery comprehensive coverage, links, source codes, comparisons
Link: Decision Diagrams, CUDD (U. Colorado, Boulder)Link: Decision Diagrams, CUDD (U. Colorado, Boulder)Leading-edge BDD implementations (source codes)Leading-edge BDD implementations (source codes)
New Slot: Bounded-Skew Clock Routing (UCLA/Ultima)New Slot: Bounded-Skew Clock Routing (UCLA/Ultima)Data formats, benchmarks, reference results, source code, exe’sData formats, benchmarks, reference results, source code, exe’s
11/3/99
4
New Content in Existing SlotsNew Content in Existing Slots
Global Routing Formats Finalized Global Routing Formats Finalized Appeal: research in global routing only becomes possibleAppeal: research in global routing only becomes possible
New source codesNew source codesVLSI back-end OO database: UCLAVLSI back-end OO database: UCLAGraph coloring: UCLAGraph coloring: UCLAHypergraph Partitioning: MLPart (UCLA)Hypergraph Partitioning: MLPart (UCLA)Standard-Cell Placement: Capo (UCLA)Standard-Cell Placement: Capo (UCLA)
New executablesNew executablesPlacement implementations: Dragon (NWU), Feng Shui (SUNY)Placement implementations: Dragon (NWU), Feng Shui (SUNY)Global router: Feng Shui (SUNY)Global router: Feng Shui (SUNY)
11/3/99
5
UCLA PD Tools ReleaseUCLA PD Tools Release
100K lines in C++ under the MIT copyright100K lines in C++ under the MIT copyright
35 packages that connect using shared libraries, 4Mb total35 packages that connect using shared libraries, 4Mb totalCapo placer, MLPart partitioner, UCLA DB, parsers, support libsCapo placer, MLPart partitioner, UCLA DB, parsers, support libs
Installation script for Unix systems (Solaris, Linux etc)Installation script for Unix systems (Solaris, Linux etc)
Most of tech. comments from GSRC are taken care ofMost of tech. comments from GSRC are taken care of
No package version management (but the distribution itself No package version management (but the distribution itself
is versioned)is versioned)
Problem: MSVC++ configuration (more work needed)Problem: MSVC++ configuration (more work needed)
11/3/99
6
Update on CopyrightUpdate on Copyright
The MIT (X consortium) copyright adopted for bookshelfThe MIT (X consortium) copyright adopted for bookshelfChosen from “approved” open-source licenses at opensource.orgChosen from “approved” open-source licenses at opensource.orgAttorneys: the MIT text marginally better than Ptolemy copyrhtAttorneys: the MIT text marginally better than Ptolemy copyrhtOK from GSRCOK from GSRC
UpshotUpshotAll code is open-sourceAll code is open-sourceAll code is free (as in “free lunch”) and free (as in “free speech”)All code is free (as in “free lunch”) and free (as in “free speech”)No “intended use” notificationNo “intended use” notificationThe main requirement: enclose the copyright notice w all copiesThe main requirement: enclose the copyright notice w all copiesNo restrictions on copyright holders No restrictions on copyright holders
11/3/99
7
Update on Documentation and SupportUpdate on Documentation and Support
““Documentation and Support Advisory”Documentation and Support Advisory”
Developers and maintainers attempt toDevelopers and maintainers attempt todescribe general purpose of released softwaredescribe general purpose of released software
provide installation instructionsprovide installation instructions
provide relevent referencesprovide relevent references
Comprehensive documentation may be hard to createComprehensive documentation may be hard to create
Instead, try to leverage user communityInstead, try to leverage user communityProvide limited and selective email support Provide limited and selective email support
Maintain FAQs, user mailing listsMaintain FAQs, user mailing lists
11/3/99
8
Update on OS/Complier PlatformsUpdate on OS/Complier Platforms
Compilers w/o internal STL not supportedCompilers w/o internal STL not supported
g++ 2.95.2 on all platforms (earlier versions not supported) g++ 2.95.2 on all platforms (earlier versions not supported) no changes (thumb up)no changes (thumb up)
limitation: must use GNU ld (linker)limitation: must use GNU ld (linker)
MSVC++ 5.0/6.0: no changesMSVC++ 5.0/6.0: no changes
SunPro CC (thumb down)SunPro CC (thumb down)Workshop 5.0 and earlier not supportedWorkshop 5.0 and earlier not supported
Workshop 6.0 (May 15, 2000) renamed into Sun ForteWorkshop 6.0 (May 15, 2000) renamed into Sun Forte
Forte C++ Forte C++ may may be usablebe usable
11/3/99
9
Comparisons and Evaluation of ImplementationsComparisons and Evaluation of Implementations Traditional assumptionsTraditional assumptions
Public benchmarks Public benchmarks Proprietary code (gives “competitive edge” etc)Proprietary code (gives “competitive edge” etc)
In reality: the other way aroundIn reality: the other way aroundProprietary benchmarks (IP, “trade secrets” etc)Proprietary benchmarks (IP, “trade secrets” etc)
Reverse-engineering practical (John Hayes et al., 1999)Reverse-engineering practical (John Hayes et al., 1999)
Binaries of complex implementations can be distributedBinaries of complex implementations can be distributed Reverse-engineering impractical because results will not be reusableReverse-engineering impractical because results will not be reusable
New perspectiveNew perspective““Mobile” implementations applied to confidential benchmarksMobile” implementations applied to confidential benchmarksResults of evaluations and comparisons made publicResults of evaluations and comparisons made public
11/3/99
10
Future Directions: New Tool FlowsFuture Directions: New Tool Flows
Recent splash of interest to placement among researchersRecent splash of interest to placement among researchersAt least 6-7 academic groups have working placersAt least 6-7 academic groups have working placers
At least 3 placers support bookshelf file formatAt least 3 placers support bookshelf file format
Always need to evaluate results with a routerAlways need to evaluate results with a router
UCLA/ABKgroup assembled such a flow for plug-in placerUCLA/ABKgroup assembled such a flow for plug-in placer
Using bookshelf formats (and converters to/from LEF/DEF)Using bookshelf formats (and converters to/from LEF/DEF)can now test other academic placers with commercial routerscan now test other academic placers with commercial routers
can mix and match constructive and iteratively improving placerscan mix and match constructive and iteratively improving placers
can mix and match global and detailed placerscan mix and match global and detailed placers
11/3/99
11
Possible Direction: Code OutsourcingPossible Direction: Code Outsourcing
Our research is on EDAOur research is on EDA
Rigorous communication, verification of resultsRigorous communication, verification of resultsuses [formal] programming languages and softwareuses [formal] programming languages and software
Yet we think in higher-level terms, often not specific to EDAYet we think in higher-level terms, often not specific to EDATranslation from higher-level terms into software is laboriousTranslation from higher-level terms into software is laborious
Outsourcing (parts of) software engineeringOutsourcing (parts of) software engineeringSubcontracting to professional programmers (no EDA experience)Subcontracting to professional programmers (no EDA experience)
At this point, we want to outsource the work, not the expertiseAt this point, we want to outsource the work, not the expertise
Attempt to stay at a higher level, but not lose grasp of realityAttempt to stay at a higher level, but not lose grasp of reality
11/3/99
12
ConclusionsConclusions The bookshelf is accepting contributionsThe bookshelf is accepting contributions
The bookshelf gets a lot of hits The bookshelf gets a lot of hits
The bookshelf helps doing researchThe bookshelf helps doing researchHas clear problems formulationsHas clear problems formulationsOffers a catalogue of available implementationsOffers a catalogue of available implementationsFacilitates comparisons and evaluations that may be hard OWFacilitates comparisons and evaluations that may be hard OW
The bookshelf reduces waste by improving reuseThe bookshelf reduces waste by improving reuse
The bookshelf helps the EDA industryThe bookshelf helps the EDA industryPoints out academic research “that actually works”Points out academic research “that actually works”Gives access to more open-source codesGives access to more open-source codes
Top Related