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

Singh GGJJ2011

  • Upload
    shiva-u

  • View
    216

  • Download
    2

Embed Size (px)

DESCRIPTION

electronics

Citation preview

PowerPoint Presentation

Grard: The Hard Man behind the Soft CoreSatnam SinghMicrosoft Research, Cambridge UKThe University of Birmingham

A presentation given at GGJJ2011 to celebrate the careers of GG. Berry and J. J. Levy.1

We also know that JJL poses no threat to society.2

!However, although Gerard appears to be a kind man we should all realized that he is in fact highly dangerous.3

When you say you have a new language in the US no-one wants to know, in Europe people design a type system for it and prove it is sound. GG went one step further and produced practical tools based on solid theory.4

multipleindependentmulti-portedmemoriesfine-grainparallelism andpipelininghard and softembeddedprocessorsA description of FPGA architecture.5

Now people are putting FPGAs next to processors (here Aletra FPGA + Intel Atom processor).6

I try to make combined hardware/software systems.7

And I use FPGA boards for application acceleraiton.8

I have not brought any with me because I look like a terrorist and cant bring the boards onto airplanes.90101110001110001110100111001100100111000111001010110001110001110New .bit File0101110001110001110100111001100100111000111001010110001110001110.mem FileDATA2BRAM0101110001110001110100111001100100111000111001010110001110001110ELF 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 FileMaking hardware software co-designed systems is hard.10ZBT SSRAMSDRAMZBT SSRAMControllerSDRAMController405PPCOn-ChipPeripheralROMHigh-SpeedPeripheralOn-ChipPeripheralCoreConnect OPB(On-Chip Peripheral Bus)OPBDDRSDRAMCoreConnect Processor Local Bus (PLB) ArbiterDDR SDRAMControllerExternal BusControllerOPB BridgeOPB BridgeI-Cache PLBD-Cache PLBAnd embedded systems are complex.11

locksmonitorscondition variablesspin lockspriority inversion

Existing mainstream techniques are based on Soviet era technology.12

Which often lead to this13PLDI 1998Papers based on experimental results made clear the urgent need for a better way to produce embedded software.14PLDI 1999Random abstract graph indicating experimental nature of PLDI papers.15PLDI 2000Random abstract graph indicating experimental nature of PLDI papers.

16POPL 1998

Theoretically based conferences grappled with the theory and semantics of systems suitable for producing embedded systems (slides of random definitions and proofs).17POPL 1999

POPL 2000

ray of lightSignalLustrePRET-CSHIMJazzEsterelHowever there are promising techniques from the synchronous programming community that can help us.20

San Jose, 6 June 2003In 2003 GG come to our house and we hatched a plan to use Esterel for hardware.21

Sylvan DissoubrayWe got some good friends to help.22

Grard wearing Satnams ringSatnam wearing Grards ringSan Jose, 6 June 2003At the dinner we swapped rings to symbolize the start of our campaign to have all hardware design done in Esterel23

Grard BerrySynchronous Programming Language Combat TeamAlbert BenvenisteNicolasHalbwachs24Zero delay example: Newtonian MechanicsConcurrency + DeterminismCalculations are feasible

25

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 paradigmSafe State MachinesEsterel codeloop [ await A || await B ] ; emit Oeach R

We designed systems in Esterel.27

Esterel designvoid uart_device_driver (){.....}uart.cVHDL, Verilog -> hardware implementationC -> software implementation

We could compile the same description to hardware or software.28Hardware UART

Hardware.29Software UART

Soft-core processor version of same function (Microblaze).3018/01/2011 31G. Berry, Microsoft Research

Project StructureAutomatic Documentation

ProjectManagementExecutable Specification Exporter

Debugging & SimulationFormal VerificationDesignVerificationSequential Equivalence checkDUT

Optimized for synthesisDFT-readySystemC & RTL flow integrationC / C++ / SystemC

Verilog / VHDL

.sc.vhd

ArchitectureDesign Specification Capture

Design FunctionalSpec

Verification RequirementsArchitectureDiagram (2007)EditorSimulatorDesignVerifierModelReporterCode & TestbenchGeneratorsEditorSequentialEquivalenceCheckerIDEPlayer

IDEEsterel and other synchronous languages have proved to be hugely successful.3118/01/2011 32G. Berry, Microsoft ResearchSCADE in the Airbus A380Flight Control system Flight Warning systemElectrical Load Management systemAnti Icing systemBraking and Steering systemCockpit Display systemPart of ATSU (Board / Ground comms)FADEC (Engine Control)EIS2 : Specification GUI Cockpit:PFD : Primary Flight DisplayND : Navigation DisplayEWD : Engine Warning DisplaySD : System Display

Flight ControlPrimary & Secondary Commands

Anti Ice Control Unit

FlightWarningSystem

Braking & Steering Control Unit

The leaders of the English speaking world have been pondering what to do about the threat from French synchronous languages.33French Synchronous Language Thread Level Remains High

SEVERE:hysteresisHIGH:deadlockELEVATED:priority inversionGUARDED:non-atomic actionLOW:race conditionThey decided to instantiate a warning system.34beginendprocedurestatic final voidforwhile

loopacceptif then elsecaseBUT REALLY GG was engaged in an act of revenge for all the programming language with English keywords that have been foisted on French speaking programmers.35present gift then await scream end presentThank you Stephen EdwardsSo he designed a concurrent programming language with English keywords that have EXACTLY THE OPPOSITE semantics compared to the informal semantics assumed by a native English speaker.36present gift then pause; every day do await thanks end every end presentThank you Stephen EdwardsHere are some examples.37abort nothing when boredThank you Stephen Edwardsevery day do nothing end everyThank you Stephen Edwardsrun slowly

Thank you Stephen Edwardsawait falls ; every body do sustain disbelief end everyThank you Stephen Edwardspresent case legally do run away end presentThank you Stephen Edwardsabort task when immediate objectionThank you Jens Brandtabort run slowly || run fastly when sleepy Thank you Mike Kishinevskytrap mouse in every loop do run cheese end every handle hair do run water end trapThank you Mike Kishinevsky

Engine control software programmed in Esterel by non-French speakerThe UK police tried to program engine control software in Esterel which lead to a terrible crash underlining that fact that this powerful technology can only be used by French speakers.46

Kavi Arya, Mumbai, 10 January 2004With Kavi Arya there was an exploration into using Esterel for music.47

A concert in Mumbai we went to as part of our research.48

Our listening stations have detected chatter in the San Diego area about a quantum computing group looking to make a variant of Esterel.49Esterelpresent A then emit A end This program is rejected by the normal Esterel because you can not detect the presence of a signal and then emit it.50QEsterelpresent A then emit A end Thank you Georges GonthierHowever, these researchers are working on a variant called QEsterel to model quantum computing experiments where this program would be legal.51

Mike KishinevskyMike Kishinevsky at Intel has been using Esterel for some time for hardware design and need to be found and stopped at all costs and we urge you to make a citizens arrest if you find him.52

Mike KishinevskyHe often wears this disguise.53