November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli

Slides:



Advertisements
Similar presentations
Analysis of Computer Algorithms
Advertisements

Computer Architecture
November 23, 2005 Egor Bondarev, Michel Chaudron, Peter de With Scenario-based PA Method for Dynamic Component-Based Systems Egor Bondarev, Michel Chaudron,
System Integration Verification and Validation
The cardiac pacemaker – SystemJ versus Safety Critical Java Heejong Park, Avinash Malik, Muhammad Nadeem, and Zoran Salcic. University of Auckland, NZ.
A Hierarchical Co-ordination Language for Interacting Real-time Tasks Arkadeb Ghosal, UC Berkeley Thomas A. Henzinger, EPFL Daniel Iercan, "Politehnica"
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Last update: August 9, 2002 CodeTest Embedded Software Verification Tools By Advanced Microsystems Corporation.
Verification/Simulati on –GUI for simulation and formal verification –Simulator: Exploration of dynamic behavior Checking.
MotoHawk Training Model-Based Design of Embedded Systems.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Event Driven Real-Time Programming CHESS Review University of California, Berkeley, USA May 10, 2004 Arkadeb Ghosal Joint work with Marco A. Sanvido, Christoph.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Metro II : A Next-Generation Framework for Platform-based Design Abhijit Davare, Douglas Densmore, Trevor Meyerowitz, Alessandro Pinto, Alberto Sangiovanni-Vincentelli,
Ritu Varma Roshanak Roshandel Manu Prasanna
Chapter 13 Embedded Systems
Reference Book: Modern Compiler Design by Grune, Bal, Jacobs and Langendoen Wiley 2000.
Models of Computation for Embedded System Design Alvise Bonivento.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
Expressing Giotto in xGiotto and related schedulability problems Class Project Presentation Concurrent Models of Computation for Embedded Software University.
Summary of the Course What, Why, When. 2 The Y-chart view of the Course System Behavior System Architecture Behavior on Architecture Mapping Refine Implementation.
February 21, 2008 Center for Hybrid and Embedded Software Systems Mapping A Timed Functional Specification to a Precision.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
Designing Predictable and Robust Systems Tom Henzinger UC Berkeley and EPFL.
CprE 458/558: Real-Time Systems
Describing Syntax and Semantics
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Database Management Systems (DBMS)
EMBEDDED SOFTWARE Team victorious Team Victorious.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Advances in Language Design
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
SE: CHAPTER 7 Writing The Program
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
Languages for HW and SW Development Ondrej Cevan.
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Handling Mixed-Criticality in SoC- based Real-Time Embedded Systems Rodolfo Pellizzoni, Patrick Meredith, Min-Young Nam, Mu Sun, Marco Caccamo, Lui Sha.
1 Text Reference: Warford. 2 Computer Architecture: The design of those aspects of a computer which are visible to the programmer. Architecture Organization.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
The UML Formal Methods for SoC Design Sorin Manolache
Constraints Assisted Modeling and Validation Presented in CS294-5 (Spring 2007) Thomas Huining Feng Based on: [1]Constraints Assisted Modeling and Validation.
Embedded Programming B. Furman 09MAY2011. Learning Objectives Distinguish between procedural programming and embedded programming Explain the Events and.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
Question What technology differentiates the different stages a computer had gone through from generation 1 to present?
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
1 of 14 Lab 2: Design-Space Exploration with MPARM.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.
Advanced Computer Systems
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Topics Modeling with hardware description languages (HDLs).
课程名 编译原理 Compiling Techniques
Java programming lecture one
Software Design Methodology
Topics Modeling with hardware description languages (HDLs).
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
QGen and TQL-1 Qualification
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Principles of Programming Languages
Presentation transcript:

