How To Manage A Microprocessor Design Group



Similar documents
Software Configuration Management.

Digital Systems Design! Lecture 1 - Introduction!!

PowerPlay Power Analysis & Optimization Technology

Software Configuration Management (SCM)

Software Configuration Management. Context. Learning Objectives

White Paper. Software Development Best Practices: Enterprise Code Portal

IBM Rational ClearCase, Version 8.0

Maximizing Cross-Platform Application Availability

Successfully managing geographically distributed development

Perforce Helix vs. ClearCase

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University

Agile SPL-SCM: Agile Software Product Line Configuration and Release Management

STAR JPSS Algorithms Integration Team Configuration Management Plan Version 1.2

SOE. managing change in system development projects: configuration management

Chapter 13 Configuration Management

Continuous Integration. CSC 440: Software Engineering Slide #1

Page 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management?

Configuration & Build Management

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model

PRODUCT LIFECYCLE MANAGEMENT WHITE PAPER

Software Configuration Management and Change Management

Software Configuration Management. Wingsze Seaman COMP250SA February 27, 2008

Theme 1 Software Processes. Software Configuration Management

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Source Control and Team-Based Design in System Generator Author: Douang Phanthavong

Using Rational Software Solutions to Achieve CMMI Level 2

White Paper Military Productivity Factors in Large FPGA Designs

Rational Software White Paper

Test management best practices

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

An introduction to the benefits of Application Lifecycle Management

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

Quartus II Software and Device Support Release Notes Version 15.0

IBM Rational Software

Using Git with Rational Team Concert and Rational ClearCase in enterprise environments

Software change and release management White paper June Extending open source tools for more effective software delivery.

Kevin Lee Technical Consultant As part of a normal software build and release process

Document ID: FLXN111 PRODUCTS AND LICENSING

Software configuration management

CAD. Office to enterprise Product Data Management. Product Overview

ENOVIA V6 PRODUCT PORTFOLIO

Software Configuration Management. Addendum zu Kapitel 13

Enhance visibility into and control over software projects IBM Rational change and release management software

Software Configuration Management for Embedded Systems Developers

What Is Software Configuration Management?

Global Software Change Management for PVCS Version Manager

Modernizing enterprise application development with integrated change, build and release management.

IBM Rational Asset Manager

White Paper 40-nm FPGAs and the Defense Electronic Design Organization

Managing Change is our Business

Software Continuous Integration & Delivery

IBM Rational DOORS Next Generation

Project, Program & Portfolio Management Help Leading Firms Deliver Value

Widening the Configuration Management Perspective

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Discovery and Usage data for Software License Management

Software Configuration Management Best Practices for Continuous Integration

HP SAP. Where Development, Test and Operations meet. Application Lifecycle Management

NIOS II Based Embedded Web Server Development for Networking Applications

Enterprise resource planning Product life-cycle management Information systems in industry ELEC-E8113

Chapter 13 Configuration Management

The 7 Attributes of a Good Software Configuration Management System

Developing Software in a Private workspace PM PMS

The Essentials of File Management with LabVIEW

Qsys and IP Core Integration

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Fidelity National Financial Drives Improvements in Software Development and Reuse with IBM Rational Software Development Platform and Flashline

Driving Your Business Forward with Application Life-cycle Management (ALM)

General Introduction to IBM (R) Rational (R) Asset Manager

Optimizing IT Deployment Issues

Eingebettete Systeme. 4: Entwurfsmethodik, HW/SW Co-Design. Technische Informatik T T T

Overcoming the Top Five Challenges in Electro-Mechanical Product Development

Simplifying development through activity-based change management

White Paper FPGA Performance Benchmarking Methodology

S609. RDz and Source Control Management Systems

Pre-Installation Instructions

TIME. Programming in the large. Lecture 22: Configuration Management. Agenda for today. About your Future. CM: The short version. CM: The long version

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

Client Security Risk Assessment Questionnaire

