Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Hardware synthesis 2.0 Byron Cook and Satnam Singh with Ashutosh Gupta, Stephen Magill, Andrey Rybalchenko, Jiri Simsa, and Viktor Vafeiadis TexPoint.

Similar presentations


Presentation on theme: "1 Hardware synthesis 2.0 Byron Cook and Satnam Singh with Ashutosh Gupta, Stephen Magill, Andrey Rybalchenko, Jiri Simsa, and Viktor Vafeiadis TexPoint."— Presentation transcript:

1 1 Hardware synthesis 2.0 Byron Cook and Satnam Singh with Ashutosh Gupta, Stephen Magill, Andrey Rybalchenko, Jiri Simsa, and Viktor Vafeiadis TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A

2 2 Explosion of advances in program verification Impossible 10 years ago, standard today  SLAM, SpaceInvader, ARMC, Thor, RGSep, TERMINATOR, etc  WP synthesis, WLP synthesis, Challenges in automatic program verification  Concurrency  Data structures  Scalability/precision  Productization  New applications

3 3 Beyond proving correctness Can we use these techniques elsewhere?  Compilers ?  Operating systems?  Language runtimes? Current focus: hardware synthesis  Synthesis for heap-based programs using techniques from termination provers  Automatically parallelize circuits, and localize memories on chip using techniques from heap analysis  Aggressive unrolling of loops during synthesis using complexity analysis

4 Can we use these tools elsewhere?  Compilers ?  Operating systems?  Language runtimes? Current focus: hardware synthesis  Synthesis for heap-based programs using techniques from termination provers  Automatically parallelize circuits, and localize memories on chip using techniques from heap analysis  Aggressive unrolling of loops during synthesis using complexity analysis 4 Beyond proving correctness

5 Can we use these tools elsewhere?  Compilers ?  Operating systems?  Language runtimes? Current focus: hardware synthesis  Synthesis for heap-based programs using techniques from termination provers  Automatically parallelize circuits, and localize memories on chip using techniques from heap analysis  Aggressive unrolling of loops during synthesis using complexity analysis 5 Beyond proving correctness

6 Can we use these tools elsewhere?  Compilers ?  Operating systems?  Language runtimes? Current focus: hardware synthesis  Synthesis for heap-based programs using techniques from termination provers  Automatically parallelize circuits, and localize memories on chip using techniques from heap analysis  Aggressive unrolling of loops during synthesis using complexity analysis 6 Beyond proving correctness

7 Can we use these techniques elsewhere?  Compilers ?  Operating systems?  Language runtimes? Current focus: hardware synthesis  Synthesis for heap-based programs using techniques from termination provers  Automatically parallelize circuits, and localize memories on chip using techniques from heap analysis  Aggressive unrolling of loops during synthesis using complexity analysis 7 Beyond proving correctness

8 8 Hardware synthesis C file Hardware Synthesis

9 9 Hardware synthesis C file Hardware Synthesis

10 10 Hardware synthesis C file Hardware Synthesis

11 11 Hardware synthesis C file Hardware Synthesis

12 12 Hardware synthesis Hardware Synthesis

13 13 Hardware synthesis Hardware Synthesis

14 14 Hardware synthesis Hardware Synthesis

15 15 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure Hardware Synthesis

16 16 Hardware synthesis C file

17 17 Hardware synthesis C file Shape Analysis α file pass error X X

18 18 Hardware synthesis C file Shape Analysis α file pass error X X

19 19 Hardware synthesis X X

20 20 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X

21 21 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure pass

22 22 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure pass

23 23 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure pass

24 24 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure pass

25 25 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure pass

26 26 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure pass

27 27 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure pass

28 28 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure Hardware Synthesis

29 29 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure Hardware Synthesis

30 30 Hardware synthesis pass error pass X X error X X X X failure α file Shape Analysis Termination Analysis Bounds Synthesis Hardware Synthesis C file

31 31 α file failure Hardware synthesis Shape Analysis pass Termination Analysis error pass error Bounds Synthesis X X X X C file Precondition Synthesis X X

32 32 α file failure Hardware synthesis Shape Analysis pass Termination Analysis error pass error Bounds Synthesis X X X X C file Precondition Synthesis X X

33 Altera DE2 FPGA Board 33

34 Altera synthesis/implementation tools 34

35 Synthesized logic 35

36 VHDL simulation of prio netlist 36

37 Logic analyzer output 37

38 38 Conclusion Big advances in formal verification, analysis, understanding Alternative uses for these new techniques?  Compiling for embedded systems or hardware?  Automatic parallelization?  Speculative execution and rollback?  Mixed static/dynamic property checking in runtimes?  Runtime verification of progress (i.e. termination)? Current project  Solving open problems in hardware synthesis  Further blurring the line between hardware and software  Demo: first-known synthesis tool supporting dynamic heap

39 39 Conclusion Big advances in formal verification, analysis, understanding Alternative uses for these new techniques?  Compiling for embedded systems or hardware?  Automatic parallelization?  Speculative execution and rollback?  Mixed static/dynamic property checking in runtimes?  Runtime verification of progress (i.e. termination)? Current project  Solving open problems in hardware synthesis  Further blurring the line between hardware and software  Demo: first-known synthesis tool supporting dynamic heap


Download ppt "1 Hardware synthesis 2.0 Byron Cook and Satnam Singh with Ashutosh Gupta, Stephen Magill, Andrey Rybalchenko, Jiri Simsa, and Viktor Vafeiadis TexPoint."

Similar presentations


Ads by Google