L4: Binary Decision Diagrams. Reading material

Size: px
Start display at page:

Download "L4: Binary Decision Diagrams. Reading material"

Transcription

1 L4: Binary Decision Diagrams de Micheli pp Reading material R. Bryant, Graph-ased algorithms for Boolean function manipulation, IEEE Transactions on computers, C-35, No 8, August 1986; can e downloaded from CUDD-package manual p. 2 - Advanced Logic Design L4 - Elena Durova

2 Binary Decision Diagram Graph-ased representation for Boolean functions f: B n B m directed acyclic graph one root node, terminal nodes 0, 1 each non-terminal node has two children and is laeled y a variale a f p. 3 - Advanced Logic Design L4 - Elena Durova a 1 0 Binary Decision Diagram Mathematical foundation for BDDs is the Shannon decomposition theorem: where f(x 1,x 2,...,x n ) = x' 1 f x1 =0 + x 1 f x 1 =1 f x1 =0 := f(0,x 2,...,x n ), f x 1 =1 := f(1,x 2,...,x n ) are sufunctions of f, called co-factors p. 4 - Advanced Logic Design L4 - Elena Durova

3 Binary Decision Diagram Let v e a node of a ROBDD laeled y some variale x i, then low(v) is the sughraph pointed y the edge corresponding to x i = 0 this sugraph represents f x1 =0 high(v) is the sughraph pointed y the edge corresponding to x i = 1 this sugraph represents f x1 =1 index(v) = i p. 5 - Advanced Logic Design L4 - Elena Durova Binary Decision Diagram p. 6 - Advanced Logic Design L4 - Elena Durova

4 Ordering rules no variale appears more than once along a path in all paths variales appear in the same order a ordered order = a,c, a not ordered c c c c p. 7 - Advanced Logic Design L4 - Elena Durova Reduction rules 1) no vertex v with low(v) = high(v) 2) no distinct vertices v and u such that the sugraphs rooted y v and u are isomorphic these two rules guarantee that each node represents a distinct logic function p. 8 - Advanced Logic Design L4 - Elena Durova

5 Reduced Ordered Binary Decision Diagram (ROBDD) a f a canonical representation (fixed ordering) easy manipulation algorithms compact for many practical functions p. 9 - Advanced Logic Design L4 - Elena Durova Properties of ROBDD function is given y tracing all the paths to 1 terminal node: f = +a c = a +a c +a c f a = c +c a f 0 1 c f a = cues given y paths are pair-wise disjoint p Advanced Logic Design L4 - Elena Durova

6 Advantages of ROBDDs The numer of cues we represent might e exponential But the size of a ROBDD is measured y its nodes, not y its paths a ROBDD can represent an exponential numer of paths with a linear numer of nodes p Advanced Logic Design L4 - Elena Durova Prolems with ROBDDs Some functions have exponential-size ROBDDs multipliers, HWB size of a ROBDD depends critically on variale ordering adders - exponential for ad orderings, linear for good orderings finding a est variale ordering requires exponential time p Advanced Logic Design L4 - Elena Durova

7 Example root node a f = a+a c+c d a c+d c+d c c c c+d c d+ d d d Two different orderings, same function p Advanced Logic Design L4 - Elena Durova Algorithms for BDD manipulation Basic algorithms for BDD manipulation: Reduce : BDD G reduced to canonical form, complexity O( G log G ) Apply : performes f 1 f 2 for some operation, complexity O( G 1 G 2 ) Compose : sustitues f 2 in a variale x of f 1, complexity O( G 1 2 G 2 ) Satisfy-one: checkes whether f(x 1,.., x n )=1 for some assignment x 1,.., x n, O(n) p Advanced Logic Design L4 - Elena Durova

8 A simple reduction algorithm: 1) Merge all identical terminal nodes and appropriately redirect their incoming edges 2) Proceeding from ottom to top: if a node v is found such that low(v) = high(v), remove v and redirect its incoming edges to low(v) (reduction rule 1) if two nodes v and u with index(v) = index(u) are found such that low(v) = low(u) and high(v) = high(u), remove v and redirect its incoming edges to u (reduction rule 2) p Advanced Logic Design L4 - Elena Durova Apply The procedure Apply provides the asic method for creating the BDD representation of a function given y a Boolean expression It takes BDDs for functions f 1, f 2 and a inary operation, and produces a BDD for the function f 1 f 2 defined as [f 1 f 2 ] (x 1,...,x n )= f 1 (x 1,...,x n ) f 2 (x 1,...,x n ) p Advanced Logic Design L4 - Elena Durova

9 Apply Apply can e used to complement a function (compute f 1) to compute intersection ( = ) to compute union ( = +) Note: in cue representations we needed 3 different procedures for that p Advanced Logic Design L4 - Elena Durova ITE operator If-then-else: ite(f,g,h) equals to g when f is 1 and equals to h otherwise: ite(f,g,h) = f g + f' h Each node is written as a triple: f = (v,g,h) where g = f v and h = f v, where v is the root node of f We read this triple as: f = if v then g else h = ite (v,g,h) = vg+v h v f 1 0 mux v f g h h g p Advanced Logic Design L4 - Elena Durova

