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

Slides:



Advertisements
Similar presentations
WATERLOO ELECTRICAL AND COMPUTER ENGINEERING 20s: Computer Hardware 1 WATERLOO ELECTRICAL AND COMPUTER ENGINEERING 20s Computer Hardware Department of.
Advertisements

TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A AAA A A A AA A Proving that non-blocking algorithms don't block.
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
B. Sharma, S.D. Dhodapkar, S. Ramesh 1 Assertion Checking Environment (ACE) for Formal Verification of C Programs Babita Sharma, S.D.Dhodapkar RCnD, BARC,
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
1/22 Programs : Semantics and Verification Charngki PSWLAB Programs: Semantics and Verification Mordechai Ben-Ari Mathematical Logic for Computer.
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
HW/SW- Codesign Verification and Debugging. HW versus SW Ondrej Cevan.
Copyright 2001, Agrawal & BushnellDay-1 AM Lecture 11 Design for Testability Theory and Practice January 15 – 17, 2005 Vishwani D. Agrawal James J. Danaher.
PTIDES: Programming Temporally Integrated Distributed Embedded Systems Yang Zhao, EECS, UC Berkeley Edward A. Lee, EECS, UC Berkeley Jie Liu, Microsoft.
Spring 07, Feb 6 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Verification Vishwani D. Agrawal James J. Danaher.
The Design Process Outline Goal Reading Design Domain Design Flow
XILINX ISE 9.1/9.2. To Get Familiar with the Environment How to start an FPGA project How to target your design to particular type of FPGA How to describe.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 11 Lecture 1 Introduction n VLSI realization process n Verification and test n Ideal and real tests.
1 Pupil Detection and Tracking System Lior Zimet Sean Kao EE 249 Project Mentors: Dr. Arnon Amir Yoshi Watanabe.
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Well-cooked Spaghetti: Weakest-Precondition of Unstructured Programs Mike Barnett and Rustan Leino Microsoft Research Redmond, WA, USA.
Center for Embedded Computer Systems University of California, Irvine and San Diego Loop Shifting and Compaction for the.
EECS 249 Dec 4, 1999 Extending POLIS with User Defined Data Types Arvind Thirunarayanan Extending POLIS with User Defined Data Types Arvind Thirunarayanan.
Center for Embedded Computer Systems University of California, Irvine and San Diego SPARK: A Parallelizing High-Level Synthesis.
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Formal Verification of SpecC Programs using Predicate Abstraction Himanshu Jain Daniel Kroening Edmund Clarke Carnegie Mellon University.
Model Checking for Embedded Systems Edmund Clarke, CMU High-Confidence Embedded Systems Workshop, May 1 st.
Introduction to Basys 2. Switches Slide switchesPush button switches.
Figure 1.1 The Altera UP 3 FPGA Development board
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
TASK ADAPTATION IN REAL-TIME & EMBEDDED SYSTEMS FOR ENERGY & RELIABILITY TRADEOFFS Sathish Gopalakrishnan Department of Electrical & Computer Engineering.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
Labs Practicing in Design of Combinational Networks and FSM with Concurrent Error Detection Tatjana Stanković, Goran Djordjević, Mile Stojčev 2075 Microprocessor.
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
© Andrew IrelandDependable Systems Group Proof Automation for the SPARK Approach to High Integrity Ada Andrew Ireland Computing & Electrical Engineering.
Programming Paradigms for Concurrency Part 2: Transactional Memories Vasu Singh
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Hardware Implementation of a Memetic Algorithm for VLSI Circuit Layout Stephen Coe MSc Engineering Candidate Advisors: Dr. Shawki Areibi Dr. Medhat Moussa.
Chapter 25 Formal Methods Formal methods Specify program using math Develop program using math Prove program matches specification using.
Los Alamos National Lab Streams-C Maya Gokhale, Janette Frigo, Christine Ahrens, Marc Popkin- Paine Los Alamos National Laboratory Janice M. Stone Stone.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
1 Predicate Abstraction and Refinement for Verifying Hardware Designs Himanshu Jain Joint work with Daniel Kroening, Natasha Sharygina, Edmund M. Clarke.
EE694v-Verification-Lect7-1- Verification Plan & Levels of Verification The Verification Plan Yesterdays and today’s design environment Design specification.
HW-SW Co-Simulation 王甦群 R Graduate Institute of Electrical Engineering National Taiwan University July 3, 2003.
1 MSR/Cambridge Formal Verification Overview Byron Cook Microsoft Research, Cambridge.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Spring 2012 Duration: Semester.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
1 Proving program termination Lecture 5 · February 4 th, 2008 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
CS 5150 Software Engineering Lecture 21 Reliability 2.
Tutorial: Proving termination and liveness
Programmable Hardware: Hardware or Software?
ASIC Design Methodology
Figure 1.1 A silicon wafer. Figure 1.1 A silicon wafer.
332:437 Lecture 7 Verilog Hardware Description Language Basics
Benjamin Goldberg Compiler Verification and Optimization
Embedded systems, Lab 1: notes
332:437 Lecture 7 Verilog Hardware Description Language Basics
Software Verification and Validation
Software Verification and Validation
332:437 Lecture 7 Verilog Hardware Description Language Basics
Design Methodology & HDL
Software Verification and Validation
Rich Model Toolkit – An Infrastructure for Reliable Computer Systems
Presentation transcript:

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

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

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

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

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 Hardware synthesis C file Hardware Synthesis

9 Hardware synthesis C file Hardware Synthesis

10 Hardware synthesis C file Hardware Synthesis

11 Hardware synthesis C file Hardware Synthesis

12 Hardware synthesis Hardware Synthesis

13 Hardware synthesis Hardware Synthesis

14 Hardware synthesis Hardware Synthesis

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 Hardware synthesis C file

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

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

19 Hardware synthesis X X

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

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 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure pass

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 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure pass

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 Hardware synthesis C file Shape Analysis α file pass Termination Analysis error pass X X error X X Bounds Synthesis X X failure pass

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 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 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 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 α 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 α file failure Hardware synthesis Shape Analysis pass Termination Analysis error pass error Bounds Synthesis X X X X C file Precondition Synthesis X X

Altera DE2 FPGA Board 33

Altera synthesis/implementation tools 34

Synthesized logic 35

VHDL simulation of prio netlist 36

Logic analyzer output 37

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