Binary Decision Diagrams

Size: px
Start display at page:

Download "Binary Decision Diagrams"

Transcription

1 Binary Decision Diagrams Logic Circuits Design Seminars WS2010/2011, Lecture 2 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical University in Prague Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti PI-SCN-2, ČVUT FIT, Petr Fišer,

2 Binary Decision Diagrams Logic function (!) is represented by a DAG Binary, completely specified, single-output Coming from Binary Decision Trees Binary tree One root Non-terminals are labeled by variable names 2 n leaves (terminals), labeled 0 and 1 Each node represents a decision on a variable Each non-terminal node u has two successors lo(u) and hi(u) PI-SCN-2, ČVUT FIT, Petr Fišer,

3 Binary Decision Tree a b c f = a bc + ab c + abc PI-SCN-2, ČVUT FIT, Petr Fišer,

4 ROBDDs Reduced Ordered Binary Decision Diagrams Rooted directed acyclic graphs (DAGs) Variable ordering a-priori given Obtained from BDTs by applying reduction rules PI-SCN-2, ČVUT FIT, Petr Fišer,

5 From BDTs to ROBDDs Three reduction rules: 1. Eliminate duplicate terminals 2. Eliminate duplicate non-terminals 3. Eliminate redundant nodes PI-SCN-2, ČVUT FIT, Petr Fišer,

6 BDD Reductions 1. Eliminate duplicate terminals Only two terminals as a result PI-SCN-2, ČVUT FIT, Petr Fišer,

7 BDD Reductions 2. Eliminate duplicate non-terminals Merge nodes u, v, where lo(u) = lo(v) & hi(u) = hi(v) PI-SCN-2, ČVUT FIT, Petr Fišer,

8 BDD Reductions 3. Eliminate redundant nodes Eliminate nodes where lo(u) = hi(u) ROBDD PI-SCN-2, ČVUT FIT, Petr Fišer,

9 BDD to SOP Track all paths from the root to 1-terminal f = ac + a bc a b c DSOP (disjoint SOP) is obtained Minimum SOP: f = ac + bc PI-SCN-2, ČVUT FIT, Petr Fišer,

10 Construction of BDDs Obtained by recursively applying Shannon Expansion f ( x, x2,..., xi,..., xn) xi f ( x1,...,1,..., xn) xi f ( x1,...,0,..., x 1 n ) OR f x f x x f x where f x f, f f x1 x x0 (cofactor) PI-SCN-2, ČVUT FIT, Petr Fišer,

11 ROBDDs & BDDs Properties of ROBDDs (recall: Reduced, Ordered) Variable ordering a-priori given (a < b < c) Reduced they are minimal under given variable ordering Canonical under given variable ordering PI-SCN-2, ČVUT FIT, Petr Fišer,

12 Properties of ROBDDs Canonical & Minimal Equivalence of two functions detected in (sub)linear time (NP-hard problem, in general) Two functions are equivalent, iff they have isomorphic ROBDDs Tautology & contradiction is checked in constant time (NP-hard problem, in general) Tautology ROBDD is reduced to 1 terminal Contradiction ROBDD is reduced to 0 terminal Operations upon BDDs performed in linear time PI-SCN-2, ČVUT FIT, Petr Fišer,

13 Where s The Problem Then? Sensitive to variable ordering The BDD size could be exponential with n Its size may explode Finding the best ordering = NP-hard Its size may unpredictably explode Some functions are known to be good, some bad Function Best case Worst case Symmetric Linear Quadratic Adder Linear Exponential Multiplier Exponential Exponential PI-SCN-2, ČVUT FIT, Petr Fišer,

14 BDD Variable Ordering Many algorithms proposed Sifting Symmetric sifting Window permutation reordering Simulated annealing Genetic algorithms PI-SCN-2, ČVUT FIT, Petr Fišer,

15 BDD Operations Reduce Apply Restrict ITE PI-SCN-2, ČVUT FIT, Petr Fišer,

16 Reduce Apply the three reduction rules obtain ROBDD PI-SCN-2, ČVUT FIT, Petr Fišer,

17 APPLY Applies an algebraic (Boolean) operation to two BDDs (AND, OR, XOR) Exploiting Shannon s expansion f op g x f op g x f op g x x x x BDDs are recursively traversed Complexity: O( f. g ) PI-SCN-2, ČVUT FIT, Petr Fišer,

18 RESTRICT Restricts a given variable (x) to a given value Just redirect edges of all nodes labeled by x Complexity: O( f ) ac + bc b = 0 b = 1 PI-SCN-2, ČVUT FIT, Petr Fišer,

19 ITE Operator If-Then-Else operator Each BDD node f = (v, g, h), g = f v h = f v f = if v then g else h Multiplexer. BDD nodes are multiplexers ite( v, g, h) v g v h PI-SCN-2, ČVUT FIT, Petr Fišer,