10 ITE operator Ite can e used to implement any inary operation, like AND, OR f g = ite(f,g,0) f + g = ite(f,1,g) Ite can e implemented y extending Apply procedure to ternary operations p Advanced Logic Design L4 - Elena Durova ITE operator Tale Suset Expression Equivalent Form AND(f, g) fg ite(f, g, 0) 0010 f > g f g ite(f, g, 0) 0011 f f f 0100 f < g fg ite(f, 0, g) 0101 g g g 0110 XOR(f, g) f g ite(f, g, g) 0111 OR(f, g) f + g ite(f, 1, g) 1000 NOR(f, g) f + g ite(f, 0, g) 1001 XNOR(f, g) f g ite(f, g, g) 1010 NOT(g) g ite(g, 0, 1) 1011 f g f + g ite(f, 1, g) 1100 NOT(f) f ite(f, 0, 1) 1101 f g f + g ite(f, g, 1) 1110 NAND(f, g) fg ite(f, g, 1) p Advanced Logic Design L4 - Elena Durova

11 Variale ordering prolem Exact algorithms are intractale Heuristics are used: static: use properties to group the variales together (e.g. keep symmetric variale together) dynamic sifting: use the property that exchanging adjacent variales has only a local effect on the BDD; the variales are sifted from top to ottom one y one and the est position is rememered p Advanced Logic Design L4 - Elena Durova Static variale ordering variale ordering is computed up-front ased on the prolem structure works very well for many cominational functions that come from circuits we actually uild general scheme: control variales first works ad for unstructured prolems e.g. using BDDs to represent aritrary sets lots of research in ordering algorithms simulated annealing, genetic algorithms give etter results ut extremely costly p Advanced Logic Design L4 - Elena Durova

12 Dynamic variale ordering Theorem (Friedman): Permuting any top part of the variale order has no effect on the nodes laeled y variales in the ottom part. Permuting any ottom part of the variale order has no effect on the nodes laeled y variales in the top part. mem 1 f f 0 f 1 mem 1 f 0 f f 1 mem 2 mem 3 a c c c c mem 2 mem 3 a a c c c c Two adjacent variale layers can e exchanged y without changing the rest of BDD f 00 f 01 f 10 f 11 f 00 f 01 f 10 f 11 p Advanced Logic Design L4 - Elena Durova Dynamic variale ordering Dynamic variale ordering is done as follows: shift a BDD variale to the top and then to the ottom and see which position had minimal numer of BDD nodes fix the variale to this position repeat for all variales p Advanced Logic Design L4 - Elena Durova

13 BDD package (CUDD) A BDD package is a software program that can manipulate ROBDDs: It can store multiple Boolean functions, sharing all vertices that can e shared. It can create new functions y comining existing ones (e.g. f = g h) It can convert the internal representation ack to an external one p Advanced Logic Design L4 - Elena Durova Basic data structures The asic component is DdNode, which is a structure with several fields typedef struct DdNode { struct DdNode *low, *high; /* pt to low, high child */ int index; /* index of the variale that */ /* laels the node, in 0...n */ char value; /* range in {0,1} of terminal nodes */ /* x for non-terminal nodes */ int id; /* reference count - identifier */... /* unique to that node */ } p Advanced Logic Design L4 - Elena Durova

14 Efficient Implementation Unique Tale: avoids duplication of existing nodes Implemented y a hash-tale hash value of key collision chain Computed Tale: avoids re-computation of existing results Implemented y a software cache p Advanced Logic Design L4 - Elena Durova Building a BDD It is normally more efficient to uild BDDs ottom-up ITE-procedure Cudd_ddIteVar can e used Other procedures for inary operations, like Cudd_ddAnd or Cudd_ddOr can also e used p Advanced Logic Design L4 - Elena Durova

15 Example of uilding a BDD using CUDD package Building BDD for f = x' 0 x' 1 x' 2 x' 3 : DdManager *manager; DdNode *f, *var, *tmp; int i; f = Cudd_readOne(manager); /* start from const 1*/ Cudd_ref(f); /* referencing f */ for(i=3; i >= 0; i--) { /* uilding ottom-up */ var = Cudd_ddIthVar(manager,i); tmp = Cudd_ddAnd(manager, Cudd_Not(var),f); /*assigning to a tmp variale, old f should e kept to free its nodes */ Cudd_ref(tmp); Cudd_recursiveDeref(manager,f); f = tmp; } p Advanced Logic Design L4 - Elena Durova Garage Collection It is very important to free and reuse memory of unused BDD nodes. This is done y garage collection. Timing is very crucial ecause garage collection is expensive. There are two approaches: 1. do immediately when a node gets freed ad ecause dead nodes get often reincarnated in next operation 2. regular garage collections ased on statistics collected during BDD operations etter p Advanced Logic Design L4 - Elena Durova

16 Extension - complemented edges Complemented edge indicates that the function associated with it is the complement of the function eing pointed y the edge reduces memory requirements BUT MORE IMPORTANT: makes some operations more efficient (NOT, ITE) two different BDDs G G G G only one BDD using complement pointer p Advanced Logic Design L4 - Elena Durova Extension - complement edges To maintain strong canonical form, need to resolve 4 equivalences: Solution: Always choose one on left, i.e. the then edge must have no complement edge. p Advanced Logic Design L4 - Elena Durova

17 Other extensions Many different extentions of BDDs are possile algeraic DDs: for B n M functions multi-terminal BDDs decision tree is inary multiple leafs, including real numers, sets or aritrary ojects efficient for matrix computations and other non-integer applications MDDs: for M n M functions can e implemented using a regular BDD package with inary encoding advantage that inary BDD variales for one MV variale do not have to stay together -> potentially etter ordering FDDs: Free Bdds variale ordering differs; not canonical anymore p Advanced Logic Design L4 - Elena Durova Zero Suppressed BDD s - ZBDD s ZBDD s were invented y Minato to efficiently represent sparse sets. They have turned out to e useful in implicit methods for representing primes (which usually are a sparse suset of all cues). Different reduction rules: BDD: eliminate all nodes where dotted edge and solid edge point to the same node. ZBDD: eliminate all nodes where the solid edge points to 0. Connect incoming edges to node pointed y dotted edge. For oth: share equivalent nodes. BDD: 0 ZBDD: 1 0 p Advanced Logic Design L4 - Elena Durova

