Rapid Software Development with OpenAccess. Dean Marvin Exec Director, Product Development



Similar documents
Using EDA Databases: Milkyway & OpenAccess

Visualizing Data: Scalable Interactivity

Virtuoso Analog Design Environment Family Advanced design simulation for fast and accurate verification

Design Compiler Graphical Create a Better Starting Point for Faster Physical Implementation

ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler

Architecting for Productivity in Custom Design

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Engineering Change Order (ECO) Support in Programmable Logic Design

Improve PCB Layout with Skill Utility Programs

Apache Web Server Execution Tracing Using Third Eye

HTML5 & Digital Signage

PCB Project (*.PrjPcb)

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Advanced Visualization for Chemistry

A Hybrid Visualization System for Molecular Models

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

Creating Newsletters in Microsoft Word

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

Interoperability Developer s Forum. Milkyway Developer s Track April 1, 2003

Applications to Computational Financial and GPU Computing. May 16th. Dr. Daniel Egloff

JavaFX Session Agenda

Lab 3 Layout Using Virtuoso Layout XL (VXL)

DEVELOPMENT OF AN ANALYSIS AND REPORTING TOOL FOR ORACLE FORMS SOURCE CODES

Developing ASP.NET MVC 4 Web Applications MOC 20486

University of Texas at Dallas. Department of Electrical Engineering. EEDG Application Specific Integrated Circuit Design

Integration of C++ digital processing libraries and VTK through Tcl/Tk dynamic loadable extensions

Solutions for Simulation

Allegro Design Authoring

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

Agent Languages. Overview. Requirements. Java. Tcl/Tk. Telescript. Evaluation. Artificial Intelligence Intelligent Agents

PYTHON: A PROGRAMMING LANGUAGE FOR SOFTWARE INTEGRATION AND DEVELOPMENT

For Quartus II Software. This Quick Start Guide will show you. how to set up a Quartus. enter timing requirements, and

Business Benefits From Microsoft SQL Server Business Intelligence Solutions How Can Business Intelligence Help You? PTR Associates Limited

Mobile App Design and Development

The GoldenGate Working Group

CHAPTER 24 SOFTWARE PROJECT SCHEDULING. Overview

Creating a Poster in Powerpoint

Autodesk Civil 3D Styles: A Guide to the Fundamentals

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

How to create pop-up menus

Product Development Flow Including Model- Based Design and System-Level Functional Verification

Designing a Schematic and Layout in PCB Artist

Netezza Workbench Documentation

Developing ASP.NET MVC 4 Web Applications

Lattice Diamond User Guide

ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation

TEST AUTOMATION FRAMEWORK

PCB Design. Gabe A. Cohn. May Using Altium Designer/DXP/Protel. Electrical Engineering University of Washington

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

Designing and Developing Web Applications by using the Microsoft.NET Framework

bbc Creating a Purchase Order Form Adobe LiveCycle Designer ES2 November 2009 Version 9

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Java Application Developer Certificate Program Competencies

Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00

The Most Popular UI/Apps Framework For IVI on Linux

Business Process Management

HPC Wales Skills Academy Course Catalogue 2015

QL Integration into Scala and Excel. Martin Dietrich

GUI and Web Programming

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

An Introduction to Android

Outline. 1.! Development Platforms for Multimedia Programming!

Bridging the Gap: from a Web App to a Mobile Device App

Config Guide. Gimmal Smart Tiles (SharePoint-Hosted) Software Release 4.4.0

Web Authoring. Module Descriptor

Responsive Web Design. vs. Mobile Web App: What s Best for Your Enterprise? A WhitePaper by RapidValue Solutions

Use of Tcl/Tk in Railway signalling simulation and maintenance software

How To Design A Chip Layout

IL2225 Physical Design

A QUICK OVERVIEW OF THE OMNeT++ IDE

CadSoft EAGLE Version 7

High-Level Synthesis for FPGA Designs

EECAD s MUST List MUST MUST MUST MUST MUST MUST MUST MUST MUST MUST

Building an Embedded Processor System on a Xilinx Zync FPGA (Profiling): A Tutorial

HTML5 Data Visualization and Manipulation Tool Colorado School of Mines Field Session Summer 2013

<Insert Picture Here> Oracle SQL Developer 3.0: Overview and New Features

VisIt Visualization Tool

Pro Windows Phone 7. Development. Rob Cameron

Design with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

Windows Store App Development

Visualization Plugin for ParaView

Chapter 8 Approaches to System Development

Dreamweaver and Fireworks MX Integration Brian Hogan

Introduction to the Quartus II Software. Version 10.0

CONTENTM WEBSITE MANAGEMENT SYSTEM. Getting Started Guide

