Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.

Slides:



Advertisements
Similar presentations
Model Checking Lecture 4. Outline 1 Specifications: logic vs. automata, linear vs. branching, safety vs. liveness 2 Graph algorithms for model checking.
Advertisements

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
BDDs & Theorem Proving Binary Decision Diagrams Dr. Eng. Amr T. Abdel-Hamid NETW 703 Winter 2012 Network Protocols Lectures are based on slides by: K.
Digital Circuits.
Planning based on Model Checking Dept. of Information Systems and Applied CS Bamberg University Seminar Paper Svetlana Balinova.
TOPIC : Reduced Ordered Binary Decision Diagrams UNIT 1: Modeling Digital Circuits Module 1 : Functional Modeling.
CS357 Lecture: BDD basics David Dill 1. 2 BDDs (Boolean/binary decision diagrams) BDDs are a very successful representation for Boolean functions. A BDD.
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits using Binary Moment Diagrams” by.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
Binary Decision Diagrams. ROBDDs Slide 2 Example Directed acyclic graph non-terminal node terminal node What function is represented by the graph?
Logic Gate Level Part 2. Constructing Boolean expression from truth table First method: write nonparenthesized OR of ANDs Each AND is a 1 in the result.
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical.
ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.
Boolean Functions and their Representations
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
Rolf Drechlser’s slides used
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 16, 2003.
Boolean Matching in Logic Synthesis. Equivalence of Functions Equivalence of two functions defined under l Negation of input variables l Permutation of.
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
ENGG3190 Logic Synthesis “Binary Decision Diagrams” BDDs Winter 2014 S. Areibi School of Engineering University of Guelph.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
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.
By Tariq Bashir Ahmad Taylor Expansion Diagrams (TED) Adapted from the paper M. Ciesielski, P. Kalla, Z. Zeng, B. Rouzeyre,”Taylor Expansion Diagrams:
Propositional Calculus Math Foundations of Computer Science.
B. Alizadeh Advanced Logic Design (2008) 1 / 55 Decision Diagrams.
Systems Architecture I1 Propositional Calculus Objective: To provide students with the concepts and techniques from propositional calculus so that they.
1 Fundamentals of Computer Science Propositional Logic (Boolean Algebra)
Identifying Reversible Functions From an ROBDD Adam MacDonald.
Truth Table-Based Testing Generating test cases when the test model is a truth table Reading: Binder Chapter 6.
Binary Decision Diagrams (BDDs)
November,2000University of Southern California1 Introduction to Binary Decision Diagrams - Shesha Shayee K. Raghunathan.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: SAT SAT applied in equivalence checking.
Module 9.  Digital logic circuits can be categorized based on the nature of their inputs either: Combinational logic circuit It consists of logic gates.
Two Level and Multi level Minimization
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Combination of logic gates  Logic gates can be combined to produce more complex functions.  They can also be combined to substitute one type of gate.
Circuit Minimization. It is often uneconomical to realize a logic directly from the first logic expression that pops into your head. Canonical sum and.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Verification & Validation By: Amir Masoud Gharehbaghi
Verifying Programs with BDDs Topics Representing Boolean functions with Binary Decision Diagrams Application to program verification class-bdd.ppt
2. Sissejuhatus teooriasse
Binary decision diagrams (BDD’s) Compact representation of a logic function ROBDD’s (reduced ordered BDD’s) are a canonical representation: equivalence.
Technical University Tallinn, ESTONIA Component level dy Defect mapping Hierarchical Test Generation x1x1 x2x2 x3x3 x4x4 x5x5 System level WdWd Logic level.
1 Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits with Binary Moment Diagrams” by Randal.
BDDs1 Binary Tree Representation The recursive Shannon expansion corresponds to a binary tree Example: Each path from the root to a leaf corresponds to.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Test complexity of TED operations Use canonical property of TED for - Software Verification - Algorithm Equivalence check - High Level Synthesis M ac iej.
Digitaalsüsteemide verifitseerimise kursus1 Exercises Binary decision diagrams ROBDD generation. Shannon expansion Finding an optimal ordering Dynamic.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
BDD-based Synthesis of Reversible Logic for Large Functions Robert Wille Rolf Drechsler DAC’09 Presenter: Meng-yen Li.
Reconfigurable Computing
ECE 667 Synthesis and Verification of Digital Systems
Binary Decision Diagrams
Automatic Verification of Industrial Designs
Binary Decision Diagrams
A logic function f in n inputs x1, x2, ...xn and
Example: Verification
A logic function f in n inputs x1, x2, ...xn and
Verifying Programs with BDDs Sept. 22, 2006
Presentation transcript:

Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking

Digitaalsüsteemide verifitseerimise kursus2 Equivalence Checking Two principal approaches: Transform implementation and spec ( reference implementation) to a canonical form Search for an input assignment that would distinguish the responses of the implementation and reference implementation. BDD-s applied for canonical form