18 Summary of BDDs BDDs give a compact representation for many practical functions as well as fast manipulation algorithms widely used in CAD-tools nowadays They are very convenient for formal verification (equivalence checking) comparing of two functions is done y comparing two pointers to the root nodes (constant-time operation) p Advanced Logic Design L4 - Elena Durova

Binary Decision Diagrams (BDDs) Pingqiang Zhou ShanghaiTech University

Binary Decision Diagrams (BDDs) Pingqiang Zhou ShanghaiTech University Binary Decision Diagrams (BDDs) Pingqiang Zhou ShanghaiTech University Computational Boolean Algera Representations Applying unate recursive paradigm (URP) in solving tautology is a great warm up example.

More information

Unit 4: Formal Verification

Unit 4: Formal Verification Course contents Unit 4: Formal Verification Logic synthesis basics Binary-decision diagram (BDD) Verification Logic optimization Technology mapping Readings Chapter 11 Unit 4 1 Logic Synthesis & Verification

More information

Binary Decision Diagrams (BDD)

Binary Decision Diagrams (BDD) Binary Decision Diagrams (BDD) Contents Motivation for Decision diagrams Binary Decision Diagrams ROBDD Effect of Variable Ordering on BDD size BDD operations Encoding state machines Reachability Analysis

More information

Behavior models and verification Lecture 6

Behavior models and verification Lecture 6 Behavior models and verification Lecture 6 http://d3s.mff.cuni.cz Jan Kofroň, František Plášil Model checking For a Kripke structure M = (S, I, R, L) over AP and a (state based) temporal logic formula

More information

Model Checking I Binary Decision Diagrams

Model Checking I Binary Decision Diagrams /42 Model Checking I Binary Decision Diagrams Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 523 2/42 Binary Decision Diagrams Ordered binary decision diagrams

More information

VLSI Logic Test, Validation and Verification Lecture 7 Properties & Applications of Binary Decision Diagrams

VLSI Logic Test, Validation and Verification Lecture 7 Properties & Applications of Binary Decision Diagrams VLSI Logic Test, Validation and Verification Lecture 7 Properties & Applications of Binary Decision Diagrams 1 Instructor: Priyank Kalla Department of Electrical and Computer Engineering University of

More information

Solution 3: (a) True. Proof.

Solution 3: (a) True. Proof. Solution 3: (a) True Proof. f = (x + f x ) (x + f x ) + f x f x + f x f x (x + x) f x + x f x + x f x f x (Boolean absorption) This is equal to Shannon s expansion of f. (b) True Proof. f = x f x x f x

More information

1 Model checking and equivalence checking

1 Model checking and equivalence checking 978--52-85972- - Practical Design Verification Model checking and equivalence checking Masahiro Fujita. Introduction Owing to the advances in semiconductor technology, a large and complex system that has

More information

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley Boolean Function Representations Syntactic: e.g.: CNF, DNF (SOP), Circuit Semantic: e.g.: Truth table, Binary

More information

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees

Motivation. CS389L: Automated Logical Reasoning. Lecture 5: Binary Decision Diagrams. Historical Context. Binary Decision Trees Motivation CS389L: Automated Logical Reasoning Lecture 5: Binary Decision Diagrams Işıl Dillig Previous lectures: How to determine satisfiability of propositional formulas Sometimes need to efficiently

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

Binary Decision Diagrams

Binary Decision Diagrams 5-44 Bug Catching: Automated Program Verification and Testing based on slides by SagarChaki 2 Carnegie Mellon University BDDs in a nutshell Typically mean Reduced Ordered (ROBDDs) Canonical representation

More information

Formal Verification. Lecture 7: Introduction to Binary Decision Diagrams (BDDs)

Formal Verification. Lecture 7: Introduction to Binary Decision Diagrams (BDDs) Formal Verification Lecture 7: Introduction to Binary Decision Diagrams (BDDs) Jacques Fleuriot jdf@inf.ac.uk Diagrams from Huth & Ryan, 2nd Ed. Recap Previously: CTL and LTL Model Checking algorithms

More information

Binary Decision Diagrams

Binary Decision Diagrams Logic and roof Hilary 2016 James Worrell Binary Decision Diagrams A propositional formula is determined up to logical equivalence by its truth table. If the formula has n variables then its truth table

More information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

More information

CUDD Colorado University Decision Diagram Package

CUDD Colorado University Decision Diagram Package CUDD Colorado University Decision Diagram Package Software per Sistemi Embedded Corso di Laurea in Informatica Davide Bresolin Tiziano Villa SSE (Lab) CUDD Lesson 3 1 / 21 Outline 1 Introduction 2 CUDD:

More information

CS357 Lecture: BDD basics. David Dill

CS357 Lecture: BDD basics. David Dill CS357 Lecture: BDD basics David Dill BDDs (Boolean/binary decision diagrams) BDDs are a very successful representation for Boolean functions. A BDD represents a Boolean function on variables x, x 2,...

More information

A Firewall Application Using Binary Decision Diagram

