COEN7501: Formal Hardware Verification

Similar documents
Software Eng. 2F03: Logic For Software Engineering

Theorem Proving and Model Checking

Examining the CARA Specification. Elsa L Gunter, Yi Meng NJIT

The Importance of Being Right. Sergei Artemov, CUNY Graduate Center

VLSI Physical Design Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Does it Pay Off? Model-Based Verification and Validation of Embedded Systems!

ECE380 Digital Logic

Formal Hardware Verification: Theory Meets Practice

Overview of Design Methodology. A Few Points Before We Start 11/4/2012. All About Handling The Complexity. Lecture 1. Put things into perspective

Brief Course Description for Electrical Engineering Department study plan

Bricken Technologies Corporation Presentations: Bricken Technologies Corporation Corporate: Bricken Technologies Corporation Marketing:

REVOLUTIONIZING THE COMPUTING LANDSCAPE AND BEYOND.

Industrial Applications and Challenges for Verifying Reactive Embedded Software. Tom Bienmüller, SC 2 Summer School, MPI Saarbrücken, August 2017

Software Technology Maturation Study Model Checking Techniques and Tools

Formalising Event Reconstruction in Digital Investigations

EECS150 - Digital Design Lecture 28 Course Wrap Up. Recap 1

Distributed Systems Programming (F21DS1) Formal Methods for Distributed Systems

Scientific Certification

(VE2: Verilog HDL) Software Development & Education Center

Formal Composition for. Time-Triggered Systems

Formal Verification. Lecture 5: Computation Tree Logic (CTL)

A FRAMEWORK FOR PERFORMING V&V WITHIN REUSE-BASED SOFTWARE ENGINEERING

Bellerophon: Tactical Theorem Proving for Hybrid Systems. Nathan Fulton, Stefan Mitsch, Brandon Bohrer, André Platzer Carnegie Mellon University

Stanford Center for AI Safety

Service-Oriented Software Engineering - SOSE (Academic Year 2015/2016)

Introduction to ACL2. Matt Kaufmann The University of Texas at Austin Dept. of Computer Science, GDC April 21-23, 2015

Policy-Based RTL Design

Formally Verified Endgame Tables

On-chip Networks in Multi-core era

Logical Agents (AIMA - Chapter 7)

11/18/2015. Outline. Logical Agents. The Wumpus World. 1. Automating Hunt the Wumpus : A different kind of problem

Introduction (concepts and definitions)

Computer Aided Design of Electronics

Verification of Autonomy Software

CS 202, section 2 Final Exam 13 December Pledge: Signature:

Digital Systems Design

ECE 124 Digital Circuits and Systems Winter 2011 Introduction Calendar Description:

Ideas beyond Number. Teacher s guide to Activity worksheets

Lecture 1: Introduction to Digital System Design & Co-Design

Facing Moore s Law with Model-Driven R&D

Research Methods in Informatics and its Applications: Design-Oriented Research

DAV Institute of Engineering & Technology Department of ECE. Course Outcomes

Meeting the Challenges of Formal Verification

Lecture 1. Tinoosh Mohsenin

PSA research in SAFIR2014. NPSAG-möte, Vattenfall, Berlin, Febr 2-3, 2011 Jan-Erik Holmberg VTT Technical Research Centre of Finland

Chapter # 1: Introduction

22c181: Formal Methods in Software Engineering. The University of Iowa Spring Propositional Logic

Robin Milner,

Tutorial, CPS PI Meeting, DC 3 5 Oct 2013

Information and Communication Technology

Recursive Pseudo-Exhaustive Two-Pattern Generator PRIYANSHU PANDEY 1, VINOD KAPSE 2 1 M.TECH IV SEM, HOD 2

Statistical Analysis of Nuel Tournaments Department of Statistics University of California, Berkeley

Electrical and Electronics Engineering

Assurance Cases The Home for Verification*

The Need for Gate-Level CDC

Knights, Knaves, and Logical Reasoning

Design as You See FIT: System-Level Soft Error Analysis of Sequential Circuits