Custom design services

Appendix 2-A. Application and System Development Requirements

Continuous Integration

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

Content and Process Management Software

Introduction to Software Engineering (2+1 SWS) Winter Term 2009 / 2010 Dr. Michael Eichberg Vertretungsprofessur Software Engineering Department of

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

Software Engineering. Christopher Simpkins Chris Simpkins (Georgia Tech) CS 2340 Objects and Design CS / 16

Transcription:

Electronic Design Data Management The impact of team-based design and re-use on data management Dizain-Sync Design Data Management is more than just version control. If properly setup, it encompasses workarea management, release management, build-management, issue tracking and project control and is then a key to team productivity and product quality The different disciplines that together create your product, all need a different approach to design data management. ASIC and SoC design data management need a strong focus on IP re-use. Software data management has a long tradition with methodologies such as SEI s Capability Maturity Model and Rational s Unified Change Management. For PCB data management part selection and library management are of most importance. PLM FPGA design data management is of increasing importance for many companies, because the sizes of the FPGA s nowadays FPGA design requires moreand-more collaboration. ASI C/ SoC Softwar e FPGA PCB Mechanic. time disciplines As sketched in the figure above, the multiple disciplines perform their design tasks over time and on critical points in time store and retreive product data to and from the Product Lifecycle Management (PLM) system. The PLM system should contain all the product s data from its design to its disposal. Let us consider the situation of a small FPGA design group that has two main productlines called A and B, the endproduct is a measurement system and product A performs the data acquisition and product B is a dedicated network interface. Product A and B are the most recent versions that are delivered to the group s customers. There are still some older version in use by customers, shown here as A- and B-. Furthermore, new product development has started on products A+ and B+. Copyright 2006 Dizain-Sync b.v. Page 1

At some point in time, the activities and efforts in the FPGA design group could be such as shown in the figure below. There is significant development effort on the new products, A+ and B+, but a bug has been discovered by a customer in the delivered product A, so a bugfix is on its way (and requires also significant effort). Furthermore, all products in the field (A, A-, B and B-) require some support. Support Product A/A- Support Product B/B- Concurrent activities and effort 100% Bugfix Product A Development Product A+ Development Product B+ Then the data management for product A can look like the figure below. first integrated and tested release of A+ development on A+ continues with up-to-date sources bugfix integrated and tested in A+ development on A+ continues with up-to-date sources product A+ developer 2 stream product A+ developer 1 stream product A+ mainline product A mainline product A bugfix stream initial built bug detected and fix started bugfix integrated and tested in A tested In this figure, a new mainline is started for the new product A+, because it is a significant new development and uses a newer FPGA type and a tested release of the source code for product A is Copyright 2006 Dizain-Sync b.v. Page 2

used as starting point for the development of product A+. Two developers are allocated for the new development and both are given a development stream, so that they can perform their changes isolated from each other. At some point(s) in time the developers integrate (merge) their code in the mainline for product A+ and the result is built and tested. After succesful integration and testing, development is resumed by both developers with the tested sources (rebase). This process may be repeated several times and good practice is to plan ahead the points in time at which the integration will be done. A bug in product A was discovered and appropriate measures to fix it were taken by starting a bugfix using the sources for product A. This bugfix is then integrated back into the mainline for product A and tested. On successful completion of these tests, a new release of product A in which the bug is solved may be released to the customer(s). Furthermore, the bugfix is also integrated in the mainline of product A+, to asure that product A+ will not contain the same bug that has been solved in product A (a situation that is not uncommon and very annoying for customers). At some point in time, development on A+ will then continue with the up-to-date sources (this can be as shown in the figure above, but when the changes for the bugfix are more significant, it will usually be more efficient to wait to the next integration of the development streams has to be done). The situation described above is not very complex and could be dealt with without any form of data management software; however this is not very advisable and would undoubtedly lead to errors. Furthermore, it is impossible to oversee the status by anybody besides the developers themselves. A more complex situation arises, when re-use is taken into account. Re-use has been proven to be the most effective way to cope with the increasing size of FPGA s and ASIC s (other ways may be high-level synthesis based on Matlab or C++ code). In the case of our FPGA design group, it is likely that the data acquisition and dedicated network products have some functionality in common. And after over time this functionality is contained in an Intellectual Property library of common components, called C. For library C, the data management picture will look as shown in the figure below. product B+ mainline product A+ mainline library C mainline product A mainline product A bugfix stream initial built tested Obviously, this process is of a complexity that is not feasible without a good setup for revision control and change management. Copyright 2006 Dizain-Sync b.v. Page 3

