Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.

Slides:



Advertisements
Similar presentations
The Quest for Correctness Joseph Sifakis VERIMAG Laboratory 2nd Sogeti Testing Academy April 29th 2009.
Advertisements

Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Timing Override Verification (TOV) Erik Seligman CS 510, Lecture 18, March 2009.
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
Prototyping of Real-time Component Based Systems by the use of Timed Automata Trevor Jones Lancaster University, UK
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
Software Reliability CIS 640 Adapted from the lecture notes by Doron Pelel (
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
1 CODE TESTING Principles and Alternatives. 2 Testing - Basics goal - find errors –focus is the source code (executable system) –test team wants to achieve.
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.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Introduction to Software Testing
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Formal Techniques for Verification Using SystemC By Nasir Mahmood.
Using a Formal Specification and a Model Checker to Monitor and Guide Simulation Verifying the Multiprocessing Hardware of the Alpha Microprocessor.
Balancing Practices: Inspections, Testing, and Others JAXA scenario (formal method) Masa Katahira Japanese Space Agency.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
Software Testing.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
Testing : A Roadmap Mary Jean Harrold Georgia Institute of Technology Presented by : Navpreet Bawa.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Presenter : Ching-Hua Huang 2013/7/15 A Unified Methodology for Pre-Silicon Verification and Post-Silicon Validation Citation : 15 Adir, A., Copty, S.
Copyright © 2002 Qualis Design Corporation Industry and Textbook Overview Qualis Design Corporation PO Box 4444 Beaverton, Oregon USA Phone:
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
B. Fernández, D. Darvas, E. Blanco Formal methods appliedto PLC code verification Automation seminar CERN – IFAC (CEA) 02/06/2014.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
ICS 216 Embedded Systems Validation and Test Instructor: Professor Ian G. Harris Department of Computer Science University of California Irvine.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Verification & Validation By: Amir Masoud Gharehbaghi
CSCI1600: Embedded and Real Time Software Lecture 28: Verification I Steven Reiss, Fall 2015.
Smart Home Technologies
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
V-Shaped Software Development Life Cycle Model. Introduction: Variation of water fall model. Same sequence structure as water fall model. Strong emphasis.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
CS 5150 Software Engineering Lecture 21 Reliability 2.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVIII. Software Testing.
ASIC Design Methodology
Definition CASE tools are software systems that are intended to provide automated support for routine activities in the software process such as editing.
Hardware Verification
Formal Methods for Finding Bugs in Concurrent Software
Formal Methods (i.e. mathematical, algorithmic) for Software and Hardware Designs and, more generally, Design Tools and Technologies
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Introduction to Software Testing
Objective of This Course
QGen and TQL Qualification
Introduction To software engineering
Baisc Of Software Testing
Software Verification and Validation
Software Verification and Validation
Software Verification and Validation
Presentation transcript:

Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan

Class logistics Timing change issue Clarification on registration New time and location Seminar course Paper reading and summaries Homeworks Project

Homeworks Different algorithms implemented in publicly available verification tool (ABC) Verification of different small designs using tools

Project Implementing modifications to verification algorithms Verifying a domain specific application/model using ABC

Difference between ECE 598SV and ECE 584 Continuous vs Discrete systems Control and computation Hybrid automata etc Focus of ECE 598SV is on finite state systems Modeling and algorithms are scalable Practically deployed in industrial tools Scales to millions of hardware elements

What is verification? Specification is desired behavior Implementation is a concrete execution of specification Verification is the process of checking intent against execution

The grand challenge of verification Design verification is the task of establishing that a given design accurately implements the intended behaviour. In current projects, verification engineers outnumber designers, with this ratio reaching two or three to one for the most complex designs. Design conception conception and implementation implementation are becoming becoming mere preludes preludes to the main activity of verification... Without major breakthroughs, verification will be a non-scalable, show- stopping barrier to further progress in the semiconductor industry. Int. Technology Roadmap for Semiconductors, 2006

Verification landscape Method to specify intent Document in English Properties in a formal logic Executable specification Implementation to check the intent Model of the implementation Actual implementation itself Method to check the implementation against specification Automatic exhaustive algorithms Non-exhaustive algorithms Manual methods

Static vs dynamic verification Model: static verification Actual implementation: Runtime verification

Specification Documentation in English Executable specification Formal specifications in logic

Implementation Different kinds of models and their treatment Amount of information in the model determines the abstraction level Tradeoff between adding information and scalability

What does exhaustive/non exhaustive mean? Depending on abstraction, checking behavior with 100% guarantee is exhaustive Less than 100% guarantee is non-exhaustive Scalability tradeoff with completeness

Hardware verification paradigms Automatic exhaustive Model checking and its variations Equivalence checking Non exhaustive Simulation based Hybrid Manual Theorem proving etc

Simulation based verification Unit simulation is the most extensive phase of verification Unit: FPU, LSU, ISU etc. Most bugs are found here Once stable, units integrated into core level simulation Can execute real programs Directed input stimulus generation Functional verification of architectural properties System simulation is with multiple cores and chips, IO and memory System level hookup and functionality issues Powering on, booting etc can be checked at this stage

Simulation based verification Advantages Scalable; nearly linear time wrt design size Finds most of the common bugs and many of the subtle bugs Lot of legacy technology and infrastructure that has worked for generations Disadvantages Ad-hoc, never know if you caught all the bugs Some bugs are found too late Some bugs are never found before tape out Directed input stimulus, constrained random input stimulus, monitors, assertions, coverage points

Formal verification Mathematical or logical reasoning applied to the checking problem Used for bug finding and proving properties High confidence in the system Used in conjunction with simulation and called semi-formal

Role of verification in hardware Hardware cycle Pre-Silicon verification Formal Simulation Post Silicon validation Runtime verification Testing

Hardware design cycle