November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli We present a design flow for the design of embedded systems with control emphasis including software and the underlying computing platform and a case study for its application to a multi-media design: an MP3 player. We use Metropolis as integration environment and xGiotto as software design tool. Metropolis allows representing the functionality of the design and the architecture of the implementation platform in the same environment so that design exploration can be done quickly and efficiently. xGiotto provides a number of facilities that make software analysis and design easier by using a rigorous semantic approach that eliminates some of the most prominent reasons for errors and facilitates the correct implementation of the original control algorithm. The flow starts with xGiotto that is used as an input to the Metropolis environment. xGiotto designs are mapped to the Metropolis MetaModel. Platform architectures are directly input into Metropolis using the MetaModel natively. Mapping of the functionality to the architecture is performed in the Metropolis environment. The analysis of the mapped architecture can be used to feed back performance and other quantities related to the platform of interest to the software designer who then can modify the software to improve its design and to meet constraints. Functionality Capture Functional Simulation Quantity Estimation Formal Analysis Platform Selection Code Synthesis Platform Modeling Constraints Generation Mapping xGiotto Formal Verification xGiotto functional description xGiotto-to- Metropolis MMM functional description Mapping1 Mapping2 Mapping3 Platform1 Metropolis Description Platform2 Metropolis Description Platform3 Metropolis Description WCET Estimator Schedulability Results Simulator Platform Selection xGiotto Code Verification Code for the Target platform Platform Estimation External Storage Environment xGiotto Run-time System Task 1 xGiotto Program Description Task n Task 1Task n RTOS CPU BUS MEM Process Medium Quantity Manager CPU Arbitrator BUS Arbitrator Power Time Execution Time Task 1 Execution Time Task n Functional Mapping Architectural Event Filter Modified Embedded Machine Scheduler Environment SensorsActuators Platform active scope task completion execute E code task release xGiotto Reactions xGiotto Program Compiler Possible Execution Traces Code Generator Check Time Safety Check Race Safe Scheduling Strategy Not Safe Race Exists No Race xGiotto Tasks WCET map Run Time Implementation Compile Time Implementation Case Study (mp3 player) xGiotto-on-Metropolis Power and Energy estimation is done by Simplescalar-Arm Power Modeling Project Real-Time Operating System User Interface xGiotto Metropolis Framework Proposed Design Flow Integrating xGiotto and Metropolis in the Flow CPU BUS Memory Abstract Functionality Capture The embedded system application is captured using a real-time programming language Constraints Generation The constraints for execution are generated Platform Modeling The real-time platform characteristics are modeled Functional Simulation The functionality of the applications is studied to verify for desired behavior under test-case scenarios Quantity Estimation Platform dependent quantities (e.g. execution time) are estimated Formal Analysis Properties like races and schedulability are formally verified for the designed system Platform Selection Different platforms are explored and one of them is chosen based upon optimization criteria such as power and cost that involve the results of the estimation phase Code Synthesis Code generator produces code for the target platform xGiotto operational Semantics Denotational framework equivalent (using Tagged Signal Model) Equivalent Action Automata Model Equivalent MMM Language Model Basic Functionality Interaction Functionality Reaction Blocks - Basic programming blocks in xGiotto - Consists of release statements and trigger statements and a termination event - Releases tasks and invokes triggers » react {reaction block} until [event]; Schedule Instruction – Schedule tasks – Tasks are released with the invocation of the reaction block – Tasks are terminated with the termination of the reaction block » release task (input ports) (output ports); Trigger Statements – Defines the invoking action associated with an event » when [event] reaction block; – Repetition construct using whenever active releasestartpreemptionresumecompletiontermination running release eventtermination event completion event Logical Execution Time (LET) { { Physical Logical Race Condition Detection Verifying whether a program variable is updated with multiple values and thus leading to non-determinism Resource Size Analysis Predicting run-time memory requirements for executing an xGiotto program Schedulability Analysis Ensuring that all task invocations get access to the executing platform at least equal to their worst-case- execution-times before their termination Programming language targeted towards event driven control applications The language is based on Logical Execution Time (LET) model of tasks The programmer specifies when the output of a task becomes available Event Scoping Events are the main structuring principle Event can be implicitly scoped by program definition A scope can be active: events are handled as soon as they occur passive: events are ignored or remembered so that the related action is taken when the surrounding scope becomes active again Language Features LET model Analysis xGiotto Run-time and Compile Time Implementation Implemented on Lego Mindstorm RCX unit Two different hardware configuration are tested: -- ARM processor using simplescalar ISS -- PowerPC 750 processor using ppc750sim ISS Flash Memory task dac -- reads buffer with the decoded stream task read -- accesses the external storage task decode -- decodes the stream stored in buffer task battchk -- checks battery life task tempo -- modifies the speed of the song task pitch -- modifies the pitch and key task rate -- changes both the tempo and pitch task vol -- updates the volume task editlist -- edits the list of songs to be played task skip -- skips songs to be played task usb -- downloads songs into the player xGiotto run-time system is implemented on Motorola coldfire m68k Execution time analysis and power measurements for the tasks on different platforms