20 ITE Operator ITE implements any function of 2 variables Application of ITE: Let v be the top variable of f, g, h ite( ( v, ite( f ite( f f, g, h) v, h )) Recursively Complexity: O( f. g. h ), v g v, g v v, h v ), # Function By ITE fg ITE(f, g, 0) 2 fg ITE(f, g, 0) 3 f f 4 f g ITE(f, 0, g) 5 g g 6 f g ITE(f, g, g) 7 f + g ITE(f, 1, g) 8 (f + g) ITE(f, 0, g ) 9 f g ITE(f, g, g ) 10 g ITE(g, 0, 1) 11 f + g ITE(f, 1, g ) 12 f ITE(f, 0, 1) 13 f + g ITE(f, g, 1) 14 (fg) ITE(f, g, 1) PI-SCN-2, ČVUT FIT, Petr Fišer,

21 Efficient BDD Implementation Unique Table Hash table, where nodes are stored Array + collision chain (linked list) Before a node (v, g, h) is added to BDD database, it is looked up in the unique table BDD is constructed bottom up strong canonicity is maintained each ROBDD node represents a unique function PI-SCN-2, ČVUT FIT, Petr Fišer,

22 Efficient BDD Implementation Computed Table Hash table cache Nodes computed by ITE are stored there Maps (f, g, h) to ite(f, g, h) avoids repeated computation of ITE No collision chain PI-SCN-2, ČVUT FIT, Petr Fišer,

23 Efficient BDD Implementation Multi-rooted BDDs Each root represents a distinct function Subgraphs of different functions are shared Nodes in Unique table are shared Canonicity retained PI-SCN-2, ČVUT FIT, Petr Fišer,

24 Efficient BDD Implementation Complemented edges An edge has a complement bit indicating that the connected subtree is complemented (negated) Canonicity? then (1) edge must not be complemented Canonicity retained PI-SCN-2, ČVUT FIT, Petr Fišer,

25 BDDs References S. B. Akers, "Binary decision diagrams", IEEE Transactions on Computers, vol. C-27, No. 6, June 1978, pp R. E. Bryant, Graph based algorithms for Boolean function manipulation, IEEE Transactions on Computers, vol. 35, No. 8, August 1986, pp R. E. Bryant, Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams, Carnegie Mellon University Pittsburgh, PA 15213:, 1992, CMU-CS , p. 35. F. Somenzi, CUDD: Colorado University Decision Diagram Package, PI-SCN-2, ČVUT FIT, Petr Fišer,

Multilevel Logic Synthesis Algebraic Methods

Multilevel Logic Synthesis Algebraic Methods Multilevel Logic Synthesis Algebraic Methods Logic Circuits Design Seminars WS2010/2011, Lecture 6 Ing. Petr Fišer, Ph.D. Department of Digital Design Faculty of Information Technology Czech Technical

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Sungho Kang Yonsei University Outline Representing Logic Function Design Considerations for a BDD package Algorithms 2 Why BDDs BDDs are Canonical (each Boolean function has its

More information

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving III & Binary Decision Diagrams Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: Lintao Zhang Announcement Project proposals due

More information

Reduced Ordered Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams Reduced Ordered Binary Decision Diagrams Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de June 5, 2012 c JPK Switching

More information

Symbolic Model Checking with ROBDDs

Symbolic Model Checking with ROBDDs Symbolic Model Checking with ROBDDs Lecture #13 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 14, 2016 c JPK Symbolic

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Literature Some pointers: H.R. Andersen, An Introduction to Binary Decision Diagrams, Lecture notes, Department of Information Technology, IT University of Copenhagen Tools: URL:

More information

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS

COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS QUALITATIVE ANALYIS METHODS, OVERVIEW NET REDUCTION STRUCTURAL PROPERTIES COMPRESSED STATE SPACE REPRESENTATIONS - BINARY DECISION DIAGRAMS LINEAR PROGRAMMING place / transition invariants state equation

More information

QuIDD-Optimised Quantum Algorithms

QuIDD-Optimised Quantum Algorithms QuIDD-Optimised Quantum Algorithms by S K University of York Computer science 3 rd year project Supervisor: Prof Susan Stepney 03/05/2004 1 Project Objectives Investigate the QuIDD optimisation techniques

More information

Reduced Ordered Binary Decision Diagrams

Reduced Ordered Binary Decision Diagrams Reduced Ordered Binary Decision Diagrams Lecture #12 of Advanced Model Checking Joost-Pieter Katoen Lehrstuhl 2: Software Modeling & Verification E-mail: katoen@cs.rwth-aachen.de December 13, 2016 c JPK

More information

BDD Based Upon Shannon Expansion

BDD Based Upon Shannon Expansion Boolean Function Manipulation OBDD and more BDD Based Upon Shannon Expansion Notations f(x, x 2,, x n ) - n-input function, x i = or f xi=b (x,, x n ) = f(x,,x i-,b,x i+,,x n ), b= or Shannon Expansion

More information

Boolean decision diagrams and SAT-based representations

Boolean decision diagrams and SAT-based representations Boolean decision diagrams and SAT-based representations 4th July 200 So far we have seen Kripke Structures 2 Temporal logics (and their semantics over Kripke structures) 3 Model checking of these structures

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams An Introduction and Some Applications Manas Thakur PACE Lab, IIT Madras Manas Thakur (IIT Madras) BDDs 1 / 25 Motivating Example Binary decision tree for a truth table Manas Thakur

More information

Binary Decision Diagrams Boolean Functions

Binary Decision Diagrams Boolean Functions Binary Decision Diagrams Representation of Boolean Functions BDDs, OBDDs, ROBDDs Operations Model-Checking over BDDs 72 Boolean functions:b = {0,1}, f :B B B Boolean Functions Boolean expressions: t ::=

More information

Title. Citation Information Processing Letters, 112(16): Issue Date Doc URLhttp://hdl.handle.net/2115/ Type.

Title. Citation Information Processing Letters, 112(16): Issue Date Doc URLhttp://hdl.handle.net/2115/ Type. Title Counterexamples to the long-standing conjectur Author(s) Yoshinaka, Ryo; Kawahara, Jun; Denzumi, Shuhei Citation Information Processing Letters, 112(16): 636-6 Issue Date 2012-08-31 Doc URLhttp://hdl.handle.net/2115/50105

More information

Binary Decision Diagrams. Graphs. Boolean Functions

Binary Decision Diagrams. Graphs. Boolean Functions Binary Decision Diagrams Graphs Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant

More information

13th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS 13)