Ideas beyond Number. Activity worksheets

Introduction to Artificial Intelligence

FORMAL MODELING AND VERIFICATION OF MULTI-AGENTS SYSTEM USING WELL- FORMED NETS

POLYA'S FOUR STEP PROBLEM SOLVING PROCESS Understand. Devise a Plan. Carry out Plan. Look Back. PROBLEM SOLVING STRATEGIES (exmples) Making a Drawlnq

Formal verification of industrial control systems at CERN

R&D Meets Production: The Dark Side

1.6 Congruence Modulo m

Tac Due: Sep. 26, 2012

Course Outcome of M.Tech (VLSI Design)

EECS 427 Lecture 21: Design for Test (DFT) Reminders

Computer Organization and Components

BEHAVIORAL MODEL EQUIVALENCE CHECKING FOR LARGE ANALOG MIXED SIGNAL SYSTEMS. A Thesis AMANDEEP SINGH

Applying Open Architecture Concepts to Mission and Ship Systems

Artificial Intelligence. What is AI?

Digital Logic Circuits

Leadership, Safety Culture and Catastrophe: Lessons from 10 Case Studies from 7 Safety Critical Industries

Introduction. Reading: Chapter 1. Courtesy of Dr. Dansereau, Dr. Brown, Dr. Vranesic, Dr. Harris, and Dr. Choi.

CURRICULUM VITAE. Oct 2005 Dec MSc in Computer Science. Faculty of Mathematics,

ISHM Testbeds and Prototypes (ITP) Project

Final Exam : Constructive Logic. December 17, 2012

AMS Verification for High Reliability and Safety Critical Applications by Martin Vlach, Mentor Graphics

Analysis of Processing Parameters of GPS Signal Acquisition Scheme

AI Day on Knowledge Representation and Automated Reasoning

in Process Control System Presented by:

CS302 - Digital Logic Design Glossary By

Constraint Posting for Verifying VLSI Circuits

Required Course Numbers. Test Content Categories. Computer Science 8 12 Curriculum Crosswalk Page 2 of 14

Jana Laboratories Inc. 280B Industrial Pkwy South Aurora, Ontario L4G 3T9 Phone:

Integrating Gandalf and HOL

Advanced Soldier Monitoring and Tracking System Using GPS and GSM Introduction

ExCAPE. Rajeev Alur, Ras Bodik, Jeff Foster, Bjorn Hartmann, Lydia Kavraki,

Synthesis and Simulation of Floating Point Multipliers Dr. P. N. Jain 1, Dr. A.J. Patil 2, M. Y. Thakre 3

Ballari Institute of Technology & Management Ballari Department of Electrical and Electronics Engineering. Vision & Mission of the Institute

Design of High Speed Power Efficient Combinational and Sequential Circuits Using Reversible Logic

The Science of the Artificial

Some Thoughts on Runtime Verification

CSE 435: Software Engineering

Physical Zero-Knowledge Proof: From Sudoku to Nonogram

Amplifying Security Education in the Laboratory

B. Tech. Degree ELECTRONICS AND COMMUNICATION ENGINEERING

FORMAL METHODS SPECIFICATION AND VERIFICATION GUIDEBOOK FOR SOFTWARE AND COMPUTER SYSTEMS VOLUME I: PLANNING AND TECHNOLOGY INSERTION

Welcome to 6.S084! Computation Structures (special)

Grade 3 Geometry Rectangle Dimensions

Transcription:

COEN7501: Formal Hardware Verification Prof. Sofiène Tahar Hardware Verification Group Electrical and Computer Engineering Concordia University Montréal, Quebec CANADA

Accident at Carbide plant, India Causes: Corroding non-stainless steel pipes, Improper maintenance Loss: 3,787 deaths, over 500,000 people exposed Cost: $470 million, December 2-3, 1984 E. Broughton. The Bhopal Disaster and its Aftermath: A Review. Environmental Health, 4(6):1-6, May 2005. S. Tahar Formal Verification Probabilistic Analysis 2

