100 likes | 215 Vues
OpenAccess Gear. David Papa 1 Zhong Xiu 2 , Christoph Albrecht, Philip Chong, Andreas Kuehlmann 3 Cadence Berkeley Labs 1 University of Michigan, 2 Carnegie Mellon University, 3 University of California at Berkeley GSRC Annual Symposium September 16 & 17, 2004. Introduction.
E N D
OpenAccess Gear David Papa1 Zhong Xiu2, Christoph Albrecht, Philip Chong, Andreas Kuehlmann3 Cadence Berkeley Labs1University of Michigan, 2Carnegie Mellon University, 3University of California at Berkeley GSRC Annual Symposium September 16 & 17, 2004
Introduction • OpenAccess is a “community-source” industry-standard EDA database developed to help promote tool interoperability • Tools using OpenAccess are becoming available in industry, but resources for academic research are lacking • Our project: OpenAccess Gear (OAGear) • Release useful tools and libraries to enable research • Make OpenAccess a useful platform for academia • Provide common infrastructure for research and benchmarking • Adopt an open source development model • Initiated and supported byCadence Design Systems
Overview • Current focus on four main components • GUI: Layout and Schematic Viewer • Static Timing Analysis • Generic Standard Cell Placement Interface: Capo API • Benchmarks in OpenAccess Format
GUI: Bazaar Design Overview • “Bazaar” = open market place where people bring their goods to sell • Designed for easy to rework code and enhanced interoperability • Model-View-Controller design pattern • Tool developers can bring their work to our “Bazaar” to contribute and promote them
GUI: Bazaar Technical Capabilities • Easy to read and extend, built on Qt and OpenGL • In the style and spirit of the OpenAccess standard • Layout Editor displays design directly from database • Controller operates Capo API for on-demand placement • Schematic Editor displays design’s logical connectivity • Fast OpenGL rendering scales to very large designs • “oaRegionQuery” accesses only relevant portions of the design
Static Timing Analysis: OAGear Timer • Built on OpenAccess for integration into other tools, e.g. placement • Two modes: Full timing analysis and incremental timing analysis • Different models for wires: No wire delay, bounding box model; can be extended easily to more accurate models • Library formats: Cadence .tlf and Synopsys .lib • Timing constraints: Subset of .sdc constraints • Standardized timing reports • Detailed documentation
Static Timing Analysis: OAGear Timer Incremental timing analysis • When a modification occurs: • Mark the required arrival time of nodes in the fan-in cone invalid • Mark the arrival time of nodes in the fan-out cone invalid • Later if there is a query, update the timing information The timing information is stored using the OpenAccess extension mechanism (oaGearTimerPoint, …)
Generic Placement Interface + Capo API • Universal placer interface: • place(oaLib,oaCell,oaView) • Routines to: • Import OpenAccess Designs and build Capo internal data structures • Run (potentially custom) Capo Placement Flows • Timing driven placement flows with prototypes • “Strategy” design pattern, for placer interoperability • Pick and choose EDA algorithms • Compose new flows and combine tools in new ways • previously too difficult! • Future uses: • Designed to be extended for Incremental flows. • Contributions from other researchers
Benchmarks • OAGear provides two sets of benchmark designs: • Open Benchmarks: ISCAS89 benchmark suite and a hypothetical 250nm standard cell library • Restricted Benchmarks: http://crete.cadence.com/, Verilog files and scripts are available, Faraday benchmark suite and a 250nm GSC (Generic Standard Cell) library • Necessary binary files to convert those designs into OpenAccess formats • Aimed for researchers to test their timing driven placement algorithms and incremental placement algorithms
Summary • Planned Release Date: September 30, 2004 • OAGear Home: http://oagear.sourceforge.net/ • OpenAccess Home: http://openeda.si2.org/ • Available as open source, free for any use • Open development model maximizes exchange of ideas and software between universities • Users encouraged to contribute bug reports, patches and functional components • Ongoing development effort • Possible future components: synthesis, routing, extraction