13th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS 13) 13th International Conference on Relational and Algebraic Methods in Computer Science (RAMiCS 13) Relation Algebras, Matrices, and Multi-Valued Decision Diagrams Francis Atampore and Dr. Michael Winter

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Binary Decision Diagrams (BDDs) are a class of graphs that can be used as data structure for compactly representing boolean functions. BDDs were introduced by R. Bryant in 1986.

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

Computational Boolean Algebra. Pingqiang Zhou ShanghaiTech University

Computational Boolean Algebra. Pingqiang Zhou ShanghaiTech University Computational Boolean Algebra Pingqiang Zhou ShanghaiTech University Announcements Written assignment #1 is out. Due: March 24 th, in class. Programming assignment #1 is out. Due: March 24 th, 11:59PM.

More information

Anand Raghunathan MSEE 348

Anand Raghunathan MSEE 348 ECE 595Z: Digital VLSI Design Automation, Spring 2012 2012 Anand Raghunathan 1 ECE 595Z Digital Systems Design Automation Module 2 (Lectures 3-5) : Advanced Boolean Algebra Lecture 5 Anand Raghunathan

More information

Reduced Ordered Binary Decision Diagram with Implied Literals: A New knowledge Compilation Approach

Reduced Ordered Binary Decision Diagram with Implied Literals: A New knowledge Compilation Approach Reduced Ordered Binary Decision Diagram with Implied Literals: A New knowledge Compilation Approach Yong Lai, Dayou Liu, Shengsheng Wang College of Computer Science and Technology Jilin University, Changchun

More information

The Separation Problem for Binary Decision Diagrams

The Separation Problem for Binary Decision Diagrams The Separation Problem for Binary Decision Diagrams J. N. Hooker Joint work with André Ciré Carnegie Mellon University ISAIM 2014 Separation Problem in Optimization Given a relaxation of an optimization

More information

Combinational Logic. By : Ali Mustafa

Combinational Logic. By : Ali Mustafa Combinational Logic By : Ali Mustafa Contents Adder Subtractor Multiplier Comparator Decoder Encoder Multiplexer How to Analyze any combinational circuit like this? Analysis Procedure To obtain the output

More information

CTL Model Checking. Wishnu Prasetya.

CTL Model Checking. Wishnu Prasetya. CTL Model Checking Wishnu Prasetya wishnu@cs.uu.nl www.cs.uu.nl/docs/vakken/pv Background Example: verification of web applications à e.g. to prove existence of a path from page A to page B. Use of CTL

More information

Model Checking for Propositions CS477 Formal Software Dev Methods

Model Checking for Propositions CS477 Formal Software Dev Methods S477 Formal Software Dev Methods Elsa L Gunter 2112 S, UIU egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul gha January

More information

Branch-and-Bound Algorithm. Pattern Recognition XI. Michal Haindl. Outline

Branch-and-Bound Algorithm. Pattern Recognition XI. Michal Haindl. Outline Branch-and-Bound Algorithm assumption - can be used if a feature selection criterion satisfies the monotonicity property monotonicity property - for nested feature sets X j related X 1 X 2... X l the criterion

More information

Counter Examples to the Conjecture on the Complexity of BDD Binary Operations

Counter Examples to the Conjecture on the Complexity of BDD Binary Operations TCS -TR-A-11-52 TCS Technical Report Counter Examples to the Conjecture on the Complexity of BDD Binary Operations by Ryo Yoshinaka, Jun Kawahara, Shuhei Denzumi, Hiroki Arimura and Shin-ichi Minato Division

