Logic Verification 1 Outline –Logic Verification Problem –Verification Approaches –Recursive Learning Approach Goal –Understand verification problem –Understand.

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

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
Appendix: Other ATPG algorithms 1. TOPS – Dominators Kirkland and Mercer (1987) n Dominator of g – all paths from g to PO must pass through the dominator.
1 Combinational Logic Design&Analysis. 2 Introduction We have learned all the prerequisite material: – Truth tables and Boolean expressions describe functions.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
© The McGraw-Hill Companies, Inc., Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
1 Recursive Learning Madhurima Maddela. ELEC /26/052 Decision Tree Traditionally used to branch and bound in the search space to generate test.
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
Logic Synthesis 2 Outline –Two-Level Logic Optimization –ESPRESSO Goal –Understand two-level optimization –Understand ESPRESSO operation.
The Design Process Outline Goal Reading Design Domain Design Flow
2 -1 Chapter 2 The Complexity of Algorithms and the Lower Bounds of Problems.
Dec. 19, 2005ATS05: Agrawal and Doshi1 Concurrent Test Generation Auburn University, Department of Electrical and Computer Engineering Auburn, AL 36849,
Aug 11, 2006Yogi/Agrawal: Spectral Functional ATPG1 Spectral Characterization of Functional Vectors for Gate-level Fault Coverage Tests Nitin Yogi and.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 61 Design for Testability Theory and Practice Lecture 6: Combinational ATPG n ATPG problem n Example.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Logic Synthesis 5 Outline –Multi-Level Logic Optimization –Recursive Learning - HANNIBAL Goal –Understand recursive learning –Understand HANNIBAL algorithms.
Equivalence Checking Sean Weaver.
Dec. 29, 2005Texas Instruments (India)1 Concurrent Test Generation Auburn University, Department of Electrical and Computer Engineering Auburn, AL 36849,
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Chapter 11: Limitations of Algorithmic Power
A Probabilistic Method to Determine the Minimum Leakage Vector for Combinational Designs Kanupriya Gulati Nikhil Jayakumar Sunil P. Khatri Department of.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
The Complexity of Algorithms and the Lower Bounds of Problems
ECE 667 Synthesis and Verification of Digital Systems
IT University of Copenhagen Lecture 8: Binary Decision Diagrams 1. Classical Boolean expression representations 2. If-then-else Normal Form (INF) 3. Binary.
ECE Synthesis & Verification, Lecture 17 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Technology.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
VLSI Testing Lecture 7: Combinational ATPG
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.
Identifying Reversible Functions From an ROBDD Adam MacDonald.
Binary Decision Diagrams (BDDs)
TODAY YOU ARE LEARNING to explain why data is represented in computer systems in binary form 2. to understand and produce simple logic diagrams.
Chapter 11 Limitations of Algorithm Power. Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples:
Logic Simulation 한양대학교 신현철 교수
Combinational Logic Design BIL- 223 Logic Circuit Design Ege University Department of Computer Engineering.
False Path. Timing analysis problems We want to determine the true critical paths of a circuit in order to: –To determine the minimum cycle time that.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: SAT SAT applied in equivalence checking.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
1 CPSC 320: Intermediate Algorithm Design and Analysis July 28, 2014.
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
How Much Randomness Makes a Tool Randomized? Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University in Prague
Boolean Minimizer FC-Min: Coverage Finding Process Petr Fišer, Hana Kubátová Czech Technical University Department of Computer Science and Engineering.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Lecture 09 NAND and XOR Implementations. Overview °Developing NAND circuits °Two-level implementations Convert from AND/OR to NAND (again!) °Multi-level.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Verification & Validation By: Amir Masoud Gharehbaghi
1 IAF0620, 5.0 AP, Exam Jaan Raik ICT-524, , Digital systems verification.
A New ATPG Algorithm for 21 st Century: The wojoRithm John Sunwoo Electrical & Computer Engineering Auburn University, AL.
Combinational Logic Design. 2 Combinational Circuits A combinational logic circuit has: ♦ A set of m Boolean inputs, ♦ A set of n Boolean outputs ♦ n.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
Combinational Logic Design. 2 Combinational Circuits A combinational logic circuit has: ♦ A set of m Boolean inputs, ♦ A set of n Boolean outputs ♦ n.
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.
Combinational Design, Part 2: Procedure. 2 Topics Positive vs. negative logic Design procedure.
VLSI Testing Lecture 7: Combinational ATPG
LPSAT: A Unified Approach to RTL Satisfiability
Automatic Test Generation for Combinational Circuits
Chapter 3 – Combinational Logic Design
Fault Models, Fault Simulation and Test Generation
Sungho Kang Yonsei University
Research Status of Equivalence Checking at Zhejiang University
VLSI Testing Lecture 7: Combinational ATPG
Sequential Circuit Analysis & Design
Automatic Test Pattern Generation
Improved Design Debugging using Maximum Satisfiability
Presentation transcript:

Logic Verification 1 Outline –Logic Verification Problem –Verification Approaches –Recursive Learning Approach Goal –Understand verification problem –Understand HANNIBAL algorithms