Processes, reporting, issue tracking Of equal importance is that proper work processes are in place. To support the work processes, change management is necessary, because there must be a link between the versions that are changed and the activity that was the reason why. Typically the links between activities and version changes is stored in a change management database. This will then create the powerful possibility of automatically generating reports, so that a manager may closely follow the status of all data under development. Now, looking at the individuals that are involved in the process, this may look like the figure below. centr al r epositor ies and CM databases r epor ting Admin pr oject/ gr oup manager I P developer local wor kspace local wor kspaces local wor kspaces design team design team The picture shows central collection of repositories and change management databases, which are controlled by an administrator. Furthermore it shows several design teams that are staffed with designers that each have their own local workspace that can be either isolated from each other and the central repository or can be automatically synchronized with the central repository and IP developers that develop the components that can be re-used by the design teams and are delivered to the central repository. The project or group manager can keep track of the developments by automaticly generating reports from the change management databases. Developers that join one of the projects can have their workspace set up automatically and start working right away. Distributed or multi-site development is getting more and more common. It can be that remote login or the use of a VPN is sufficient to support the distributed development and most revision control software will support limited control using HTTP, but for larger organisations, it is likely that the central repositories must be replicated over the different sites. There are a number of options that need to be considered to find the right implementation for a specific organization. After all, for an engineer, the best thing a data management tool can do is stay out of the way and perform its activities as transparent as possible. Copyright 2006 Dizain-Sync b.v. Page 4

Dizain-Sync data management services As shown above, re-use and team-based design are of increasing importance for ASIC, SoC and FPGA design groups. Dizain-Sync offers the following capabilities to help existing design groups with setting up or changing their data management strategies and processes to keep-up with this increasing demand. Dizain-Sync services can aid with: Development of business cases on DDM 1, PDM and PLM. Requirements gathering for tools and processes. Tool selection on PLM, PDM and DDM. Business process improvement. Getting Awareness and unity Training on PLM, PDM and DDM Furthermore, when a higher level approach is required Dizain-Sync can perform assesments and deliver solution services tailored to each individual customer: Assessments Business Awareness assessments PLM Scan Solution Services Requirements gathering in the areas of DDM, PDM and PLM Business process review/optimization and documentation Software vendor selection (in the areas of DDM, PDM and PLM) Implementation services o Project Management o Bridge function between vendor and customer o Training Dizain-Sync has experience with all major FPGA and ASIC development tools: Cadence: DFII, Incisive Synopsys: Design Compiler, VCS, TetraMax, Galaxy and Milkyway databases Mentor Graphics: EPD, HDL-Designer, Modelsim, Seamless, Precision, Fastscan, Platform Express Synplicity: Synplify FPGA/ASIC CoWare: SPW, ConvergenSC Xilinx: ISE, EDK Altera: Quartus, SOPC Builder Dizain-Sync has experience with the following data management tools and solutions: MatrixOne/Synchronicity DesignSync IBM/Rational ClearCase and ClearQuest Telelogic CM-Synergy Perforce SCM Oracle database servers RCS CVS Subversion Trac 1 Design Data Management, the term used here to indicate data management specifically tailored to a design activity or tool (e.g. PCB or IC design). Copyright 2006 Dizain-Sync b.v. Page 5