More information

Basing Decisions on Sentences in Decision Diagrams

Basing Decisions on Sentences in Decision Diagrams Proceedings of the Twenty-Sixth AAAI Conference on Artificial Intelligence Basing Decisions on Sentences in Decision Diagrams Yexiang Xue Department of Computer Science Cornell University yexiang@cs.cornell.edu

More information

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing

Boolean Algebra and Digital Logic 2009, University of Colombo School of Computing IT 204 Section 3.0 Boolean Algebra and Digital Logic Boolean Algebra 2 Logic Equations to Truth Tables X = A. B + A. B + AB A B X 0 0 0 0 3 Sum of Products The OR operation performed on the products of

More information

Linear Cofactor Relationships in Boolean Functions

Linear Cofactor Relationships in Boolean Functions 1 Linear Cofactor Relationships in Boolean Functions Jin S. Zhang 1 Malgorzata Chrzanowska-Jeske 1 Alan Mishchenko 2 Jerry R. Burch 3 1 Department of ECE, Portland State University, Portland, OR 2 Department

More information

Chapter 2 Combinational Logic Circuits

Chapter 2 Combinational Logic Circuits Logic and Computer Design Fundamentals Chapter 2 Combinational Logic Circuits Part 1 Gate Circuits and Boolean Equations Charles Kime & Thomas Kaminski 2008 Pearson Education, Inc. Overview Part 1 Gate

More information

Binary decision diagrams for security protocols

Binary decision diagrams for security protocols for Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 4 czerwca 2012 roku 1 2 3 4 Infrastructure with Intruder Threat template 5 References BDD definition Definition An BDD G

More information

Decision Diagrams Derivatives

Decision Diagrams Derivatives Decson Dagrams Dervatves Logc Crcuts Desgn Semnars WS2010/2011, Lecture 3 Ing. Petr Fšer, Ph.D. Department of Dgtal Desgn Faculty of Informaton Technology Czech Techncal Unversty n Prague Evropský socální

More information

211: Computer Architecture Summer 2016

211: Computer Architecture Summer 2016 211: Computer Architecture Summer 2016 Liu Liu Topic: Storage Project3 Digital Logic - Storage: Recap - Review: cache hit rate - Project3 - Digital Logic: - truth table => SOP - simplification: Boolean

More information

KP/Worksheets: Propositional Logic, Boolean Algebra and Computer Hardware Page 1 of 8

KP/Worksheets: Propositional Logic, Boolean Algebra and Computer Hardware Page 1 of 8 KP/Worksheets: Propositional Logic, Boolean Algebra and Computer Hardware Page 1 of 8 Q1. What is a Proposition? Q2. What are Simple and Compound Propositions? Q3. What is a Connective? Q4. What are Sentential

More information

1188 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 9, SEPTEMBER 2006

1188 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 9, SEPTEMBER 2006 1188 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 9, SEPTEMBER 2006 Taylor Expansion Diagrams: A Canonical Representation for Verification of Data Flow Designs Maciej Ciesielski, Senior Member, IEEE, Priyank

More information

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30)

Computational Logic. Davide Martinenghi. Spring Free University of Bozen-Bolzano. Computational Logic Davide Martinenghi (1/30) Computational Logic Davide Martinenghi Free University of Bozen-Bolzano Spring 2010 Computational Logic Davide Martinenghi (1/30) Propositional Logic - sequent calculus To overcome the problems of natural

More information

This form sometimes used in logic circuit, example:

This form sometimes used in logic circuit, example: Objectives: 1. Deriving of logical expression form truth tables. 2. Logical expression simplification methods: a. Algebraic manipulation. b. Karnaugh map (k-map). 1. Deriving of logical expression from

