1 / 53

G é rard: The Hard Man behind the Soft Core

G é rard: The Hard Man behind the Soft Core. Satnam Singh Microsoft Research, Cambridge UK The University of Birmingham. !. multiple independent multi-ported memories. hard and soft embedded processors. fine-grain parallelism and pipelining. BlockRam Memory Map (.bmm).

doyle
Download Presentation

G é rard: The Hard Man behind the Soft Core

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. !

  3. multiple independent multi-ported memories hard and soft embedded processors fine-grain parallelism and pipelining

  4. BlockRam Memory Map (.bmm) # 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; DATA2BRAM .bit File ELF File 0101110001110001 1101001110011001 0011100011100101 0110001110001110 0101110001110001 1101001110011001 0011100011100101 0110001110001110 .mem File New .bit File 0101110001110001 1101001110011001 0011100011100101 0110001110001110 0101110001110001 1101001110011001 0011100011100101 0110001110001110

  5. ZBT SSRAM SDRAM DDRSDRAM ROM OPB ZBT SSRAMController SDRAMController DDR SDRAMController External BusController OPB Bridge On-ChipPeripheral CoreConnect OPB(On-Chip Peripheral Bus) CoreConnect Processor Local Bus (PLB) Arbiter On-ChipPeripheral 405 PPC I-Cache PLB OPB Bridge D-Cache PLB High-SpeedPeripheral

  6. locks monitors condition variables spin locks priority inversion

  7. PLDI 1998

  8. PLDI 1999

  9. PLDI 2000

  10. POPL 1998

  11. POPL 1999

  12. POPL 2000

  13. ray of light Signal Esterel Jazz Lustre SHIM PRET-C

  14. San Jose, 6 June 2003

  15. Sylvan Dissoubray

  16. Gérard wearing Satnam’s ring Satnam wearing Gérard’s ring San Jose, 6 June 2003

  17. Gérard Berry Nicolas Halbwachs Albert Benveniste Synchronous Programming Language Combat Team

  18. Zerodelayexample: NewtonianMechanics Concurrency + Determinism Calculations are feasible

  19. 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

  20. Esterel code Safe State Machines loop [ await A|| await B ] ; emit O each R

  21. VHDL, Verilog -> hardware implementation void uart_device_driver () { ..... } Esterel design uart.c C -> software implementation

  22. Hardware UART

  23. Software UART

  24. Design Specification Capture Design FunctionalSpec Architecture Verification Requirements Editor Project Structure Debugging & Simulation Editor ArchitectureDiagram (2007) DesignVerification ProjectManagement Simulator IDE DesignVerifier Formal Verification ModelReporter Automatic Documentation IDE SequentialEquivalenceChecker Player DUT Sequential Equivalence check  Executable Specification Exporter Code & TestbenchGenerators Optimized for synthesis DFT-ready SystemC & RTL flow integration .sc C / C++ / SystemC Verilog / VHDL .vhd G. Berry, Microsoft Research

  25. Anti Ice Control Unit Flight ControlPrimary & Secondary Commands FlightWarningSystem Braking & SteeringControl Unit 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 G. Berry, Microsoft Research

  26. French Synchronous Language Thread Level Remains High SEVERE: hysteresis HIGH: deadlock ELEVATED: priority inversion GUARDED: non-atomic action LOW: race condition

  27. begin … end static final void procedure if then else while for loop accept case

  28. presentgift thenawaitscream endpresent Thank you Stephen Edwards

  29. presentgift thenpause; everyday doawaitthanks endeveryendpresent Thank you Stephen Edwards

  30. abortnothingwhenbored Thank you Stephen Edwards

  31. everyday donothingendevery Thank you Stephen Edwards

  32. runslowly Thank you Stephen Edwards

  33. awaitfalls ; everybody dosustaindisbelief endevery Thank you Stephen Edwards

  34. presentcase legally dorunaway end present Thank you Stephen Edwards

  35. aborttask whenimmediateobjection Thank you Jens Brandt

  36. abortrunslowly || runfastlywhensleepy Thank you Mike Kishinevsky

  37. trap mouse in     every loop         do run cheese     end every handle hair do     run water end trap Thank you Mike Kishinevsky

  38. Engine control software programmed in Esterel by non-French speaker

  39. KaviArya, Mumbai, 10 January 2004

  40. Esterel present A then emit A end

More Related