Logic Verification Problem –verify that two logic circuits are functionally equivalent »both cover the same ON-set »neither covers any of the OFF-set of the other »can have different coverings of the DC-set Applications –verify that logic optimization was correct »both hand and automatic optimization –verify that logic was implemented correctly »technology mapping, circuit design, layout a f c y a c f y = ?

Logic Verification Complexity Logic verification is NP-complete –instance of satisfiability problem –problem formulation: can function y be satisfied? –y is XOR of A/B outputs, ORed together –if any outputs are different for same inputs, y = 1 »circuits are not equal –if y cannot be satisfied, then circuits are equal Circuit A Circuit B y=1! Inputs

Logic Verification Approaches Logic Simulation –zero-delay simulation of circuits A and B, compare outputs –must simulate for all possible inputs »exponential time –current approach: validation - simulate many inputs »probability that A and B are not equal is small »small differences escape detection - Pentium bug Cube Covering –cubes in B cover the cubes of A reduced against its ON-set –cubes in B do not cover any of A OFF-set –vice-versa –use ESPRESSO cube covering check »exponential time in worst case –best suited for two-level logic

Logic Verification Approaches Optimization –optimize comparison circuit –if A and B are same, circuit should optimize to constant 0 –problem: optimization algorithms do not guarantee minimum circuit, could erroneously report difference Ordered Binary Decision Diagrams (OBDD) –convert comparison circuit to canonical form »canonical - unique representation for given function »circuit will reduce to constant 0 if equivalent –problem: intermediate OBDD could be exponential space Recursive Learning –try to justify y = 1! –use RL to learn indirect implications –use implications to decompose into smaller subproblems –problem: RL or subproblems could be exponential time

Verification by Recursive Learning Circuit A Circuit B y=1! Inputs Learn indirect implications between nodes of circuits A and B –for every node in A and B, learn implications for the node –implications between A and B come through common inputs and XORed outputs Determine if Y = 1 using stored implications –use ATPG to search for input assignments that make Y = 1 –stored implications act like direct implications

HANNIBAL Algorithm Construct circuit Connect input pairs together Connect output pairs by XORs OR together XORs Identification of indirect implications (Phase 1) (moving from inputs towards outputs) for every logic gate G in both circuits with output signal g assign g=W with W=0 for AND, NOR and W=1 for OR, NAND make_all_implications(0, r prep ) for all learned signal values f i = V i store indirect implications g = W => f i = V i at signal g r prep = 1 set r prep,max Base algorithm for verification (Phase 2): test generation Check satisfiability of Y using prestored indirect implications r prep < r prep,max r prep += 1 Y=1 is inconsistent Y=1 is justified aborted no yes circuits are equivalent circuits are not equivalent disting. vector generated aborted

Example S4 S4’ Y S0’ N2’C2’ C1’ C0’ N0’ N1’ C0 C1 C2 N0 N1 S0S1 S2S3 Circuit A Circuit B Learn for S0, S2, S4, S0’, S4’ –node S0: S0=1 => S2=1, S4=1 by direct implication –case N0=0 => N0’=0, S0’=1, S4’=1, Y=0 –case N1=0 => N1’=0, So’=1, S4’=1, Y=0 –result: S0=1 => S0’=1, S4’=1, Y=0

Example Stored Indirect Implications –S0 = 1 => S0’ = 1, S4’ = 1, Y = 0 –S2 = 1 => S4’ = 1, Y = 0 –S4 = 1 => S4’ = 1, Y = 0 –S0’ = 1 => S0 = 1, S2 = 1, S4 = 1, Y = 0 –S4’ = 1 => S2 = 1, S4 = 1, Y = 0 –note implications for Y have been found Justification for Y = 1 –S4 = 1 and S4’ = 0 »Y = 0 by stored implication, inconsistent –S4 = 0 and S4’ = 1 »Y = 0 by stored implication, inconsistent –conclusion: Y = 0, circuits are equivalent –justification is trivial with stored Y implications

Experience ISCAS85 vs. nonredundant versions –3 sec for c432 to 79 minutes for c7552 –r prep,max = 1 or 2 for all cases for phase 1 »small runtime for r prep,max =1 cases –r max = 0 for phase 2 except r max = 5 for c3540 –satisfiability checking is usually trivial »needed only direct and stored implications »in all but c3540 stored implications for Y=0 or Y=1 Issues –blanket r prep during phase 1 »CPU time grows exponentially –ATPG abort level vs. r prep »how many assignments to try before quitting »fast and stupid is sometimes faster

Verifast - Improved HANNIBAL HANNIBAL failures – when circuits A and B have large dissimilar regions –requires high recursion level to work through »cannot use level greater than 2 Decompose problem - Verifast –static learning with recursion level 1 »usually fast, often solves problem –random simulation to identify probably-equivalent nodes –verify each pair between A and B in rank order –smaller problem => can use much higher recursion level »up to 7 during second phase »use equivalences found in earlier ranks –handles more problems, much faster on hard cases