More information

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive March 30, 2010 John Wawrzynek Spring 2010 EECS150 - Lec19-cl1 Page 1 Boolean Algebra I (Representations of Combinational

More information

Dynamic Programming. Reading: CLRS Chapter 15 & Section CSE 2331 Algorithms Steve Lai

Dynamic Programming. Reading: CLRS Chapter 15 & Section CSE 2331 Algorithms Steve Lai Dynamic Programming Reading: CLRS Chapter 5 & Section 25.2 CSE 233 Algorithms Steve Lai Optimization Problems Problems that can be solved by dynamic programming are typically optimization problems. Optimization

More information

Optimization Bounds from Binary Decision Diagrams

Optimization Bounds from Binary Decision Diagrams Optimization Bounds from Binary Decision Diagrams J. N. Hooker Joint work with David Bergman, André Ciré, Willem van Hoeve Carnegie Mellon University ICS 203 Binary Decision Diagrams BDDs historically

More information

Chapter 2 Biconditional Logic

Chapter 2 Biconditional Logic Chapter 2 Biconditional Logic In this chapter, we present Biconditional Binary Decision Diagrams (BBDDs), a novel canonical representation form for Boolean functions. BBDDs are binary decision diagrams

More information

DIGITAL CIRCUIT LOGIC BOOLEAN ALGEBRA (CONT.)

DIGITAL CIRCUIT LOGIC BOOLEAN ALGEBRA (CONT.) DIGITAL CIRCUIT LOGIC BOOLEAN ALGEBRA (CONT.) 1 Learning Objectives 1. Apply the laws and theorems of Boolean algebra to to the manipulation of algebraic expressions to simplifying an expression, finding

More information

Polynomial Methods for Component Matching and Verification

Polynomial Methods for Component Matching and Verification Polynomial Methods for Component Matching and Verification James Smith Stanford University Computer Systems Laboratory Stanford, CA 94305 1. Abstract Component reuse requires designers to determine whether

More information

Notation. Pattern Recognition II. Michal Haindl. Outline - PR Basic Concepts. Pattern Recognition Notions

Notation. Pattern Recognition II. Michal Haindl. Outline - PR Basic Concepts. Pattern Recognition Notions Notation S pattern space X feature vector X = [x 1,...,x l ] l = dim{x} number of features X feature space K number of classes ω i class indicator Ω = {ω 1,...,ω K } g(x) discriminant function H decision

More information

CDM. Algorithms for Propositional Logic

CDM. Algorithms for Propositional Logic CDM Algorithms for Propositional Logic Klaus Sutner Fall 2017 1 Boolean Decision Problems SAT Solvers Refutation and Resolution Binary Decision Diagrams Decision Problems 3 Recall the standard decision

More information

Generalized Haar Spectral Representations and Their Applications

Generalized Haar Spectral Representations and Their Applications Generalized Haar Spectral Representations and Their Applications Bogdan J. Falkowski Nanyang Technological University, School of Electrical and Electronic Engineering, Blk S, Nanyang Avenue, Singapore

More information

Chapter 5 Arithmetic Circuits

Chapter 5 Arithmetic Circuits Chapter 5 Arithmetic Circuits SKEE2263 Digital Systems Mun im/ismahani/izam {munim@utm.my,e-izam@utm.my,ismahani@fke.utm.my} February 11, 2016 Table of Contents 1 Iterative Designs 2 Adders 3 High-Speed

More information

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS

2009 Spring CS211 Digital Systems & Lab CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS CHAPTER 2: INTRODUCTION TO LOGIC CIRCUITS What will we learn? 2 Logic functions and circuits Boolean Algebra Logic gates and Synthesis CAD tools and VHDL Read Section 2.9 and 2.0 Terminology 3 Digital

More information

Exercises - Solutions

Exercises - Solutions Chapter 1 Exercises - Solutions Exercise 1.1. The first two definitions are equivalent, since we follow in both cases the unique path leading from v to a sink and using only a i -edges leaving x i -nodes.

More information

Building a Computer Adder

Building a Computer Adder Logic Gates are used to translate Boolean logic into circuits. In the abstract it is clear that we can build AND gates that perform the AND function and OR gates that perform the OR function and so on.

More information

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits)

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) September 5, 2002 John Wawrzynek Fall 2002 EECS150 Lec4-bool1 Page 1, 9/5 9am Outline Review of

More information

Hardware Design I Chap. 2 Basis of logical circuit, logical expression, and logical function

Hardware Design I Chap. 2 Basis of logical circuit, logical expression, and logical function Hardware Design I Chap. 2 Basis of logical circuit, logical expression, and logical function E-mail: shimada@is.naist.jp Outline Combinational logical circuit Logic gate (logic element) Definition of combinational

More information

Outline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined

Outline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) January 30, 2003 John Wawrzynek Outline Review of three representations for combinational logic:

More information

Number System. Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary

Number System. Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary Number System Decimal to binary Binary to Decimal Binary to octal Binary to hexadecimal Hexadecimal to binary Octal to binary BOOLEAN ALGEBRA BOOLEAN LOGIC OPERATIONS Logical AND Logical OR Logical COMPLEMENTATION

More information

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT

1 Algebraic Methods. 1.1 Gröbner Bases Applied to SAT 1 Algebraic Methods In an algebraic system Boolean constraints are expressed as a system of algebraic equations or inequalities which has a solution if and only if the constraints are satisfiable. Equations

More information

MI-RUB Testing Lecture 10

MI-RUB Testing Lecture 10 MI-RUB Testing Lecture 10 Pavel Strnad pavel.strnad@fel.cvut.cz Dept. of Computer Science, FEE CTU Prague, Karlovo nám. 13, 121 35 Praha, Czech Republic MI-RUB, WS 2011/12 Evropský sociální fond Praha

More information

Combinational Equivalence Checking using Boolean Satisfiability and Binary Decision Diagrams