A Firewall Application Using Binary Decision Diagram 2017 2nd International Conference on Computer, Network Security and Communication Engineering (CNSCE 2017) ISBN: 978-1-60595-439-4 A Firewall Application Using Binary Decision Diagram Jun-feng ZHAO 1,

More information

A Relational View of Subgraph Isomorphism

A Relational View of Subgraph Isomorphism A Relational View of Subgraph Isomorphism J. Cortadella and G. Valiente Department of Software, Technical University of Catalonia, Barcelona, Spain Abstract. This paper presents a novel approach to the

More information

An Introduction to Zero-Suppressed Binary Decision Diagrams

An Introduction to Zero-Suppressed Binary Decision Diagrams An Introduction to Zero-Suppressed Binary Decision Diagrams Alan Mishchenko Department of Electrical and Computer Engineering Portland State University, Portland, OR 97207, USA alanmi@ee.pdx.edu; http://www.ee.pdx.edu/~alanmi/research.htm

More information

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1

Synthesis 1. 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, Typeset by FoilTEX 1 Synthesis 1 1 Figures in this chapter taken from S. H. Gerez, Algorithms for VLSI Design Automation, Wiley, 1998. Typeset by FoilTEX 1 Introduction Logic synthesis is automatic generation of circuitry

More information

Int. J. Advanced Networking and Applications 1430 Volume:03 Issue:06 Pages: (2012) ISSN :

Int. J. Advanced Networking and Applications 1430 Volume:03 Issue:06 Pages: (2012) ISSN : 1430 Binary Decision Diagrams and Its Variable Ordering for Disjoint Network Manoj Singhal Associate professor, Department of Information Technology, Accurate Institute of Management & Technology, Greater

More information

An Introduction to Zero-Suppressed Binary Decision Diagrams

An Introduction to Zero-Suppressed Binary Decision Diagrams An Introduction to Zero-Suppressed Binary Decision Diagrams Alan Mishchenko Berkeley Verification and Synthesis Research Center Department of Electrical Engineering and Computer Sciences University of

More information

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2

1/28/2013. Synthesis. The Y-diagram Revisited. Structural Behavioral. More abstract designs Physical. CAD for VLSI 2 Synthesis The Y-diagram Revisited Structural Behavioral More abstract designs Physical CAD for VLSI 2 1 Structural Synthesis Behavioral Physical CAD for VLSI 3 Structural Processor Memory Bus Behavioral

More information

Graph-Based Algorithms for Boolean Function Manipulation

Graph-Based Algorithms for Boolean Function Manipulation Graph-Based Algorithms for Boolean Function Manipulation Introduction Boolean algebra forms a corner stone of Computer system & Digital design. So, we need efficient algorithms to represent & manipulate

More information

ABC basics (compilation from different articles)

ABC basics (compilation from different articles) 1. AIG construction 2. AIG optimization 3. Technology mapping ABC basics (compilation from different articles) 1. BACKGROUND An And-Inverter Graph (AIG) is a directed acyclic graph (DAG), in which a node

More information

Graph-Based Algorithms for Boolean Function Manipulation 12. Abstract

Graph-Based Algorithms for Boolean Function Manipulation 12. Abstract Graph-Based Algorithms for Boolean Function Manipulation 2 Randal E. Bryant 3 Abstract In this paper we present a new data structure for representing Boolean functions and an associated set of manipulation

More information

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis

ECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis ECE 5775 (Fall 17) High-Level Digital Design Automation Binary Decision Diagrams Static Timing Analysis Announcements Start early on Lab 1 (CORDIC design) Fixed-point design should not have usage of DSP48s

More information

A New Optimal Approach for evaluating the size of BDD for calculating the Reliability of a CCN

A New Optimal Approach for evaluating the size of BDD for calculating the Reliability of a CCN Int. J. Of Advanced Networking and Applications 230 A New Optimal Approach for evaluating the size of BDD for calculating the Reliability of a CCN Manoj Singhal #, R. K. Chauhan ##, Girish Sharma ###,

More information

Network Reliability Computation by using Different Binary Decision Diagrams

Network Reliability Computation by using Different Binary Decision Diagrams Network Reliability Computation by using Different Binary Decision Diagrams Manoj Singhal 1, R. K. Chauhan 2, Girish Sharma 3 1 Asso. Prof., Deptt. Of MCA, Academy of Business and Engineering Sciences,

More information

Chapter 8: Data Abstractions

Chapter 8: Data Abstractions Chapter 8: Data Abstractions Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Presentation files modified by Farn Wang Copyright 28 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

More information

Metodologie di progetto HW La verifica di circuiti digitali. Versione del 28/04/08

Metodologie di progetto HW La verifica di circuiti digitali. Versione del 28/04/08 Metodologie di progetto HW La verifica di circuiti digitali Versione del 28/4/8 Metodologie di progetto HW La verifica di circuiti digitali Equivalence checking Basics ROBDD s (The Canonical Side) Representation

More information

Name Class Date. Quadratic Functions and Transformations

Name Class Date. Quadratic Functions and Transformations 4-1 Reteaching Parent Quadratic Function The parent quadratic function is y = x. Sustitute 0 for x in the function to get y = 0. The vertex of the parent quadratic function is (0, 0). A few points near

More information

Chapter 6: Multilevel Combinational Circuits. Name: Lương Văn Minh No. :

Chapter 6: Multilevel Combinational Circuits. Name: Lương Văn Minh No. : Chapter 6: Multilevel Combinational Circuits Name: Lương Văn Minh No. : 09070452 Overview 6.1 Boolean Networks 6.2 Special Classes of Circuits 6.3 Binary Decision Diagrams 2 Overview 6.1 Boolean Networks

