Computing and Using the Joint ROBDD

Slides:



Advertisements
Similar presentations
Boolean Algebra and Logic Gates
Advertisements

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
TOPIC : Reduced Ordered Binary Decision Diagrams UNIT 1: Modeling Digital Circuits Module 1 : Functional Modeling.
Operations on Complementary Edge Binary Decision Diagrams EE 552 Instructor: Dr. James Ellison Kenny Liu July 22 nd, 2003.
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.
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.
6/11/2015A Fault-Independent etc…1 A Fault-Independent Transitive Closure Algorithm for Redundancy Identification Vishal J. Mehta Kunal K. Dave Vishwani.
Lecture 2 Dr Richard Reilly Dept. of Electronic & Electrical Engineering Room 153, Engineering Building To insert your company logo on this slide From.
Boolean Functions and their Representations
Rolf Drechlser’s slides used
Taylor Expansion Diagrams (TED): Verification EC667: Synthesis and Verification of Digital Systems Spring 2011 Presented by: Sudhan.
ECE Synthesis & Verification - Lecture 10 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Binary.
 2001 CiesielskiBDD Tutorial1 Decision Diagrams Maciej Ciesielski Electrical & Computer Engineering University of Massachusetts, Amherst, USA
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
Algorithms. Introduction Before writing a program: –Have a thorough understanding of the problem –Carefully plan an approach for solving it While writing.
Logic Gates Circuits to manipulate 0’s and 1’s. 0’s and 1’s used for numbers Also to make decisions within the computer. In that context, 1 corresponds.
Boolean Algebra Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2009.
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
Binary Decision Diagrams (BDDs)
TODAY YOU ARE LEARNING to explain why data is represented in computer systems in binary form 2. to understand and produce simple logic diagrams.
November,2000University of Southern California1 Introduction to Binary Decision Diagrams - Shesha Shayee K. Raghunathan.
1 Boolean Algebra & Logic Gates. 2 Objectives Understand the relationship between Boolean logic and digital computer circuits. Learn how to design simple.
Logic Gates Shashidhara H S Dept. of ISE MSRIT. Basic Logic Design and Boolean Algebra GATES = basic digital building blocks which correspond to and perform.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Algorithms & FlowchartsLecture 10. Algorithm’s CONCEPT.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Functional Modeling.
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.
Gateway Quiz Reminders: The next Gateway will be given in class next week (check your course calendar.) Before then, each student who did not score 8/8.
Boolean Algebra. BOOLEAN ALGEBRA Formal logic: In formal logic, a statement (proposition) is a declarative sentence that is either true(1) or false (0).
CS 101 – Oct. 7 Solving simple problems: create algorithm Structure of solution –Sequence of steps (1,2,3….) –Sometimes we need to make a choice –Sometimes.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
NAND, NOR, and EXOR (more primitive logical gates) CS Computer Architecture David Mayer.
LOGIC CIRCUITLOGIC CIRCUIT. Goal To understand how digital a computer can work, at the lowest level. To understand what is possible and the limitations.
Programmable Logic Controller
Dr. ClincyLecture Slide 1 CS6020- Chapter 3 (3A and ) Dr. Clincy Professor of CS First Exam - Tuesday, September 6th Coverage: All subjects up to.
Boolean Algebra & Logic Gates
Basics of Logic gates - Part 2
Component 1 Logical operators.
Computer Science 210 Computer Organization
Boolean Algebra.
Salman Bin Abdulaziz University
7/14/16 CTC-RI IBH Pilot Quarterly Meeting
Digital Logic.
Gateway Quiz Reminders:
Component 1 – 2A, B, C Binary Logic
Computer Architecture CST 250
University of Gujrat Department of Computer Science
Unit 18: Computational Thinking
Boolean Algebra & Logic Circuits
Chapter 9 Structuring System Requirements: Logic Modeling
Binary Decision Diagrams
Fundamentals of Computer Systems
Today You are Learning simple logic diagrams using the operations AND, OR and NOT truth tables combining Boolean operators using AND, OR and NOT.
Dr. Clincy Professor of CS
Theory of Computability
Chapter 9 Structuring System Requirements: Logic Modeling
Example: Verification
Introductory Concepts
Copyright © Cengage Learning. All rights reserved.
Overview Functional Testing Boundary Value Testing (BVT)
Boolean Algebra for CAD Applications
Chapter 3 – Describing Logic Circuits
Binary Logic and Gates COE 202 Digital Logic Design Dr. Aiman El-Maleh
Theory of Computability
Learning Combinational Logic
ADDITIONAL ANALYSIS TECHNIQUES
Real-Time Systems, COSC , Lecture 18
Presentation transcript:

Computing and Using the Joint ROBDD By: Stuti Shukla University Of Southern California July 2001

Introducing the Joint ROBDD This is a graph algorithm that implements symbolic operations on Boolean functions. This enables implementation of a complex manipulation through a series of simpler manipulations, with the restriction that the OBDDs that the algorithm operates on obey the same ordering.

The Joint ROBDD Algorithm The Joint ROBDD Algorithm generates Boolean functions obtained through algebraic operations to other functions. Thus the input to the Joint ROBDD Algorithm would be two or more Boolean functions. In this presentation, we work with two Boolean functions, f and g The output of the Joint ROBDD Algorithm, then, is the joint ROBDD for f*g, where * represents an unspecified binary Boolean operator. This operator can be “AND”, “OR”, “XOR”, or any other two-input operation

Applying the Algorithm The best way to understand the algorithm is to actually apply it. We start off with a simple three variable example in order to demonstrate the concept

Applying the Algorithm The two functions that need to be operated upon are: f = ab’ + bc a < b < c g = a’ + ab’c We need to find: f * g Where * is the operator * could be AND, OR, exor, or any other two-input operator. We will first solve this in complete generality for any operator and later plug in the operator.

Building the joint ROBDD for f*g b’+bc – a cofactor of f b’c – a cofactor of g bc – a’ cofactor of f 1 – a’ cofactor of g f*g a (bc)*1 (b’+bc)*(b’c) 1 – ab’ cofactor of f c – ab’ cofactor of g b b c – ab cofactor of f 0 – ab cofactor of g c – a’b cofactor of f 1 – a’b cofactor of g c*0 c*1 1*c c c c 0*1 1*1 0*1 1*1 0*0 0*1 Final leaves – These are 0 or 1, depending on the operator *

Analyzing the joint OBDD for possible reductions f*g a (bc)*1 (b’+bc) * (b’c) Both c nodes make same decisions. Combine them b b c*0 c*1 1*c c c c Combine redundant leaves of the nodes 0*1 1*1 0*1 1*1 0*0 0*1

The joint ROBDD after applying the reduction operations f*g a (b’+bc) * (b’c) (bc)*1 b c*1 b 1*c dfs c c 0*0 0*1 1*1

ROBDD For AND Operation f.g Node c not making any decision Remove it a b b c dfs c 1

Final ROBDD after applying possible reductions f.g a b b dfs c 1

ROBDD For OR Operation 1 f+g a b b c c On removing node c, a’b and a’b’ cofactors both lead to node 1. So b is no longer making any decision. Remove it f+g a Node c not making decision Remove it b b dfs c c 1

ROBDD For OR Operation after applying the reductions f+g a b c dfs 1

ROBDD For EXOR Operation f exor g a b b c dfs c 1

Summarizing the Joint ROBDD Algorithm Thus in a nutshell we do the following: Take cofactors of the variables involved in the Boolean functions to build the generic ROBDD. Since we are building the generic ROBDD for f*g, we take the cofactors for f and the corresponding cofactors for g, then simply insert the operation, *, between the two cofactors obtained

Summarizing the Joint ROBDD Algorithm We continue this process until we thus obtain a generic OBDD for the function f*g Next, we reduce this generic OBDD to an ROBDD using the usual reduction rules We use the resulting generic ROBDD for f*g to obtain a partially reduced OBDD for any specific two-input function by calculating the value of each leaf We complete the reduction of partially reduced OBDD to obtain the ROBDD for specific function

Acknowledgement I would like to thank Professor Ellison for the guidelines he provided during the course of this presentation. His inputs and feedback helped me a lot in refining this presentation. I would also like to thank our TA Kun Young (Ken) Chung for his detailed explanation of the Apply algorithm, from which our example was taken.

References Randall Bryant’s paper: “Symbolic Boolean Manipulation with Ordered Binary Decision Diagrams” Explanation given in class for the Apply Algorithm The example is one taken from the Discussion session

Statement of Honor I solemnly declare that I and I alone worked on this PowerPoint presentation, entitled “The Apply Algorithm”. I have received no help from any one else and was the only one to prepare this extra credit project.