Digitaalsüsteemide verifitseerimise kursus3 Canonical forms of Boolean functions Minimized function. Karnaugh map! Full normal form Truth table  These forms are not compact!

Digitaalsüsteemide verifitseerimise kursus4 Decision Diagrams and Equivalence Theoretically, any canonical form has exponential worst case complexity. Luckily for many practical functions compact BDDs exist. We will cover the topic of utilizing BDDs in equivalence checking and symbolic simulation.

Digitaalsüsteemide verifitseerimise kursus5 Examples of canonical forms Is f. ¬ac + b¬c + a¬b equivalent to f. a¬c + ¬bc + ¬ab ? c ab

Digitaalsüsteemide verifitseerimise kursus6 Is f. ¬ac + b¬c + a¬b equivalent to f. a¬c + ¬bc + ¬ab ? c ab Examples of canonical forms

Digitaalsüsteemide verifitseerimise kursus7 Overview of the history of BDDs 1959Lee, BDD first mentioned 1976Ubar, alternative graphs aka structural BDD-s 1978Akers, BDD protagonist 1985Bryant, ROBDD ROBDD-s started a big BDD boom

Digitaalsüsteemide verifitseerimise kursus8 Binary Decision Diagrams BDD is a directed acyclic graph with a single root node and two terminal nodes: 0-node and 1-node Each internal node is labeled by a Boolean variable. From each internal node, two edges will originate which correspond to 0 and 1 value of the variable.

Digitaalsüsteemide verifitseerimise kursus9 Binary Decision Diagrams BDD for Boolean function (x1·x2) V x3 BDD is generated by Shannon expansion:

Digitaalsüsteemide verifitseerimise kursus10 BDD generation example Shannon’s expansion: f=ab+bc b+bcbc cc a) Generate a decision treeb) Reduced BDD

Digitaalsüsteemide verifitseerimise kursus11 Interpretation of BDDs By traversing the paths of a BDD: 1.Calculate the value of f. 2.Derive the function f=ab+a¬bc+¬abc+¬a¬bd

Digitaalsüsteemide verifitseerimise kursus12 Ordered BDD (OBDD) Boolean variables occur in a concrete order along the paths of the BDD No path has more than 2 occurrences of the same variable.

Digitaalsüsteemide verifitseerimise kursus13 Reduced OBDD (ROBDD) Rules of reduction: a) Node removalb) Node sharing

Digitaalsüsteemide verifitseerimise kursus14 Reduction example

Digitaalsüsteemide verifitseerimise kursus15 ROBDD properties +ROBDD is a canonical representation of a Boolean function Equivalence of Boolean functions is checked by isomorphicity of their respective BDDs –ROBDD worst case memory consumption is exponential Not applicable in many practical cases (E.g. multiplier!)

Digitaalsüsteemide verifitseerimise kursus16 BDD size depending on the ordering f = ab + a¬bc + ¬abc + ¬a¬bd

Digitaalsüsteemide verifitseerimise kursus17 BDD size depending on the ordering There are functions whose BDD size grows linearly wrt number of variables There are functions whose BDD size grows exponentially in the worst case wrt number of variables There are functions whose BDD size grows ALWAYS exponentially, regardless of the ordering (E.g. multiplication!)

Digitaalsüsteemide verifitseerimise kursus18 BDD size depending on the ordering Finding an optimal ordering for the variables is an unsolved problem Various heuristics applied

Digitaalsüsteemide verifitseerimise kursus19 Dynamic reordering of BDD nodes

Digitaalsüsteemide verifitseerimise kursus20 Structural BDD-s (Ubar’76) Definition similar to the one of BDD SSBDD is generated in a recursive manner, substituting logical gates by elementary BDDs

Digitaalsüsteemide verifitseerimise kursus21 Structural BDD-s (Ubar’76) ROBDD generated for each output of the circuit SBDD generated for each fanout-free (tree- like) subcircuit  required memory linear!

Digitaalsüsteemide verifitseerimise kursus22 SBDD properties Different of ROBDD-s, SBDDs are planar Nodes labeled by variables and inverted variables; concept of 0 and 1 direction!

Digitaalsüsteemide verifitseerimise kursus23 Alternative notation Moving to the right (downwards) from a node corresponds to variable value 1 (value 0). Exiting to the right (downwards) from the graph corresponds to function value 1 (value 0). Terminal nodes not shown!

Digitaalsüsteemide verifitseerimise kursus24 Circuit, its BDD and SBDD

Digitaalsüsteemide verifitseerimise kursus25 SBDD generation

Digitaalsüsteemide verifitseerimise kursus26 Structural paths BDD nodes 1:1 correspondence between SBDD nodes and structural paths in the fanout-free circuit => säilib info skeemi struktuuri kohta!

Digitaalsüsteemide verifitseerimise kursus27 ROBDD vs SBDD

Digitaalsüsteemide verifitseerimise kursus28 SBDD summary SBDD model has a number of advantageous properties for modeling logic circuits: 1) Preserve structural information 2) Suitable for fault modeling and simulation 3) Linear memory requirements