More information

K-terminal Network Reliability Evaluation Using Binary Decision Diagram

K-terminal Network Reliability Evaluation Using Binary Decision Diagram K-terminal Network Reliability Evaluation Using Binary Decision Diagram Mohammad Ghasemzadeh Computer Engineering Department Yazd University, Safa-ieh, Yazd, Iran m.ghasemzadeh@yazduni.ac.ir Christoph

More information

L3: Representations of functions

L3: Representations of functions L3: Representations of functions Representations of Boolean functions Boolean expression Two level sum of product form, factorized form Truth tables Karnaugh maps Cubes (MIN,MAX) notation positional cube

More information

What graphs can be efficiently represented by BDDs?

What graphs can be efficiently represented by BDDs? What graphs can be efficiently represented by BDDs? C. Dong P. Molitor Institute of Computer Science Martin-Luther University of Halle-Wittenberg Halle(Saale), D-62, Germany Abstract We have carried out

More information

An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set

An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set Prof. Sudha H Ayatti Department of Computer Science & Engineering KLS GIT, Belagavi, Karnataka,

More information

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance

More information

Compiling Bayesian Networks by Symbolic Probability Calculation Based on Zero-suppressed BDDs

Compiling Bayesian Networks by Symbolic Probability Calculation Based on Zero-suppressed BDDs Compiling Bayesian Networks by Symbolic Probability Calculation Based on Zero-suppressed BDDs Shin-ichi Minato Div. of Computer Science Hokkaido University Sapporo 6 814, Japan Ken Satoh National Institute

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams 2-CS-626- Formal Verification Department of Computer Science University of Cincinnati Introduction Binary Decision Diagrams (BDD) [, 8] are a general, graphical representation

More information

y ax bx c y a x h 2 Math 11 Pre-Cal Quadratics Review

y ax bx c y a x h 2 Math 11 Pre-Cal Quadratics Review Math 11 Pre-Cal Quadratics Review A quadratic function can e descried as y ax x c (or equivalent forms, see elow). There are an infinite numer of solutions (x,y pairs) to a quadratic function. If we plot

More information

Indexing and Searching

Indexing and Searching Indexing and Searching Introduction How to retrieval information? A simple alternative is to search the whole text sequentially Another option is to build data structures over the text (called indices)

More information

The 17th International Conference on Safety, Reliability and Security (SAFECOMP 98) LNCS, Heidelberg, 1998

The 17th International Conference on Safety, Reliability and Security (SAFECOMP 98) LNCS, Heidelberg, 1998 The 17th International Conference on Safety, Reliability and Security (SAFECOMP 98) LNCS, Heidelberg, 1998 Verifying Integrity of Decision Diagrams Rolf Drechsler Institute of Computer Science Albert-Ludwigs-University

More information

SDD Advanced-User Manual Version 1.1

SDD Advanced-User Manual Version 1.1 SDD Advanced-User Manual Version 1.1 Arthur Choi and Adnan Darwiche Automated Reasoning Group Computer Science Department University of California, Los Angeles Email: sdd@cs.ucla.edu Download: http://reasoning.cs.ucla.edu/sdd

More information

Formal Verification Methods 2: Symbolic Simulation

Formal Verification Methods 2: Symbolic Simulation Formal Verification Methods 2: Symbolic Simulation John Harrison Intel Corporation Marktoberdorf 2003 Thu 3st July 2003 (:25 2:0) 0 Summary Simulation Symbolic and ternary simulation BDDs Quaternary lattice

More information

Implementing a Multiple-Valued Decision Diagram Package

Implementing a Multiple-Valued Decision Diagram Package ISMVL-98 Page 1 Implementing a Multiple-Valued Decision Diagram Package D. Michael Miller Rolf Drechsler VLSI Design and Test Group Institute of Computer Science Department of Computer Science Albert-Ludwigs-University

More information

Disclaimer. CS130A Winter 2008 Final Review. Information on the final exam. Suggestions

Disclaimer. CS130A Winter 2008 Final Review. Information on the final exam. Suggestions Disclaimer CS0 Winter 008 Final Review Shuo Wu Provided as is. Humanitarian purpose. Only served as a guideline/self-test for final preparation. Only a sketch/summary of important materials. You need to

More information

VLSI System Testing. Introduction

VLSI System Testing. Introduction ECE 538 VLSI System Testing Krish Chakraarty Test Generation: Part ECE 538 Krish Chakraarty Introduction Classification of test generation methods Fault tale analysis Boolean difference method Propagation,

More information

Logic Synthesis and Verification

Logic Synthesis and Verification Logic Synthesis and Verification Jie-Hong Roland Jiang 江介宏 Department of Electrical Engineering National Taiwan University Fall 2012 1 SOPs and Incompletely Specified Functions Reading: Logic Synthesis

More information

Symbolic Model Checking

Symbolic Model Checking Bug Catching 5-398 Symbolic Model Checking Hao Zheng Dept. of Computer Science & Eng. Univ. of South Florida Overview CTL model checking operates on sets. Calculates the fix points over finite state sets.

More information

Binary Decision Diagram with Minimum Expected Path Length

Binary Decision Diagram with Minimum Expected Path Length Binary Decision Diagram with Minimum Expected Path Length Yi-Yu Liu Kuo-Hua Wang TingTing Hwang C. L. Liu Department of Computer Science, National Tsing Hua University, Hsinchu 300, Taiwan Dept. of Computer

More information

Lecture Notes on Binary Decision Diagrams

