Hardware Verification

Slides:



Advertisements
Similar presentations
Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
Advertisements

Finite State Machines (FSM)
Introduction to Sequential Circuits
Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
Give qualifications of instructors: DAP
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
Timed Automata.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
ECE 331 – Digital System Design
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.
Discrete Abstractions of Hybrid Systems Rajeev Alur, Thomas A. Henzinger, Gerardo Lafferriere and George J. Pappas.
ECE C03 Lecture 111 Lecture 11 Finite State Machine Optimization Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
ECE Synthesis & Verification - L211 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Verification Equivalence checking.
4/10/20081 Lab 9 RT methodology introduction Register operations Data Path Control Path ASM Example TA: Jorge Crichigno.
Spring 2002EECS150 - Lec15-seq2 Page 1 EECS150 - Digital Design Lecture 15 - Sequential Circuits II (Finite State Machines revisited) March 14, 2002 John.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Sequential Equivalence Checking.
01/27/2005 Combinationality of cyclic definitions EECS 290A – Spring 2005 UC Berkeley.
ECE 301 – Digital Electronics Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #17)
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
Sequential Circuits Chapter 4 S. Dandamudi To be used with S. Dandamudi, “Fundamentals of Computer Organization and Design,” Springer,  S.
ECE 331 – Digital Systems Design Sequential Logic Circuits: FSM Design (Lecture #20)
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
1 Sequential Machine Theory Prof. K. J. Hintz Department of Electrical and Computer Engineering Lecture 1 Adaptation to this.
Introduction to Sequential Logic Design Finite State-Machine Design.
Tallinn University of Technology, Department of Computer Engineering, November 2006 Digitaalsüsteemide verifitseerimine Arvutitehnika erikursus II, IAY0110,
Verification & Validation By: Amir Masoud Gharehbaghi
1 ENGG 1015 Tutorial Three Examples of Finite State Machines Supplementary notes Learning Objectives  Learn about Design of Finite State Machines Ack.:
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
Digital Logic.
Sequential Networks and Finite State Machines
IIT Kharagpur & Kingston Uni
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Sequential logic examples
ECE 301 – Digital Electronics
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
FINITE STATE MACHINES (FSMs)
Sequential Networks and Finite State Machines
332:437 Lecture 15 System Controller Design
LPSAT: A Unified Approach to RTL Satisfiability
332:437 Lecture 15 System Controller Design
CSE 370 – Winter Sequential Logic-2 - 1
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Formal Verification of Partial Good Self-Test Fencing Structures
332:437 Lecture 15 System Controller Design
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Resolution Proofs for Combinational Equivalence
Software Verification and Validation
Guest Lecture by David Johnston
Software Verification and Validation
Motivation Combinational logic functions can be represented, and defined, by truth tables. Sequential logic function cannot, because their behavior depends.
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
Lecture 18 Logistics Last lecture Today HW5 due today (with extra 10%)
Software Verification and Validation
CS M51A/EE M16 Winter’05 Section 1 Logic Design of Digital Systems Lecture 11 February 23 W’05 Yutao He 4532B Boelter Hall
EGR 2131 Unit 12 Synchronous Sequential Circuits
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
ECE 352 Digital System Fundamentals
CSE 370 – Winter Sequential Logic-2 - 1
Lecture 4 Sequential units. Registers
ECE 667 Synthesis and Verification of Digital Systems
10 Design Verification and Test
332:437 Lecture 14 Turing Machines and State Machine Sequences
Presentation transcript:

Hardware Verification Fu Song

Main References Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series A Roadmap for Formal Property Verification Pallab Dasgupta Springer

Design, Validation and Testing

Digital Design: Abstraction Levels

Design Example: 2-bit Gray Counter Gray Counter: Successive values should differ only in one bit. Reset signal resets the counter to zero.

Design Example: 2-bit Gray Counter

Design Example: 2-bit Gray Counter

Abstractions in Design Flow

Design and Verification

Functional Verification Challenge Is the implementation correct? How do we define correct? Classical: Simulation result matches with golden output Formal: Equivalence with respect to a golden model Property verification: Correctness properties (assertions) expressed in a formal language  Formal: Model checking  Semi-formal: Assertion-based verification Trade-off between computational complexity and exhaustiveness

Simulation

Advent of Formal Methods in EDA Goal: Exhaustive verification of the design intent within feasible time limits Philosophy: Extraction of formal models of the design intent and the implementation and comparing them using mathematical / logical methods

Toy example: Priority Arbiter

Dynamic Property Verification (DPV)

Formal Property Verification (FPV)

Equivalence Checking Two designs are defined to be functionally equivalent if they produce identical output sequences for all valid input sequences

Equivalence Checking

Combinational Equivalence Checking Basic Approach Step-1: Register Correspondence The register correspondence is either guessed using simple heuristics or computed exactly Step-2: Functional Comparison This step involves the actual functional comparison of the individual circuits This can be done using a variety of methods, including BDDs, SAT and ATPG (automatic test pattern generation )

Regsiter Correspondence In many practical design flows, a candidate register correspondence is derived from naming conventions Otherwise, register correspondence can be computed automatically as a greatest fixed point The algorithm starts with one equivalence class (bucket) containing all the registers During each iteration: A unique variable is introduced for the outputs of all registers of each bucket All next state functions are computed based on these variables Next the buckets are partitioned into pieces that have identical next-state functions

Equivalence Checking with SAT To check equivalence between f and g, we add the following clauses: Satisfiable = not equivalent

Equivalence Checking with BDD Two BDDs are same = Equivalent

Sequential Equivalence Checking When register correspondence cannot be found easily or it does not exist, we may compare the state machines Basic approach Core problem: Partition the state space into sets of equivalent states Equivalence can be defined in terms of input/output behavior Bisimulation equivalence Stuttering equivalence

Sequential Equivalence Checking Extract designs as finite-state machine M1, M2 Minimize M1 and call the result N1 Minimize M2 and call the result N2 Check if the states of N1 can be renamed so that N1 and N2 are identical

Model Checking

Model Checking

FSM Extraction

Transition Relation

Computational facts On On-the the-fly model checking