 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA

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

Boolean Algebra and Logic Gates
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.
IT University of Copenhagen Lecture 7: BDD Construction and Manipulation 1. BDD construction 2. Boolean operations on BDDs 3. BDD-Based configuration.
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.
ECE 667 Student Presentation Gayatri Prabhu [1]. *PHDD: An Efficient Graph Representation for Floating Point Circuit Verification – Y. Chen, R. Bryant,
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
 2001 CiesielskiFormal Verification1 FORMAL METHODS IN HARDWARE VERIFICATION Maciej Ciesielski Dept. of Electrical & Computer Engineering University.
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?
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.
Logic Synthesis Part II
CS 151 Digital Systems Design Lecture 6 More Boolean Algebra A B.
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
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
Solving Boolean Satisfiability (SAT) Problem Using the Unate Recursive Paradigm Priyank Kalla, Maciej Ciesielski Dept. of Elec. & Comp. Engineering University.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
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.
1 High-Level Design Verification using Taylor Expansion Diagrams: First Results Priyank Kalla ECE Department University of Utah Maciej Ciesielski ECE Department.
By Tariq Bashir Ahmad Taylor Expansion Diagrams (TED) Adapted from the paper M. Ciesielski, P. Kalla, Z. Zeng, B. Rouzeyre,”Taylor Expansion Diagrams:
ENGG 1203 Tutorial Combinational Logic (I) 1 Feb Learning Objectives
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
B. Alizadeh Advanced Logic Design (2008) 1 / 55 Decision Diagrams.
Truth Table-Based Testing Generating test cases when the test model is a truth table Reading: Binder Chapter 6.
Binary Decision Diagrams (BDDs)
BOOLEAN ALGEBRA Saras M. Srivastava PGT (Computer Science)
November,2000University of Southern California1 Introduction to Binary Decision Diagrams - Shesha Shayee K. Raghunathan.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
Two Level and Multi level Minimization
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Notes on Sequence Binary Decision Diagrams: Relationship to Acyclic Automata and Complexities of Binary Set Operations Shuhei Denzumi1, Ryo Yoshinaka2,
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.
ENGIN112 L6: More Boolean Algebra September 15, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 6 More Boolean Algebra A B.
Binary-Decision-Diagram (BDD) Application on Pass-Transistor Logic Design Tao Lin School of EECS, Ohio University March 12, 1998.
Binary decision diagrams (BDD’s) Compact representation of a logic function ROBDD’s (reduced ordered BDD’s) are a canonical representation: equivalence.
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.
BDS – A BDD Based Logic Optimization System Presented by Nitin Prakash (ECE 667, Spring 2011)
Test complexity of TED operations Use canonical property of TED for - Software Verification - Algorithm Equivalence check - High Level Synthesis M ac iej.
2009/6/30 CAV Quantifier Elimination via Functional Composition Jie-Hong Roland Jiang Dept. of Electrical Eng. / Grad. Inst. of Electronics Eng.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
IT 60101: Lecture #121 Foundation of Computing Systems Lecture 13 Trees: Part VIII.
PROBABILISTIC AND LOGIC APPROACHES TO MACHINE LEARNING AND DATA MINING
CHAPTER 1 : INTRODUCTION
ECE 667 Synthesis and Verification of Digital Systems
CSE140 HW2 Preparation Xinyuan Wang 04/20/2018.
Binary Decision Diagrams
Binary Decision Diagrams
Formal Methods in software development
Binary Decision Diagrams
Formal Methods in software development
A logic function f in n inputs x1, x2, ...xn and
Introduction to BDDs.
A logic function f in n inputs x1, x2, ...xn and
Boolean Algebra for CAD Applications
10 Design Verification and Test
Presentation transcript:

 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA

 2001 CiesielskiBDD Tutorial2 Common Representations Boolean functions ( f : B  B ) –Truth table, Karnaugh map –SoP, PoS, ESoP –Reed-Muller expansions (PPRM, FPRM, GRM, etc.) –Decision diagrams (BDD, ZDD, KFDD, *BMD, etc.) Arithmetic functions ( f : B  Int ) –Binary Moment Diagrams (*BMD, K*BMD, *PHDD) –Algebraic Decision Diagrams (ADD) Arithmetic functions (f : Int  Int ) –Taylor Expansion Diagrams (TED)

 2001 CiesielskiBDD Tutorial3 Canonical Representations Each minimal, canonical representation is characterized by –Decomposition type Shannon, Davio, moment decomposition, Taylor, etc. –Reduction rules Redundant nodes, isomorphic sub-graphs, etc –Composition method (“Apply” rule) They can represent –Boolean functions (f : B  B) –Arithmetic functions (f : B  Int ) –Algebraic expressions (f : Int  Int )

 2001 CiesielskiBDD Tutorial4 Decomposition Types Shannon expansion f = x f x + x’ f x’ Positive Davio (moment decomposition): replace x’=1-x f = x f x + (1-x) f x’ = f x’ + x f  x where f  x = f x - f x’ Negative Davio f = f x + (1-x) f  x’

 2001 CiesielskiBDD Tutorial5 Binary Decision Diagrams ( BDD ) Based on recursive Shannon expansion f = x f x + x’ f x’ Compact data structure for Boolean logic –can represents sets of objects (states) encoded as Boolean functions Canonical representation –reduced ordered BDDs (ROBDD) are canonical –essential for verification

 2001 CiesielskiBDD Tutorial6 Sannon Expansion  BDD f a’ = f(a=0) = bc b 0 f = ac + bc a f f a = f(a=1) = c + bc g b’ = (bc) |b=0 = 0 g= bc h= c + bc g b = (bc) |b=1 = c h b’ = (c+bc) |b=0 = c h b = (c+bc) |b=1 = c b c 1

 2001 CiesielskiBDD Tutorial7 BDD Reduction Rules -1 1.Eliminate redundant nodes (with both edges pointing to same node) f = a’ g(b) + a g(b) = g(b) (f a + f a’ = 1) b g a b f g

 2001 CiesielskiBDD Tutorial8 BDD Reduction Rules Merge duplicate nodes (isomorphic subgraphs) Nodes must be unique f 1 = a’ g(b) + a h(c) = f 2 f = f 1 = f 2 aa bc h g f1f1 f2f2 a bc g h f

 2001 CiesielskiBDD Tutorial9 BDD Construction Reduced Ordered BDD 1 edge 0 edge a b c f Truth table f = ac + bc Decision tree a b c b ccc f

 2001 CiesielskiBDD Tutorial10 BDD Construction – cont’d 10 a b c b ccc ff 10 a b c b c 10 a b c f = (a+b)c 2. Merge duplicate nodes 1. Merge terminal nodes 3. Remove redundant nodes

 2001 CiesielskiBDD Tutorial11 Logic Manipulation using BDDs Useful operators ¬ FF’ 0 1 F(x,y) x=b 0 1 F(y) Restrict – Restrict: F| x=b = F(x=b) where b = const – Complement ¬ F = F’ (switch the terminal nodes)

 2001 CiesielskiBDD Tutorial12 APPLY Operator Apply: F G, any Boolean operation (AND, OR, XOR,  ) =  F G F G   Useful in constructing BDD for arbitrary Boolean logic Any logic operation can be expressed using Restrict, Apply Efficient algorithms, work directly on BDD graphs

 2001 CiesielskiBDD Tutorial13 BDD: APPLY Operation Basic operator for efficient BDD manipulation (structural) Based on recursive Shannon expansion F OP G = x (F x OP G x ) + x’(F x’ OP G x’ ) where OP = OR, AND, XOR, etc Works directly on BDD

 2001 CiesielskiBDD Tutorial14 BDD: APPLY Operation - AND 10 a c ac a AND c 10 a 2 c a c AND = =

 2001 CiesielskiBDD Tutorial15 BDD: APPLY Operation - OR OR ac 10 a c 4 5 bc 10 b c 6 7 = = 10 a b c f = ac+bc c a b

 2001 CiesielskiBDD Tutorial16 Application to Verification Equivalence Checking of combinational circuits Canonicity property of BDDs: –if F and G are equivalent, their BDDs are identical (for the same ordering of variables ) 10 a b c F = a’bc + abc +ab’c G = ac +bc 10 a b c 

 2001 CiesielskiBDD Tutorial17 Application to SAT Functional test generation –SAT, Boolean satisfiability analysis –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