Lecture Notes on Binary Decision Diagrams Lecture Notes on Binary Decision Diagrams 15-122: Principles of Imperative Computation William Lovas Notes by Frank Pfenning Lecture 25 April 21, 2011 1 Introduction In this lecture we revisit the important

More information

CSE 373 Autumn 2012: Midterm #2 (closed book, closed notes, NO calculators allowed)

CSE 373 Autumn 2012: Midterm #2 (closed book, closed notes, NO calculators allowed) Name: Sample Solution Email address: CSE 373 Autumn 0: Midterm # (closed book, closed notes, NO calculators allowed) Instructions: Read the directions for each question carefully before answering. We may

More information

2009 Haskell January Test Binary Decision Diagrams

2009 Haskell January Test Binary Decision Diagrams 009 Haskell January est Binary Decision Diagrams his test comprises four parts and the maximum mark is 5. Parts I, II and III are worth of the 5 marks available. he 009 Haskell Programming Prize will be

More information

Symbolic Representations and Analysis of Large Probabilistic Systems

Symbolic Representations and Analysis of Large Probabilistic Systems Symbolic Representations and Analysis of Large Probabilistic Systems Andrew Miner 1 and David Parker 2 1 Dept. of Computer Science, Iowa State University, Ames, Iowa, 50011 2 School of Computer Science,

More information

Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams

Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams Randal E. Bryant Fujitsu Laboratories, Ltd. 5 Kamikodanaka, Nakahara-ku Kawasaki 2, Japan June, 992 Ordered Binary Decision Diagrams

More information

Symbolic Representation with Ordered Function Templates

Symbolic Representation with Ordered Function Templates Symbolic Representation with Ordered Function Templates Amit Goel Department of Electrical & Computer Engineering Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA. 15213 agoel@ece.cmu.edu Gagan

More information

DFA: Automata where the next state is uniquely given by the current state and the current input character.

DFA: Automata where the next state is uniquely given by the current state and the current input character. Chapter : SCANNING (Lexical Analysis).3 Finite Automata Introduction to Finite Automata Finite automata (finite-state machines) are a mathematical way of descriing particular kinds of algorithms. A strong

More information

SOLUTION TO FINAL EXAM PROBLEMS

SOLUTION TO FINAL EXAM PROBLEMS SOLUTION TO FINAL EXAM PROBLEMS Prolem. Fast Transforms and Butterflies. (a) raw a kernel of a Fast ReedMuller Transform. Explain on which formula of Boolean Algera it is ased. () Illustrate transformation

More information

Metodologie di progetto HW La verifica di circuiti digitali

Metodologie di progetto HW La verifica di circuiti digitali Metodologie di progetto HW La verifica di circuiti digitali Versione del 28/4/8 Metodologie di progetto HW La verifica di circuiti digitali Equivalence checking Basics Pag. ROBDD s (The Canonical Side)

More information

CS301 - Data Structures Glossary By

CS301 - Data Structures Glossary By CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm

More information

Hot X: Algebra Exposed

Hot X: Algebra Exposed Hot X: Algera Exposed Solution Guide for Chapter 5 Here are the solutions for the Doing the Math exercises in Hot X: Algera Exposed! (assume that all denominators 0) DTM from p.59 2. Since they have the

More information

Graphs & Digraphs Tuesday, November 06, 2007

Graphs & Digraphs Tuesday, November 06, 2007 Graphs & Digraphs Tuesday, November 06, 2007 10:34 PM 16.1 Directed Graphs (digraphs) like a tree but w/ no root node & no guarantee of paths between nodes consists of: nodes/vertices - a set of elements

More information

4.1.2 Merge Sort Sorting Lower Bound Counting Sort Sorting in Practice Solving Problems by Sorting...

4.1.2 Merge Sort Sorting Lower Bound Counting Sort Sorting in Practice Solving Problems by Sorting... Contents 1 Introduction... 1 1.1 What is Competitive Programming?... 1 1.1.1 Programming Contests.... 2 1.1.2 Tips for Practicing.... 3 1.2 About This Book... 3 1.3 CSES Problem Set... 5 1.4 Other Resources...

More information

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001

Research Collection. Formal background and algorithms. Other Conference Item. ETH Library. Author(s): Biere, Armin. Publication Date: 2001 Research Collection Other Conference Item Formal background and algorithms Author(s): Biere, Armin Publication Date: 2001 Permanent Link: https://doi.org/10.3929/ethz-a-004239730 Rights / License: In Copyright

More information

A Novel Approach of Area-Efficient FIR Filter Design Using Distributed Arithmetic with Decomposed LUT

A Novel Approach of Area-Efficient FIR Filter Design Using Distributed Arithmetic with Decomposed LUT IOSR Journal of Electronics and Communication Engineering (IOSR-JECE) e-issn: 2278-2834,p- ISSN: 2278-8735. Volume 7, Issue 2 (Jul. - Aug. 2013), PP 13-18 A Novel Approach of Area-Efficient FIR Filter

More information

Novel Applications of a Compact Binary Decision Diagram Library to Important Industrial Problems

Novel Applications of a Compact Binary Decision Diagram Library to Important Industrial Problems Novel Applications of a Compact Binary Decision Diagram Library to Important Industrial Problems Stergios Stergiou Jawahar Jain (Manuscript received May 28, 2009) Fujitsu Laboratories of America has, over

More information

Recent Results from Analyzing the Performance of Heuristic Search

