53
Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Embed Size (px)

Citation preview

Page 1: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Gérard: The Hard Man behind the Soft Core

Satnam SinghMicrosoft Research, Cambridge UK

The University of Birmingham

Page 2: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham
Page 3: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

!

Page 4: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham
Page 5: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

multipleindependentmulti-ported

memories

fine-grainparallelism

andpipelining

hard and softembeddedprocessors

Page 6: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham
Page 7: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham
Page 8: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham
Page 9: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham
Page 10: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

0101110001110001110100111001100100111000111001010110001110001110

New .bit File0101110001110001110100111001100100111000111001010110001110001110

.mem File

DATA2BRAM

0101110001110001110100111001100100111000111001010110001110001110

ELF File

# CPU address space 0xFFFFE000 - 0xFFFFFFFF. ADDRESS_BLOCK dramctlr BUS_BLOCK [0xFFFFF000:0xFFFFFFFF] xrefdes/dramctlr/bram0 [7:0] LOC=RAMB16_X0Y0; xrefdes/dramctlr/bram1 [15:8] LOC=RAMB16_X1Y0; xrefdes/dramctlr/bram2 [23:16] LOC=RAMB16_X2Y0; . . . END_BUS_BLOCK; END_ADDRESS_BLOCK;

BlockRam Memory Map (.bmm)

0101110001110001110100111001100100111000111001010110001110001110

.bit File

Page 11: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

ZBT SSRAM SDRAM

ZBT SSRAMController

SDRAMController

405PPC

On-ChipPeripheral

ROM

High-SpeedPeripheral

On-ChipPeripheral

CoreConnect OPB(On-Chip Peripheral Bus)

OPB

DDRSDRAM

CoreConnect Processor Local Bus (PLB) Arbiter

DDR SDRAMController

External BusController OPB Bridge

OPB BridgeI-Cache PLB

D-Cache PLB

Page 12: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

locksmonitorscondition variablesspin lockspriority inversion

Page 13: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham
Page 14: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

PLDI 1998

Page 15: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

PLDI 1999

12345

Page 16: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

PLDI 2000

1 2 3 4 50

10

20

30

40

50

60

70

80

Series1Series2

Page 17: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

POPL 1998

Page 18: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

POPL 1999

Page 19: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

POPL 2000

Page 20: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

ray of light

Signal

Lustre

PRET-C

SHIM

Jazz

Esterel

Page 21: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

San Jose, 6 June 2003

Page 22: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Sylvan Dissoubray

Page 23: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Gérard wearing Satnam’s ring

Satnam wearing Gérard’s ring

San Jose, 6 June 2003

Page 24: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Gérard Berry

Synchronous Programming Language Combat Team

Albert Benveniste

NicolasHalbwachs

Page 25: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Zero delay example: Newtonian Mechanics

Concurrency + DeterminismCalculations are feasible

Page 26: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Predictable delay examples: sound, light, waves

• Wait long enough, same result as 0-delay !• Zero delay and predictable delay are fully compatible• Constructive semantics is the unification• A theory of causality for reactive systems

• Clocked digital circuits paradigm

Page 27: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Safe State Machines Esterel code

loop [ await A || await B ] ; emit Oeach R

Page 28: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Esterel design

void uart_device_driver (){.....} uart.c

VHDL, Verilog -> hardware implementation

C -> software implementation

Page 29: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Hardware UART

Page 30: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Software UART

Page 31: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

18/01/2011 31G. Berry, Microsoft Research

Project Structure

Automatic Documentation

ProjectManagement

Executable Specification

Exporter

Debugging & Simulation

Formal Verification

DesignVerification

Sequential Equivalence

check

DUT

Optimized for synthesis

DFT-ready

SystemC & RTL flow integration

C / C++ / SystemC Verilog / VHDL

.sc .vhd

Architecture

Design Specification Capture

Design Functional

Spec Verification Requirements

ArchitectureDiagram (2007)

Editor

Simulator

DesignVerifier

ModelReporter

Code & TestbenchGenerators

Editor

SequentialEquivalence

Checker

IDE

PlayerIDE

Page 32: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

G. Berry, Microsoft Research 18/01/2011 32

SCADE in the Airbus A380

– Flight Control system – Flight Warning system– Electrical Load Management system– Anti Icing system– Braking and Steering system– Cockpit Display system– Part of ATSU (Board / Ground comms)– FADEC (Engine Control)– EIS2 : Specification GUI Cockpit:

– PFD : Primary Flight Display– ND : Navigation Display– EWD : Engine Warning Display– SD : System Display

Flight ControlPrimary & Secondary

Commands

Anti Ice Control Unit

FlightWarningSystem

Braking & Steering Control Unit

Page 33: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham
Page 34: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

French Synchronous Language Thread Level Remains High

SEVERE:hysteresis

HIGH:deadlock

ELEVATED:priority inversion

GUARDED:non-atomic action

LOW:race condition

Page 35: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

begin…end

procedure

static final void

forwhile

loop

accept

if then else

case

Page 36: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

present gift then await scream end present

Thank you Stephen Edwards

Page 37: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

present gift then pause; every day do await thanks end every end present

Thank you Stephen Edwards

Page 38: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

abort nothing when bored

Thank you Stephen Edwards

Page 39: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

every day do nothing end every

Thank you Stephen Edwards

Page 40: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

run slowly

Thank you Stephen Edwards

Page 41: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

await falls ; every body do sustain disbelief end every

Thank you Stephen Edwards

Page 42: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

present case legally do run away end present

Thank you Stephen Edwards

Page 43: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

abort task when immediate objection

Thank you Jens Brandt

Page 44: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

abort run slowly || run fastly when sleepy

Thank you Mike Kishinevsky

Page 45: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

trap mouse in every loop do run cheese end every handle hair do run water end trap

Thank you Mike Kishinevsky

Page 46: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Engine control software programmed in Esterel by non-French speaker

Page 47: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Kavi Arya, Mumbai, 10 January 2004

Page 48: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham
Page 49: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham
Page 50: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Esterel

present A then emit A end

Page 51: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

QEsterel

present A then emit A end

Thank you Georges Gonthier

Page 52: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Mike Kishinevsky

Page 53: Gérard: The Hard Man behind the Soft Core Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham

Mike Kishinevsky