Train Derailment in Germany Main cause of failure: wheel design, a single fatigue crack in one of the wheels Loss: 101 dead, 88 injured Cost: $30 Million, June 3,1998 Investigative Documentary on National Geographic Channel. Derailment at Eschede (High Speed Train Wreck), Seconds From Disaster., 2007. S. Tahar Formal Verification Probabilistic Analysis 3

Space Shuttles Challenger and Columbia Challenger (January 28, 1986) Columbia (February 1, 2003) Challenger: Cause: Failure of the pressure seal in the aft field joint of the right Solid Rocket Booste Design was unacceptably sensitive to a number of factors Columbia: During re-entry, damaged tiles in the heat shield allowed the hot gases to penetrate and destroy the internal wing structure, rapidly causing the in-flight breakup of the veh Loss: Entire crew in both accidents Rogers Commission report, Report of the Presidential Commission on the Space Shuttle Challenger Accident, Volume 1, chapter 4, page 72. http://history.nasa.gov/rogersrep/v1ch4.htm, 1986. S. Tahar Formal Verification Probabilistic Analysis 4

5 Design Errors Floatingpoint division bug Patriot Missile Failure, a classical case of rounding error Floatingpoint to Integer conversion

Design Challenges 6 S. Tahar Formal Verification Probabilistic Analysis

What is Verification? 7 S. Tahar Formal Verification Probabilistic Analysis

Verification Technology 8 S. Tahar Formal Verification Probabilistic Analysis

Functional Verification - Simulation Most widely used system analysis approach Construct a computer based model of the system Analyze the behavior of the system model under a number of test cases to deduce properties of interest Easy to use May generate inaccurate results Practically impossible to test for all possible cases S. Tahar Formal Verification Probabilistic Analysis 9

Simulation A Practical Example Question: How long does it take to verify a 64-bit Floating Point Division Unit Answer: There are (2 64 x 2 64 ): 2 128 test cases At 1 test/ s, it will take 10 25 years!!! S. Tahar Formal Verification Probabilistic Analysis 10

Simulation Another Practical Example Question: How long does it take to verify a 256-bit RAM Memory Unit Answer: There are 2 256 = 10 80 bits to test At 1 test/ps and using all matters in our galaxy to build computers of the size of a single electron, it will take 10 10 years to verify 0.05%!!! S. Tahar Formal Verification Probabilistic Analysis 11

Verification Gap 12 The situation is worsening as technology evolves S. Tahar Formal Verification Probabilistic Analysis

Functional Verification Formal Methods Construct a computer based mathematical model of the system along with its random components Use mathematical reasoning to check functional properties of interest Accurate results Consideration of all cases is implicit Sometimes is difficult and time consuming 13

Simulation Example Check if y>x for the given system (x is a natural number) x ( x 1 ) 2 y Test vectors (x) System output (y) y>x 1 4 True 2 9 True 5 36 True 9 100 True 67 4624 True 1000 1002001 True 1000000?????? 14

Formal Methods Example Check if y>x for the given system (x is a natural number) x ( x 1 ) 2 y 1 y>x Problem statement 2 (x+1) 2 >x Implementation 3 (x+1).(x+1)>x Definition of Square 4 (x+1).x+(x+1).1>x Distributivity 5 x.x+1.x+x.1+1.1>x Distributivity 6 x.x+x+x+1>x Multiplicative Identity 7 x.x+x+1+x>x Additive Commutivity 8 x.x+x+1>0 Addition Cancellation 9 True Natural numbers > 0 15

Most Widely used Formal Methods Equivalence Checking Model Checking Theorem proving S. Tahar System-on-Chip Formal Probabilistic Verification Analysis 16

Equivalence Checking System 1 System 2 Logic Formula 1 Logic Formula 2 Equivalence Checker True, if both formulas equivalent Counterexample, otherwise Both systems modeled as a Logic Formulas Formulas specified in Propositional Logic Allows automatic proof of equivalence (decidable and complete) Applicable on Combinational Systems (Circuits) Sequential (FSM) equivalence checking very costly S. Tahar System-on-Chip Formal Probabilistic Verification Analysis 17