Recent Results from Analyzing the Performance of Heuristic Search Recent Results from Analyzing the Performance of Heuristic Search Teresa M. Breyer and Richard E. Korf Computer Science Department University of California, Los Angeles Los Angeles, CA 90095 {treyer,korf}@cs.ucla.edu

More information

ON AN OPTIMIZATION TECHNIQUE USING BINARY DECISION DIAGRAM

ON AN OPTIMIZATION TECHNIQUE USING BINARY DECISION DIAGRAM ON AN OPTIMIZATION TECHNIQUE USING BINARY DECISION DIAGRAM Debajit Sensarma # 1, Subhashis Banerjee #1, Krishnendu Basuli #1,Saptarshi Naskar #2, Samar Sen Sarma #3 #1 West Bengal State University, West

More information

Symbol Tables. ASU Textbook Chapter 7.6, 6.5 and 6.3. Tsan-sheng Hsu.

Symbol Tables. ASU Textbook Chapter 7.6, 6.5 and 6.3. Tsan-sheng Hsu. Symbol Tables ASU Textbook Chapter 7.6, 6.5 and 6.3 Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Definitions Symbol table: A data structure used by a compiler to keep track

More information

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007

VLSI System Design Part II : Logic Synthesis (1) Oct Feb.2007 VLSI System Design Part II : Logic Synthesis (1) Oct.2006 - Feb.2007 Lecturer : Tsuyoshi Isshiki Dept. Communications and Integrated Systems, Tokyo Institute of Technology isshiki@vlsi.ss.titech.ac.jp

More information

- Introduction P. Danziger. Linear Algebra. Algebra Manipulation, Solution or Transformation

- Introduction P. Danziger. Linear Algebra. Algebra Manipulation, Solution or Transformation Linear Algera Linear of line or line like Algera Manipulation, Solution or Transformation Thus Linear Algera is aout the Manipulation, Solution and Transformation of line like ojects. We will also investigate

More information

Solving Boolean Equations with BDDs and Clause Forms. Gert Smolka

Solving Boolean Equations with BDDs and Clause Forms. Gert Smolka Solving Boolean Equations with BDDs and Clause Forms Gert Smolka Abstract Methods for solving Boolean equations BDDs [Bryant 1986] Clause forms [Quine 1959] Efficient data structure and algorithms for

More information

MAT 7003 : Mathematical Foundations. (for Software Engineering) J Paul Gibson, A207.

MAT 7003 : Mathematical Foundations. (for Software Engineering) J Paul Gibson, A207. MAT 7003 : Mathematical Foundations (for Software Engineering) J Paul Gibson, A207 paul.gibson@it-sudparis.eu http://www-public.it-sudparis.eu/~gibson/teaching/mat7003/ Graphs and Trees http://www-public.it-sudparis.eu/~gibson/teaching/mat7003/l2-graphsandtrees.pdf

More information

Minimization of Multiple-Valued Functions in Post Algebra

Minimization of Multiple-Valued Functions in Post Algebra Minimization of Multiple-Valued Functions in Post Algebra Elena Dubrova Yunjian Jiang Robert Brayton Department of Electronics Dept. of Electrical Engineering and Computer Sciences Royal Institute of Technology

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS150, Spring 2010

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS150, Spring 2010 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS10, Spring 010 Homework Assignment 7 Solutions: Memories and Video 1. Your task

More information

Disjoint Support Decompositions

Disjoint Support Decompositions Chapter 4 Disjoint Support Decompositions We introduce now a new property of logic functions which will be useful to further improve the quality of parameterizations in symbolic simulation. In informal

More information

DISCRETE FUNCTION REPRESENTATIONS UTILIZING DECISION DIAGRAMS AND SPECTRAL TECHNIQUES

DISCRETE FUNCTION REPRESENTATIONS UTILIZING DECISION DIAGRAMS AND SPECTRAL TECHNIQUES DISCRETE FUNCTION REPRESENTATIONS UTILIZING DECISION DIAGRAMS AND SPECTRAL TECHNIQUES By Whitney Jeanne Townsend A Thesis Submitted to the Faculty of Mississippi State University in Partial Fulfillment

More information

On the Relation between SAT and BDDs for Equivalence Checking

On the Relation between SAT and BDDs for Equivalence Checking On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,

More information

IMPLEMENTATION OF HYBRID EVOLUTIONARY ALGORITHM FOR BDD OPTIMIZATION BY FINDING OPTIMUM VARIABLE ORDERING

IMPLEMENTATION OF HYBRID EVOLUTIONARY ALGORITHM FOR BDD OPTIMIZATION BY FINDING OPTIMUM VARIABLE ORDERING IMPLEMENTATION OF HYBRID EVOLUTIONARY ALGORITHM FOR BDD OPTIMIZATION BY FINDING OPTIMUM VARIABLE ORDERING Submitted in Partial Fulfilment of the Requirements for the award of the degree of MASTER OF TECHNOLOGY

More information

Lecture Notes on Dynamic Programming

Lecture Notes on Dynamic Programming Lecture Notes on Dynamic Programming 15-122: Principles of Imperative Computation Frank Pfenning Lecture 23 November 16, 2010 1 Introduction In this lecture we introduce dynamic programming, which is a

More information

Australian Journal of Basic and Applied Sciences. Timing Analysis on Min-term Based Tabular Method for BDD Manipulations

Australian Journal of Basic and Applied Sciences. Timing Analysis on Min-term Based Tabular Method for BDD Manipulations AENSI Journals Australian Journal of Basic and Applied Sciences Journal home page: www.ajbasweb.com Timing Analysis on Min-term Based Tabular Method for BDD Manipulations 1 S. Deivanai, 2 Dr. K. Thanushkodi,