Continuous Integration

Interactive solutions

Jozef Matula. Visualisation Team Leader IBL Software Engineering. 13 th ECMWF MetOps Workshop, 31 th Oct - 4 th Nov 2011, Reading, United Kingdom

Hybrid 2D/3D design The right tool for the right job at the right time

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

Evaluating Enterprise Mobile Platforms Go Big or Go Small?

Algorithms, Flowcharts & Program Design. ComPro

Programming 3D Applications with HTML5 and WebGL

Theming on Drupal 7. Working with Omega s Responsive Framework

Tutorial 5: Developing Java applications

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

What is PROJECT SCHEDULING?

GGobi meets R: an extensible environment for interactive dynamic data visualization

Transcription:

Rapid Software Development with OpenAccess Dean Marvin Exec Director, Product Development

Presentation Overview Conditions for rapid OA development Discussion of development styles C++ object oriented Rapid prototype Hybrid scripting Enterprise OA environment Visualization Database extension Blended scripting

Conditions for rapid OA development Fast database with C/C++ access Script access to database Graphical viewing of database Debugging environment and Mixed-language code development

Conditions for rapid OA development Fast database with C/C++ Proven performance in C/C++ High capacity Efficient in-memory and on-disk representations Script access to database TCL shipped with OA Python available from LSI contribution Ability to wrap using almost any language

Conditions for rapid OA development Visualization In the end, it s all about the user Need to see what s there Browse available information graphically Debugging environment Three debugging styles Debug print statements Gdb Code review All three styles are supported

Conditions for rapid OA development Mixed-code development Different languages address difference stages/styles Object oriented (top down) Rapid prototype (bottom up) Hybrid development Need Support of libraries from multiple languages Develop at multiple levels to get done quickly This is the most important ingredient! Doing everything in one language just isn t quick enough

Style: C++ Object Oriented Design Traditional EDA development Speed is crucial Know what you want to do Solid algorithm Well developed specification Examples Synthesis Equivalence checking Place & Route Layout verification Timing analysis

C++ / OO Methodology on OA Start with a spec Design top-level objects Decompose functionality and create next level objects Repeat As you touch design objects, inherit from OA to implement functionality Use AppDefs to store auxiliary data persistently

Style: Rapid prototype Don t know exactly how you want to do something at the beginning Speed is not critical (at least initially) Some simple user interface is required Incremental design Examples Netlisting Flow management Simple parsers Report generation and data display Design exploration and basic checking

Rapid prototyping on OA Scripting language Tcl/Tk Python/PyQt Multiple ways to do it Develop interactively Cut and paste from previous functionality Successive refinement Object oriented design using Python After the application is working, replace timing critical sections with C/C++ Easiest using Python since Python OA object model closely maps to C++ OA object model

Style: Hybrid development Mix of the previous styles Develop what you know is hard in C++ as an engine Timing/parasitic reduction Physical data generation Physical data validation Create a script wrapper interface to the engine Hand-generated wrappers SWIG (www.swig.org) SIP (www.riverbankcomputing.co.uk) Application development with scripting language using engines Advantages Still rapid development Reusable and separately maintained engines Allows parallel development

Hybrid development on OA Cell-based timing aware checking Timing engine built on OA Topology analyzer engine on OA Design checks themselves written in Python/TCL Cell layout optimization Cell layout generator on OA Router based on OA Input metal pitch, power grid and router preferences Write algorithm in script to run experiments on optimization cell height and pin locations Illustrative purposes only, not a product announcement

Enterprise OA Blends the innovation of OA with the enterprise-class extensions Graphical browsing Functional extensions via plugins User interface framework via Qt OA extension engines Integrated scripting environment

Qt Menus and OpenGL Rendering Layout with Connectivity Satellite View Custom Overlays Generated Schematics Hierarchy Browser Property Editor Timing View with Cross Probing Tcl/Python/.. Command line: Applications via C++ and Scripting plug-ins

Qt Menus & OpenGL Rendering Desktop, Menus, Windows, Browsers, Control Schematic Generation RTL & Gates Schematic Display Layout Display Cross Probing Enter Func. Bindkeys Selection Window, File, & Color Managers API API API API API Rocket Design Environment Verilog/VHDL RTL Enterprise OA Development System TCL Python C++ SDC Model API Plug-in Socket Functions & Timing Customer Applications in C++ or TCL, Python Scripting API API API API OpenAccess Graphics sub-system Verilog/VHDL RTL & Netlist SDC Constraints Liberty OpenAccess LEF/DEF GDSII SPEF

Conclusion Rapid development on OA is possible and supported in an enterprise OA environment Extending OA to be more than a repository of design data is a reality The requirement for diverse and blended code development under OA is being met