Combinational Equivalence Checking using Boolean Satisfiability and Binary Decision Diagrams Combinational Equivalence Checking using Boolean Satisfiability and Binary Decision Diagrams Sherief Reda Ashraf Salem Computer & Systems Eng. Dept. Mentor Graphics Egypt Ain Shams University Cairo, Egypt

More information

CS357: CTL Model Checking (two lectures worth) David Dill

CS357: CTL Model Checking (two lectures worth) David Dill CS357: CTL Model Checking (two lectures worth) David Dill 1 CTL CTL = Computation Tree Logic It is a propositional temporal logic temporal logic extended to properties of events over time. CTL is a branching

More information

Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs

Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs Raimund Ubar, Lembit Jürimägi (&), Elmet Orasson, and Jaan Raik Department of Computer Engineering,

More information

A brief introduction to Logic. (slides from

A brief introduction to Logic. (slides from A brief introduction to Logic (slides from http://www.decision-procedures.org/) 1 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity

More information

NonlinearOptimization

NonlinearOptimization 1/35 NonlinearOptimization Pavel Kordík Department of Computer Systems Faculty of Information Technology Czech Technical University in Prague Jiří Kašpar, Pavel Tvrdík, 2011 Unconstrained nonlinear optimization,

More information

CS226 Mid-Semester Examination (Spring 2016)

CS226 Mid-Semester Examination (Spring 2016) CS226 Mid-Semester Examination (Spring 2016) Max marks: 60 Time: 120 mins The exam is open book and notes brought to the exam hall. Be brief, complete and stick to what has been asked. Unless asked for

More information

EGFC: AN EXACT GLOBAL FAULT COLLAPSING TOOL FOR COMBINATIONAL CIRCUITS

EGFC: AN EXACT GLOBAL FAULT COLLAPSING TOOL FOR COMBINATIONAL CIRCUITS EGFC: AN EXACT GLOBAL FAULT COLLAPSING TOOL FOR COMBINATIONAL CIRCUITS Hussain Al-Asaad Department of Electrical & Computer Engineering University of California One Shields Avenue, Davis, CA 95616-5294

More information

CMSC 313 Lecture 17. Focus Groups. Announcement: in-class lab Thu 10/30 Homework 3 Questions Circuits for Addition Midterm Exam returned

CMSC 313 Lecture 17. Focus Groups. Announcement: in-class lab Thu 10/30 Homework 3 Questions Circuits for Addition Midterm Exam returned Focus Groups CMSC 33 Lecture 7 Need good sample of all types of CS students Mon /7 & Thu /2, 2:3p-2:p & 6:p-7:3p Announcement: in-class lab Thu /3 Homework 3 Questions Circuits for Addition Midterm Exam

More information

Binary Decision Diagrams

Binary Decision Diagrams Binary Decision Diagrams Beate Bollig, Martin Sauerhoff, Detlef Sieling, and Ingo Wegener FB Informatik, LS2, Univ. Dortmund, 44221 Dortmund, Germany lastname@ls2.cs.uni-dortmund.de Abstract Decision diagrams

More information

Chapter 4. Combinational: Circuits with logic gates whose outputs depend on the present combination of the inputs. elements. Dr.

Chapter 4. Combinational: Circuits with logic gates whose outputs depend on the present combination of the inputs. elements. Dr. Chapter 4 Dr. Panos Nasiopoulos Combinational: Circuits with logic gates whose outputs depend on the present combination of the inputs. Sequential: In addition, they include storage elements Combinational

More information

Section 4.1 Switching Algebra Symmetric Functions

Section 4.1 Switching Algebra Symmetric Functions Section 4.1 Switching Algebra Symmetric Functions Alfredo Benso Politecnico di Torino, Italy Alfredo.benso@polito.it Symmetric Functions A function in which each input variable plays the same role in determining

More information

Systems I: Computer Organization and Architecture

Systems I: Computer Organization and Architecture Systems I: Computer Organization and Architecture Lecture 6 - Combinational Logic Introduction A combinational circuit consists of input variables, logic gates, and output variables. The logic gates accept

More information

MI-RUB Exceptions Lecture 7

MI-RUB Exceptions Lecture 7 MI-RUB Exceptions Lecture 7 Pavel Strnad pavel.strnad@fel.cvut.cz Dept. of Computer Science, FEE CTU Prague, Karlovo nám. 13, 121 35 Praha, Czech Republic MI-RUB, WS 2011/12 Evropský sociální fond Praha

More information

EEE130 Digital Electronics I Lecture #4

EEE130 Digital Electronics I Lecture #4 EEE130 Digital Electronics I Lecture #4 - Boolean Algebra and Logic Simplification - By Dr. Shahrel A. Suandi Topics to be discussed 4-1 Boolean Operations and Expressions 4-2 Laws and Rules of Boolean

More information

Binary Decision Diagrams

Binary Decision Diagrams Binar Decision Diagrams Ma 3, 2004 1 Overview Boolean functions Possible representations Binar decision trees Binar decision diagrams Ordered binar decision diagrams Reduced ordered binar decision diagrams

More information

Adders, subtractors comparators, multipliers and other ALU elements

Adders, subtractors comparators, multipliers and other ALU elements CSE4: Components and Design Techniques for Digital Systems Adders, subtractors comparators, multipliers and other ALU elements Adders 2 Circuit Delay Transistors have instrinsic resistance and capacitance

More information

Representations of All Solutions of Boolean Programming Problems

Representations of All Solutions of Boolean Programming Problems Representations of All Solutions of Boolean Programming Problems Utz-Uwe Haus and Carla Michini Institute for Operations Research Department of Mathematics ETH Zurich Rämistr. 101, 8092 Zürich, Switzerland

More information

IST 4 Information and Logic

IST 4 Information and Logic IST 4 Information and Logic T = today x= hw#x out x= hw#x due mon tue wed thr fri 31 M1 1 7 oh M1 14 oh 1 oh 2M2 21 oh oh 2 oh Mx= MQx out 28 oh M2 oh oh = office hours 5 3 12 oh 3 4 oh oh T midterms oh

More information

T02 Tutorial Slides for Week 6

T02 Tutorial Slides for Week 6 T02 Tutorial Slides for Week 6 ENEL 353: Digital Circuits Fall 2017 Term Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary 17 October, 2017

More information

Boolean Algebra, Gates and Circuits

Boolean Algebra, Gates and Circuits Boolean Algebra, Gates and Circuits Kasper Brink November 21, 2017 (Images taken from Tanenbaum, Structured Computer Organization, Fifth Edition, (c) 2006 Pearson Education, Inc.) Outline Last week: Von

More information

MANY PROPERTIES of a Boolean function can be

MANY PROPERTIES of a Boolean function can be IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 25, NO. 6, JUNE 2006 1011 Linear Cofactor Relationships in Boolean Functions Jin S. Zhang, Member, IEEE, Malgorzata Chrzanowska-Jeske,

More information

Dynamic Programming. Reading: CLRS Chapter 15 & Section CSE 6331: Algorithms Steve Lai

Dynamic Programming. Reading: CLRS Chapter 15 & Section CSE 6331: Algorithms Steve Lai Dynamic Programming Reading: CLRS Chapter 5 & Section 25.2 CSE 633: Algorithms Steve Lai Optimization Problems Problems that can be solved by dynamic programming are typically optimization problems. Optimization

More information

CHAPTER1: Digital Logic Circuits Combination Circuits

CHAPTER1: Digital Logic Circuits Combination Circuits CS224: Computer Organization S.KHABET CHAPTER1: Digital Logic Circuits Combination Circuits 1 PRIMITIVE LOGIC GATES Each of our basic operations can be implemented in hardware using a primitive logic gate.

More information

Multi-Terminal Multi-Valued Decision Diagrams for Characteristic Function Representing Cluster Decomposition

Multi-Terminal Multi-Valued Decision Diagrams for Characteristic Function Representing Cluster Decomposition 22 IEEE 42nd International Symposium on Multiple-Valued Logic Multi-Terminal Multi-Valued Decision Diagrams for Characteristic Function Representing Cluster Decomposition Hiroki Nakahara, Tsutomu Sasao,

More information

The Complexity of Minimizing FBDDs

The Complexity of Minimizing FBDDs The Complexity of Minimizing FBDDs Detlef Sieling 1 FB Informatik, LS II, Univ. Dortmund 44221 Dortmund, Fed. Rep. of Germany sieling@ls2.cs.uni-dortmund.de Abstract Free Binary Decision Diagrams (FBDDs)

More information

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?

Overview. Discrete Event Systems Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for? Computer Engineering and Networks Overview Discrete Event Systems Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two circuits

More information

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits

EE40 Lec 15. Logic Synthesis and Sequential Logic Circuits EE40 Lec 15 Logic Synthesis and Sequential Logic Circuits Prof. Nathan Cheung 10/20/2009 Reading: Hambley Chapters 7.4-7.6 Karnaugh Maps: Read following before reading textbook http://www.facstaff.bucknell.edu/mastascu/elessonshtml/logic/logic3.html

More information

On the Sizes of Decision Diagrams Representing the Set of All Parse Trees of a Context-free Grammar

On the Sizes of Decision Diagrams Representing the Set of All Parse Trees of a Context-free Grammar Proceedings of Machine Learning Research vol 73:153-164, 2017 AMBN 2017 On the Sizes of Decision Diagrams Representing the Set of All Parse Trees of a Context-free Grammar Kei Amii Kyoto University Kyoto

More information

CprE 281: Digital Logic

CprE 281: Digital Logic CprE 28: Digital Logic Instructor: Alexander Stoytchev http://www.ece.iastate.edu/~alexs/classes/ Decoders and Encoders CprE 28: Digital Logic Iowa State University, Ames, IA Copyright Alexander Stoytchev

More information

2 Application of Boolean Algebra Theorems (15 Points - graded for completion only)

2 Application of Boolean Algebra Theorems (15 Points - graded for completion only) CSE140 HW1 Solution (100 Points) 1 Introduction The purpose of this assignment is three-fold. First, it aims to help you practice the application of Boolean Algebra theorems to transform and reduce Boolean

More information

Set Theory. Pattern Recognition III. Michal Haindl. Set Operations. Outline

Set Theory. Pattern Recognition III. Michal Haindl. Set Operations. Outline Set Theory A, B sets e.g. A = {ζ 1,...,ζ n } A = { c x y d} S space (universe) A,B S Outline Pattern Recognition III Michal Haindl Faculty of Information Technology, KTI Czech Technical University in Prague

More information

REMARKS ON THE NUMBER OF LOGIC NETWORKS WITH SAME COMPLEXITY DERIVED FROM SPECTRAL TRANSFORM DECISION DIAGRAMS

REMARKS ON THE NUMBER OF LOGIC NETWORKS WITH SAME COMPLEXITY DERIVED FROM SPECTRAL TRANSFORM DECISION DIAGRAMS REMARKS ON THE NUMBER OF LOGIC NETORKS ITH SAME COMPLEXITY DERIVED FROM SPECTRAL TRANSFORM DECISION DIAGRAMS Radomir S. Stanković Mark G. Karpovsky 1 Dept. of Computer Science, Faculty of Electronics,

More information

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver

A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver A Logically Complete Reasoning Maintenance System Based on a Logical Constraint Solver J.C. Madre and O. Coudert Bull Corporate Research Center Rue Jean Jaurès 78340 Les Clayes-sous-bois FRANCE Abstract

More information

Equivalence Checking of Sequential Circuits

Equivalence Checking of Sequential Circuits Equivalence Checking of Sequential Circuits Sanjit Seshia EECS UC Berkeley With thanks to K. Keutzer, R. Rutenbar 1 Today s Lecture What we know: How to check two combinational circuits for equivalence

More information

CS 226: Digital Logic Design

CS 226: Digital Logic Design CS 226: Digital Logic Design 0 1 1 I S 0 1 0 S Department of Computer Science and Engineering, Indian Institute of Technology Bombay. 1 of 29 Objectives In this lecture we will introduce: 1. Logic functions

More information

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST Discrete Mathematics CS204: Spring, 2008 Jong C. Park Computer Science Department KAIST Today s Topics Combinatorial Circuits Properties of Combinatorial Circuits Boolean Algebras Boolean Functions and

More information

Propositional Calculus: Formula Simplification, Essential Laws, Normal Forms

Propositional Calculus: Formula Simplification, Essential Laws, Normal Forms P Formula Simplification, Essential Laws, Normal Forms Lila Kari University of Waterloo P Formula Simplification, Essential Laws, Normal CS245, Forms Logic and Computation 1 / 26 Propositional calculus

More information

Lecturecise 22 Weak monadic second-order theory of one successor (WS1S)

Lecturecise 22 Weak monadic second-order theory of one successor (WS1S) Lecturecise 22 Weak monadic second-order theory of one successor (WS1S) 2013 Reachability in the Heap Many programs manipulate linked data structures (lists, trees). To express many important properties

More information

Lecture 22 Chapters 3 Logic Circuits Part 1

Lecture 22 Chapters 3 Logic Circuits Part 1 Lecture 22 Chapters 3 Logic Circuits Part 1 LC-3 Data Path Revisited How are the components Seen here implemented? 5-2 Computing Layers Problems Algorithms Language Instruction Set Architecture Microarchitecture

More information

UNIVERSITI TENAGA NASIONAL. College of Information Technology

UNIVERSITI TENAGA NASIONAL. College of Information Technology UNIVERSITI TENAGA NASIONAL College of Information Technology BACHELOR OF COMPUTER SCIENCE (HONS.) FINAL EXAMINATION SEMESTER 2 2012/2013 DIGITAL SYSTEMS DESIGN (CSNB163) January 2013 Time allowed: 3 hours

More information

CS1800 Discrete Structures Final Version A

CS1800 Discrete Structures Final Version A CS1800 Discrete Structures Fall 2017 Profs. Aslam, Gold, & Pavlu December 11, 2017 CS1800 Discrete Structures Final Version A Instructions: 1. The exam is closed book and closed notes. You may not use

More information

Gate-Level Simulation of Quantum Circuits

Gate-Level Simulation of Quantum Circuits Gate-Level Simulation of Quantum ircuits George F. Viamontes, Manoj Rajagopalan, gor L. Markov and John P. ayes The University of Michigan, Advanced omputer Architecture Laboratory Ann Arbor, M 489-, USA

More information

CS61c: Representations of Combinational Logic Circuits

CS61c: Representations of Combinational Logic Circuits CS61c: Representations of Combinational Logic Circuits J. Wawrzynek March 5, 2003 1 Introduction Recall that synchronous systems are composed of two basic types of circuits, combination logic circuits,

More information