More information

Solving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s

Solving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s Solving 3-SAT Radboud University Nijmegen Bachelor Thesis Author: Peter Maandag s3047121 Supervisors: Henk Barendregt Alexandra Silva July 2, 2012 Contents 1 Introduction 2 1.1 Problem context............................

More information

Dualization of Boolean functions Using Ternary Decision Diagrams

Dualization of Boolean functions Using Ternary Decision Diagrams Dualization of Boolean functions Using Ternary Decision Diagrams Takahisa Toda ERATO MINATO Discrete Structure Manipulation System Project, Japan Science and Technology Agency, at Hokkaido University,

More information

Biconditional Binary Decision Diagrams: A Novel Canonical Logic Representation Form

Biconditional Binary Decision Diagrams: A Novel Canonical Logic Representation Form IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS, VOL. 4, NO. 4, DECEMBER 2014 487 Biconditional Binary Decision Diagrams: A Novel Canonical Logic Representation Form Luca Amarú, StudentMember,IEEE,

More information

Chain Reduction for Binary and Zero-Suppressed Decision Diagrams arxiv: v1 [cs.ds] 17 Oct 2017

Chain Reduction for Binary and Zero-Suppressed Decision Diagrams arxiv: v1 [cs.ds] 17 Oct 2017 Chain Reduction for Binary and Zero-Suppressed Decision Diagrams arxiv:70.06500v [cs.ds] 7 Oct 07 Randal E. Bryant Computer Science Department Carnegie Mellon University Randy.Bryant@cs.cmu.edu October

More information

SEARCHING, SORTING, AND ASYMPTOTIC COMPLEXITY

SEARCHING, SORTING, AND ASYMPTOTIC COMPLEXITY 1 A3 and Prelim 2 SEARCHING, SORTING, AND ASYMPTOTIC COMPLEXITY Lecture 11 CS2110 Fall 2016 Deadline for A3: tonight. Only two late days allowed (Wed-Thur) Prelim: Thursday evening. 74 conflicts! If you

More information

Binary Decision Diagrams and Beyond: Enabling Technologies for Formal Verification

Binary Decision Diagrams and Beyond: Enabling Technologies for Formal Verification Binary Decision Diagrams and Beyond: Enabling Technologies for Formal Verification Randal E. Bryant Carnegie Mellon University Pittsburgh, PA 15213 Randy.Bryant@cs.cmu.edu http://www.cs.cmu/~bryant Abstract

More information

BDDC v2 A basic bdd-based logical calculator

BDDC v2 A basic bdd-based logical calculator BDDC v2 A basic bdd-based logical calculator Pascal RAYMOND November 24, 2008, (rev. September 28, 2015) BDDC is a tool for manipulating logical formula. It is based on a Binary Decision Diagram library,

More information

Binary decision diagram to design balanced secure logic styles

Binary decision diagram to design balanced secure logic styles Binary decision diagram to design balanced secure logic styles Hyunmin Kim, Seokhie Hong, Bart Preneel and Ingrid Verbauwhede Center for Information Security Technologies Korea University, Seoul, South

More information

Solutions to Exam Data structures (X and NV)

Solutions to Exam Data structures (X and NV) Solutions to Exam Data structures X and NV 2005102. 1. a Insert the keys 9, 6, 2,, 97, 1 into a binary search tree BST. Draw the final tree. See Figure 1. b Add NIL nodes to the tree of 1a and color it

More information

Sorting in Space and Network Distance Browsing

Sorting in Space and Network Distance Browsing Sorting in Space and Network Distance Browsing Hanan Samet hjs@cs.umd.edu http://www.cs.umd.edu/ hjs Department of Computer Science University of Maryland College Park, MD 20742, USA These notes may not

More information

Algorithm Design (8) Graph Algorithms 1/2

Algorithm Design (8) Graph Algorithms 1/2 Graph Algorithm Design (8) Graph Algorithms / Graph:, : A finite set of vertices (or nodes) : A finite set of edges (or arcs or branches) each of which connect two vertices Takashi Chikayama School of

More information

Representations of Terms Representations of Boolean Networks

Representations of Terms Representations of Boolean Networks Representations of Terms Representations of Boolean Networks Logic Circuits Design Seminars WS2010/2011, Lecture 4 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology

More information

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators JAVA Standard Edition Java - Basic Operators Java provides a rich set of operators to manipulate variables.

More information

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model 356 Int'l Conf. Par. and Dist. Proc. Tech. and Appl. PDPTA'16 Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model Hirofumi Suzuki, Sun Hao, and Shin-ichi Minato Graduate

More information

Computer Science Foundation Exam

Computer Science Foundation Exam Computer Science Foundation Exam December 13, 2013 Section I A COMPUTER SCIENCE NO books, notes, or calculators may be used, and you must work entirely on your own. SOLUTION Question # Max Pts Category

More information

BDDC v2 A basic bdd-based logical calculator

BDDC v2 A basic bdd-based logical calculator BDDC v2 A basic bdd-based logical calculator Pascal RAYMOND http://www-verimag.imag.fr/people/pascal.raymond November 24, 2008 BDDC is a tool for manipulating logical formula. It is based on a Binary Decision

More information

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne

Giovanni De Micheli. Integrated Systems Centre EPF Lausanne Two-level Logic Synthesis and Optimization Giovanni De Micheli Integrated Systems Centre EPF Lausanne This presentation can be used for non-commercial purposes as long as this note and the copyright footers

More information