5 Mar 001animation check Animation check for on-line presentations Ellen M. Sentovich.

Slides:



Advertisements
Similar presentations
1 Title Page Implicit and Explicit Reachable State Space Exploration Of Esterel Logical Circuits Advisor :
Advertisements

Modelos de Computação Básicos Prof. Dr. César Augusto Missio Marcon Parcialmente extraído de trabalhos de Axel Jantch, Edward Lee e Alberto Sangiovanni-Vincentelli.
MPI Message Passing Interface
Introduction to Assembly language
Programming Languages and Paradigms
Lab7: Introduction to Arduino
© S. Ramesh / Kavi Arya / Krithi Ramamritham IT-606 Embedded Systems (Software) S. Ramesh Kavi Arya Krithi Ramamritham KReSIT/ IIT Bombay.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Remote Procedure Call Design issues Implementation RPC programming
Analyzing and Verifying Esterel Programs Taisook Han , Division of Computer Science, KAIST.
ESP: A Language for Programmable Devices Sanjeev Kumar, Yitzhak Mandelbaum, Xiang Yu, Kai Li Princeton University.
Synchronous Languages and System Design with Esterel Ellen Sentovich Cadence Berkeley Laboratories.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Optimized State Encoding for Esterel Programs Dumitru POTOP-BUTUCARU.
Copyright © 2001 Stephen A. Edwards All rights reserved The Synchronous Language Esterel Prof. Stephen A. Edwards.
An introduction to Embedded Systems Michele Arcuri Software Engineering 2 A.A
Tam Vu Remote Procedure Call CISC 879 – Spring 03 Tam Vu March 06, 03.
Copyright © 2001 Stephen A. Edwards All rights reserved Research Areas Stephen A. Edwards.
Esterel Overview Roberto Passerone ee249 discussion section.
CS 536 Spring Code generation I Lecture 20.
Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM.
Modeling and Visualization of CFSM Networks in JavaTime Michael Shilman James Shin Young EE249 Project Presentation December 8, 1998.
Contemporary Logic Design Finite State Machine Design © R.H. Katz Transparency No Chapter #8: Finite State Machine Design 8.5 Finite State Machine.
Models of Computation for Embedded System Design Alvise Bonivento.
Copyright © 2001 Stephen A. Edwards All rights reserved Esterel and Other Projects Prof. Stephen A. Edwards Columbia University, New York
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
Einsterel: A Compiled Event-Driven Simulator for Esterel.
Models of Computation Reading Assignment: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
October 18, 2001Cho & Kim 1 Software Synthesis EE202A Presentation October 18, 2001 Young H. Cho and Seung Hyun Kim.
10 ThinkOfANumber program1July ThinkOfANumber program CE : Fundamental Programming Techniques.
A Mystery Esterel –small no type inference, subtyping, … no recursion, functions, … no pointers, malloc, GC, … no complex data structures, libraries,
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Systems Software Operating Systems.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
IT253: Computer Organization Lecture 4: Instruction Set Architecture Tonga Institute of Higher Education.
Models of Computation: FSM Model Reading: L. Lavagno, A.S. Vincentelli and E. Sentovich, “Models of computation for Embedded System Design”
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
Systems Software Operating Systems. What is software? Software is the term that we use for all the programs and data that we use with a computer system.
An introduction to Esterel and its compilation
“Software” Esterel Execution (work in progress) Dumitru POTOP-BUTUCARU Ecole des Mines de Paris
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Mahapatra-A&M-Fall'001 Co-design Finite State Machines Many slides of this lecture are borrowed from Margarida Jacome.
Advanced Digital Circuits ECET 146 Week 6 Professor Iskandar Hack ET 221G, Me as I typed this slides.
© S. Ramesh / Kavi Arya / Krithi Ramamritham 1 IT-606 Embedded Systems (Software) S. Ramesh Kavi Arya Krithi Ramamritham KReSIT/ IIT Bombay.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
Submitted To: Rutvi sarang Submitted By: Kushal Bhagat.
© S. Ramesh / Kavi Arya / Krithi Ramamritham 1 IT-606 Embedded Systems (Software ) S. Ramesh Kavi Arya Krithi Ramamritham KReSIT/ IIT Bombay.
Compilers and Interpreters. HARDWARE Machine LanguageAssembly Language High Level Language C++ Visual Basic JAVA Humans.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
System Requirements Specification
Copyright © Texas Education Agency, Advanced Computer Programming Data Structures: Basics.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Revisiting building. Preprocessing + Compiling 2 Creates an object file for each code file (.c ->.o) Each.o file contains code of the functions and structs.
An introduction to Embedded Systems
JTAG feature nan FIP Stephen Page TE/EPC-CC
Software Testing.
Esterel By: Sam Weinberg.
AUTOMATED SESSION PLANNING. In the present world, everything has become automated. By, a click everything is being processed. But the preparation of the.
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
ZigBee Data Depackager
State Abstraction Techniques for the Verification of Reactive Circuits
Type Conversion It is a procedure of converting one data type values into another data type In C programming language we are having two types of type conversion.
Introduction to Verilog – Part-2 Procedural Statements
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