Equivalence Checking Advantages Automatic (Push button type analysis tools) No proofs involved Diagnostic counter examples Disadvantages Limited expressiveness Combinational Circuits Equivalence Checking Tools VIS (Verification Interacting with Synthesis) - U. of California, Berkeley MDG (Multiway Decision Graphs) - U. de Montreal Conformal, Formality, etc S. Tahar System-on-Chip Formal Probabilistic Verification Analysis 18

Model Checking System is modeled as a State Transition Graph Properties are specified in Temporal Logic Allows the description of time-varying behaviour of systems Exhaustive verification by searching the state space of the system model to determine if the property holds 19

Model Checking Advantages Automatic (Push button type analysis tools) No proofs involved Diagnostic counter examples Disadvantages Limited expressiveness State-space explosion problem Model Checking Tools SMV (Symbolic Model Verifier) - Carnegie Mellon U. VIS (Verification Interacting with Synthesis) - U. of California, Berkeley SPIN, SLAM, PRISM, etc 20

Theorem Proving System is modeled as a function in some appropriate logic Properties are modeled as theorems in the same logic These theorems are interactively verified based on mathematical reasoning in a computer based proof system (Theorem Prover) 21

Theorem Prover A theorem prover consists of A notation (syntax) to express logic a small set of fundamental axioms (facts) A Boolean variable can be True or False: a.(a = T) (a =F) a small set of inference (deduction) rules Equality is transitive: a b c. (a = b) (b = c) (a = c) Soundness is assured as every new theorem must be created from The basic axioms and primitive inference rules Any other already proved theorems or inference rules Theory (collection of verified theorems in a file) Facilitate the reusability of pre-verified results 22

Theorem Proving Advantages High expressiveness Can be essentially used to analyze any system that can be expressed mathematically Less risk of mistakes (human errors) Some parts of the proofs can be automated Disadvantages Detailed and explicit human guidance required The state-of-the-art is limited Theorem Proving Tools Boyer-Moore (First-order Logic) U. of Texas, Austin PVS (Higher-order Logic) Stanford Research Institute HOL (Higher-order-logic) U. of Cambridge, UK 23

Some Formal Methods Myths Formal methods can only be used by mathematicians They are primarily based on mathematical concepts that is usually transparent to the user The reasoning process is itself prone to errors, so why bother? We opt to reduce design bugs not eliminate them Using formal methods tends to slow the design process The early detection of design bugs are allows us to speed up the overall design process 24

Formal Methods Applications Formal methods are widely used for the functional verification of many applications Microprocessors Software Conformance Cache Coherence Protocols Telecommunication Protocols Security Protocols Transportation Their utilization in the performance analysis domain has been somewhat limited though 25

Cost of Verification 26 Verification accounts for 60-70% of project cost (human, computing and time) Increasing VLSI technology and design complexity (1.7 billion transistors on chip) Traditional simulation limited to a tiny percentage of test cases Situation is most serious for safety critical applications Many research groups and companies are using formal verification as complement simulation

Hardware Verification Group Hardware Verification Group (HVG) founded in 1996 by Prof. Sofiene Tahar Recognized as University Research Center in 2007 Mission: develop Methodologies, Algorithms and Tools for Formal Verification of Hardware and Embedded Systems Currently composed of 25 researchers Faculty Postdoc PhD Master s 3 2 11 9

Current Research Interests System-on-a-Chip Verification Verification of Probabilistic Systems Verification of Security Systems Analog and Mixed Signal Verification Verification of Optical Systems Multiway Decision Graphs Verification Applications (with industry)

Tools Development http://hvg.ece.concordia.ca/mdg/

Industrial Applications Amirix

HVG Home Page

HVG Laboratories

HVG Global Visibility http://hvg.ece.concordia.ca/

HVG (Visitors World Map)

Academic Partners 36

Free Ad! Anyone interested for a more information on Formal Verification? Visit http://hvg.ece.concordia.ca 37