1 / 1

Built on OpenAccess for integration into other tools, e.g. placement

BENCHMARKS. Timing Library. OpenAccess Format Benchmarks. 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. Introduction.

tulia
Download Presentation

Built on OpenAccess for integration into other tools, e.g. placement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BENCHMARKS Timing Library OpenAccess Format Benchmarks OpenAccess GearDavid Papa1, Zhong Xiu2, Christoph Albrecht, Philip Chong, Andreas Kuehlmann3 Cadence Berkeley Labs1University of Michigan, 2Carnegie Mellon University, 3University of California at Berkeley Introduction Overview GUI: Bazaar • 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 Design Overview • 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 by Cadence Design Systems • “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 OpenAccess (MODEL) Bazaar (VIEW) CONTROLLER GUI Timer “Model-View-Controller” Design Pattern Applied to Bazaar OpenAccess Benchmarks Placement API Capo Static Timing Analysis: OAGear Timer Static Timing Analysis: OAGear Timer GUI: Bazaar Design • 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 Technical Capabilities oaInstTerm oaGearTimerPoint oaTerm oaGearTimerPoint oaGearTimerExtDelay Standard Cell Library • 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 … … Inst3 BUF1 The timing information is stored using the OpenAccess extension mechanism (oaGearTimerPoint, …) Inst2 Inst1 Inst4 Instantiated Inst5 AND Inst6 oaTerm oaGearTimerPointMaster (with arcs) oaNet oaInst CELL(DFFX1 … … TIMING_Model(7x7 (Spline (LOAD_AXIS …) (INPUT_SLEW_AXIS …) data(… …) ) ) … … Path( CK => Q … …) … … Setup( D => CK … …) … … ) Cell (DFFX1) { … … pin(Q) { … … timing() { related_pin : "CK"; timing_sense : non_unate; timing_type : rising_edge; cell_rise(7x7) { index_1 (“… …"); index_2 (“… …"); values ( … …); } } } #SDC constraint file create_clock –period 1 [get_ports {CK}] set_input_delay 0.04 –clock CK [all_inputs] set_output_delay 0.02 –clock CK [all_outputs] set_driving_cell –lib_cell INVX2 [get_ports {G*5}] set_load 0.01 [get_ports {G2*}] Fanin cone • 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 Modification Query: update arrival time, required arrival time and slew rate Fanout cone .tlf .lib .sdc Documentation Summary Generic Placement Interface + Capo API 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 • 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 Capo • 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 Place Block Run Timer Weight Nets Static Timing Analysis OpenAccess

More Related