5 Mar 001animation check Animation check for on-line presentations Ellen M. Sentovich

5 Mar 002animation check Introduction l This is a short presentation to test animation capabilities in the video-presentation-on-web process. l Disclaimer: –The slides are taken from several different presentations on similar topics, and now make no sense whatsoever. –The author accepts no responsibility for the use of their content in any design flows. l Many types of animation are mixed together on purpose. –The author accepts no responsibility for viewers who may be subsequently overwhelmed or confused by the images.

5 Mar 003animation check Outline l Technology & tool overview –Esterel : capabilities, example –ECL : language, compiler, capabilities, example –EsterelStudio –Graphical formalism (SyncCharts) –Development tools (code generation, simulation, verification)

5 Mar 004animation check People l ECL –CBL : Luciano Lavagno, Ellen Sentovich, Roberto Passerone l Esterel –CMA (France) : Gérard Berry et al –CBL has a research contract with CMA l EsterelStudio –Simulog (France) –Research project (French gov’t) with Cadence

5 Mar 005animation check Esterel l Features –Language: efficient for specifying state machines –signal communication, pre-emption, concurrency –Semantics: formal, clean, underlying deterministic FSM –advanced analysis tools available –HW or SW implementation possible –Compiler: well-developed (10+ years), implicit (efficient) –Tools : graphical simulation, verification, code generation –free access to binaries

5 Mar 006animation check Esterel : example Specification: “Wait until both A and B have occurred, then output O, unless the reset R occurs” A B/O B A/O AB/O R R R Number of states: exponential in inputs [await A || await B] ; emit O abort when R loop end Explicit state machine:Esterel : Each reactive notion written once concurrencypre-emption

5 Mar 007animation check ECL compilation Implementation in HW / SW ECL Specification Esterel CodeC - code C functions data handling reactive control Simulation Model Esterel Compiler to C Esterel Compiler to C/FSM

5 Mar 008animation check ECL : example Specification: “Wait until both A and B have occurred, then output O, unless the reset R occurs” [await A || await B] ; emit O abort when R loop end Esterel : concurrency pre-emption while (1) { } do { } abort(R); emit(O); par await A; par await B; ECL:

5 Mar 009animation check De-proprietrized Flows file.a file.b file.c Result 1 Demo 1 Analysis 1 Analysis 2 Demo 3 A program Analysis 3 Opt 1 Demo 2 Toolbox !

5 Mar 0010animation check De-proprietrized Flows file.a file.b file.c Result 1 A program Analysis 1 Analysis 2 Demo 4 Analysis 3 Opt 1

5 Mar 0011animation check Example : pre-compilation typedef { byte hdr[HSIZE]; byte data[DSIZE]; int crc; } frame_t; module frame_proc (input byte in, output frame_t out) { signal frame_t frame; signal int bad_crc; byte buf[SIZE]; frame_t f; int crc; par { while (1) {/* get bytes into frame */ for (i = 0; i < SIZE; i++) {await (in); buf[i] = in;} create_frame_from_buffer(&f, buf); emit (frame, f); } while (1) {/* check CRC */ await (frame); for (i = 0; i < HSIZE; i++) crc ^= frame.hdr[i]; if (crc != frame.crc) emit (bad_crc); } while (1) {/* process address (if correct) */ await (frame); do { /* … */; emit (out, frame) } abort (bad_crc); } C data type Pre-emption Non-reactive loop Reactive loop Concurrency

5 Mar 0012animation check Example : post-compilation typedef { byte hdr[HSIZE]; data[DSIZE]; int crc } frame_t; void crc_compute(int crc, frame_t frame) { for (i = 0; i < HSIZE; i++) crc ^= frame.hdr[i]; } /* plus interface functions such as set_buffer_i */ module frame_proc: input in : byte; output out : frame_t; signal frame : frame_t, bad_crc:integer in var buf : frame_t, crc:integer in loop % get bytes into frame trap DONE in cnt := 0; loop {await in; set_buffer_i(buffer, i, in); if (cnt < SIZE) else exit DONE end if;} end loop emit frame(?buffer); end trap; end loop || loop % check CRC await frame; crc_compute(crc, frame); if (crc != get_frame_crc(frame) then emit bad_crc end if; end loop || etc Compiled to C Compiled to Esterel Reactive loop Non-reactive loop