5 mar 001animation check animation check for on-line presentations ellen m. sentovich

12
5 Mar 00 1 animation check Animation check for on-line presentations Ellen M. Sentovich

Upload: adrian-morris

Post on 16-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

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

5 Mar 00 1animation check

Animation check for on-line presentations

Ellen M. Sentovich

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

5 Mar 00 2animation check

Introduction

This is a short presentation to test animation capabilities in the video-presentation-on-web process.

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.

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.

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

5 Mar 00 3animation check

Outline Technology & tool overview

– Esterel : capabilities, example

– ECL : language, compiler, capabilities, example

– EsterelStudio

– Graphical formalism (SyncCharts)

– Development tools (code generation, simulation, verification)

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

5 Mar 00 4animation check

People

ECL

– CBL : Luciano Lavagno, Ellen Sentovich, Roberto Passerone

Esterel

– CMA (France) : Gérard Berry et al

– CBL has a research contract with CMA

EsterelStudio

– Simulog (France)

– Research project (French gov’t) with Cadence

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

5 Mar 00 5animation check

Esterel

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

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

5 Mar 00 6animation 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

RR

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

concurrency pre-emption

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

5 Mar 00 7animation check

ECL compilation

Implementationin HW / SW

ECLSpecification

Esterel Code C - code

C functionsdata handling reactive control

Simulation Model

EsterelCompiler to C

EsterelCompiler to C/FSM

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

5 Mar 00 8animation 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:

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

5 Mar 00 9animation 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 !

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

5 Mar 00 10animation check

De-proprietrized Flows

file.a

file.b file.c

Result 1

A program

Analysis 1 Analysis 2

Demo 4

Analysis 3 Opt 1

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

5 Mar 00 11animation check

Example : pre-compilationtypedef { 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

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

5 Mar 00 12animation 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 invar 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 toEsterel

Reactive loop

Non-reactive loop