ECE 667 - Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.

Slides:



Advertisements
Similar presentations
Masahiro Fujita Yoshihisa Kojima University of Tokyo May 2, 2008
Advertisements

ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
Functional Test Generation using Constraint Logic Programming Zhihong Zeng, Maciej Ciesielski Dept. of Electrical & Comp. Engineering University of Massachusetts,
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
Efficient Reachability Analysis for Verification of Asynchronous Systems Nishant Sinha.
ISBN Chapter 3 Describing Syntax and Semantics.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 71 Lecture 7 Fault Simulation n Problem and motivation n Fault simulation algorithms n Serial n Parallel.
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 & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 7 - Verification.
Automatic Verification of Timing Constraints Asli Samir – JTag course 2006.
ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.
Spring 08, Mar 27 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2008 Fault Simulation Vishwani D. Agrawal James J.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University.
Describing Syntax and Semantics
Formal verification Marco A. Peña Universitat Politècnica de Catalunya.
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Farzan Fallah Srinivas Devadas Laboratory for Computer Science MIT Farzan Fallah Srinivas Devadas Laboratory for Computer Science MIT Functional Vector.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
ECE 2372 Modern Digital System Design
Digitaalsüsteemide verifitseerimise kursus1 Digitaalsüsteemide verifitseerimine IAF0620, 5.0 AP, E Jaan Raik IT-208,
Some Course Info Jean-Michel Chabloz. Main idea This is a course on writing efficient testbenches Very lab-centric course: –You are supposed to learn.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
Robust Low Power VLSI ECE 7502 S2015 Evaluation of Coverage-Driven Random Verification ECE 7502 – Project Presentation Qing Qin 04/23/2015.
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
EEE2243 Digital System Design Chapter 4: Verilog HDL (Sequential) by Muhazam Mustapha, January 2011.
By Daniel Gomez Prado ECE667 UMASS 09 I NTRODUCTION TO V ERIFICATION 1 Based on the slides for ECE667 at UMASS taught by prof. Ciesielski The book “Verification.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
Verification & Validation By: Amir Masoud Gharehbaghi
CEC 220 Digital Circuit Design Introduction to VHDL Wed, February 25 CEC 220 Digital Circuit Design Slide 1 of 19.
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
Using Symbolic PathFinder at NASA Corina Pãsãreanu Carnegie Mellon/NASA Ames.
Manufacture Testing of Digital Circuits
CEC 220 Digital Circuit Design Introduction to VHDL Friday, February 21 CEC 220 Digital Circuit Design Slide 1 of 10.
Unit1: Modeling & Simulation Module5: Logic Simulation Topic: Unknown Logic Value.
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
CEC 220 Digital Circuit Design Introduction to VHDL Wed, Oct 14 CEC 220 Digital Circuit Design Slide 1 of 19.
Test complexity of TED operations Use canonical property of TED for - Software Verification - Algorithm Equivalence check - High Level Synthesis M ac iej.
Fast Synthesis of Clock Gating from Existing Logic Aaron P. Hurst Univ. of California, Berkeley Portions In Collaboration with… Artur Quiring and Andreas.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Lecture 1 – Overview (rSp06) ©2008 Joanne DeGroat, ECE, OSU -1- Functional Verification of Hardware Designs EE764 – Functional Verification of Hardware.
Fault Models, Fault Simulation and Test Generation Vishwani D. Agrawal Department of ECE, Auburn University Auburn, AL 36849, USA
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
CS151 Introduction to Digital Design Chapter 3: Combinational Logic Design 3-4 Verification 1Created by: Ms.Amany AlSaleh.
1 A hardware description language is a computer language that is used to describe hardware. Two HDLs are widely used Verilog HDL VHDL (Very High Speed.
Hardware Verification
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Digital System Verification
VLSI Testing Lecture 6: Fault Simulation
Lecture 7 Fault Simulation
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
VLSI Testing Lecture 6: Fault Simulation
LPSAT: A Unified Approach to RTL Satisfiability
Introduction to Verilog
ECE 667 Synthesis and Verification of Digital Circuits
Resolution Proofs for Combinational Equivalence
Improved Design Debugging using Maximum Satisfiability
ECE 667 Synthesis and Verification of Digital Systems
10 Design Verification and Test
Presentation transcript:

ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction

ECE Synthesis & Verification2 Outline Motivation: what is verification, why we need it Verification methods –Formal methods –Simulation-based functional verification –Deterministic test generation

ECE Synthesis & Verification3 Verification Design verification = ensuring correctness of the design –against its implementation (at different levels) behavior structure function layout HDL / RTL Gate level Logic level Mask level Design 1  ? model  ? RTL Gate level Mask level Design 2 Logic level  ? – against alternative design (at the same level)

ECE Synthesis & Verification4 Why Verification Verification crisis –System complexity, difficult to manage –More time, effort devoted to verification (70%) than to design –Need automated verification methods, integration Consequences –Disasters, life threatening situations –Inconvenience (Pentium bug … ?) –Many more …

ECE Synthesis & Verification5 Verification Methods Deductive verification Model checking Equivalence checking Simulation - performed on the model Emulation, prototyping – product + environment Testing - performed on the actual product (manufacturing test) Formal Verification

ECE Synthesis & Verification6 Functional Verification Simulation-based: Validation Goal: verify the design in the full operational context RTL functional verification –Verify specification (HDL) of RTL model –No model to check against: must simulate –Functional simulation Functional test generation –Automatically generate tests: high-level transactions on data, clocking, control –SAT based methods

ECE Synthesis & Verification7 Evaluating Test Coverage CCoverage metrics - f acilities to measure the effectiveness of functional verification –Monitors: collect data about testing (coverage, profile) –Code coverage low-level coverage statistics for states, transitions, HDL model line coverage –Functional verification coverage statistics, monitors for events, state transition sequences (transactions), data sets –Self-checking tests

ECE Synthesis & Verification8 Functional Test Generation GivenGiven an RTL design and a coverage metric, must reach the predefined coverage goal SolutionSolution: run functional simulation –Directed tests manual, often easy to generate (e.g. instruction set) reliable (predictable coverage), but not efficient (cover small portion of design) –Random tests efficient (fast), but not reliable (unpredictable coverage) –Deterministic tests Automatically generated Constraints (user-defined, environment, coverage metrics) Challenging to compute

ECE Synthesis & Verification9 Functional Verification - typical scenario Coverage Normalized verification test cycles 50 % 95 % 100 % Deterministic tests Pseudo-random directed tests (reliable and efficient) Manual directed tests (reliable, not efficient) Test development time ?

ECE Synthesis & Verification10 Functional Test Generation Random and pseudo-random methods Directed pseudo-random simulation Deterministic Methods –SAT-based methods Boolean satisfiability Mixed, arithmetic/Boolean satisfiability –Symbolic simulation –ATPG-based methods

ECE Synthesis & Verification11 Test Generation using Boolean SAT Given an RTL specification of a combinational circuit Simulate the design ( pseudo-random, targeted vectors) Code coverage OK ? module input ports, output ports, internal signals begin..... If (condition) then assign signal = function( ); end if;..... end module If not - expand the underlying logic: Boolean function

ECE Synthesis & Verification12 B-SAT - Solving SAT using BDDs Add constraints (modify the logic) Build BDDs for each output, s.to constraints Build the product BDD (AND of all BDDs) –If the set is empty, infeasible SAT instance –Otherwise: set of all satisfying assignments, test. Boolean logic + constraints

ECE Synthesis & Verification13 A simple B-SAT example a b c d u v w Output requirements: u=1, v=1, w=1 SAT assignments: a,b,c,d = ? Given: output value requirements for a circuit Compute: satisfying assignments at the inputs

ECE Synthesis & Verification14 How does B-SAT work ? Boolean satisfiability analysis –H = product BDD set of all satisfying solutions –to test for H = 1 (0), find a path in the BDD to terminal 1 (0) –the path, expressed in function variables, gives a satisfying solution (test vector) ab ab’c H 0 1 a b c {1,1,-},{1,0,1}

ECE Synthesis & Verification15 Functional test generation using Symbolic Simulation Deterministic test pattern generation –Formulate a SAT problem for a complex combinational design –Solve SAT: find a set of satisfying assignment Module DUT … (clk) begin if (A+B < B*C) out = x; else out = a & b end A=? 0 1 < + * out B=? c=? a=? b=? x=? extract

ECE Synthesis & Verification16 Formal Verification Deductive reasoning (theorem proving) –Uses axioms, rules to prove system correctness –No guarantee that it will terminate –Difficult, time consuming: for critical applications only Model checking –Automatic technique to prove correctness of concurrent systems: digital circuits, communication protocols, etc. –Practical tools become available, popular in industry Equivalence checking –Check if two designs are equivalent –OK for combinational circuits, unsolved for sequential systems