Rolf Drechlser’s slides used

Slides:



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

Representing Boolean Functions for Symbolic Model Checking Supratik Chakraborty IIT Bombay.
BDDs & Theorem Proving Binary Decision Diagrams Dr. Eng. Amr T. Abdel-Hamid NETW 703 Winter 2012 Network Protocols Lectures are based on slides by: K.
CSEE 4823 Advanced Logic Design Handout: Lecture #2 1/22/15
TOPIC : Reduced Ordered Binary Decision Diagrams UNIT 1: Modeling Digital Circuits Module 1 : Functional Modeling.
CS357 Lecture: BDD basics David Dill 1. 2 BDDs (Boolean/binary decision diagrams) BDDs are a very successful representation for Boolean functions. A BDD.
IT University of Copenhagen Lecture 7: BDD Construction and Manipulation 1. BDD construction 2. Boolean operations on BDDs 3. BDD-Based configuration.
1 Don´t Care Minimization of *BMDs: Complexity and Algorithms Christoph Scholl Marc Herbstritt Bernd Becker Institute of Computer Science Albert-Ludwigs-University.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Introduction Combining two frameworks
Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits using Binary Moment Diagrams” by.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
© 2011 Carnegie Mellon University Binary Decision Diagrams Part Bug Catching: Automated Program Verification and Testing Sagar Chaki September.
ECE 667 Synthesis & Verification - Boolean Functions 1 ECE 667 Spring 2013 ECE 667 Spring 2013 Synthesis and Verification of Digital Circuits Boolean Functions.
Binary Decision Diagrams. ROBDDs Slide 2 Example Directed acyclic graph non-terminal node terminal node What function is represented by the graph?
ECE 667 Synthesis and Verification of Digital Systems
Spring 07, Feb 13 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Binary Decision Diagrams Vishwani D. Agrawal James.
DATE-2002TED1 Taylor Expansion Diagrams: A Compact Canonical Representation for Symbolic Verification M. Ciesielski, P. Kalla, Z. Zeng B. Rouzeyre Electrical.
ECE Synthesis & Verification - Lecture 18 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Word-level.
Boolean Functions and their Representations
A New Approach to Structural Analysis and Transformation of Networks Alan Mishchenko November 29, 1999.
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 16, 2003.
1 FRAIGs: Functionally Reduced And-Inverter Graphs Adapted from the paper “FRAIGs: A Unifying Representation for Logic Synthesis and Verification”, by.
ECE Synthesis & Verification - Lecture 14 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems BDD-based.
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
Logic Synthesis 3 1 Logic Synthesis Part III Maciej Ciesielski Univ. of Massachusetts Amherst, MA.
ECE 667 Synthesis & Verification - BDD 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Binary Decision Diagrams (BDD)
ENGG3190 Logic Synthesis “Binary Decision Diagrams” BDDs Winter 2014 S. Areibi School of Engineering University of Guelph.
 2000 M. CiesielskiPTL Synthesis1 Synthesis for Pass Transistor Logic Maciej Ciesielski Dept. of Electrical & Computer Engineering University of Massachusetts,
ECE 667 Synthesis and Verification of Digital Systems
IT University of Copenhagen Lecture 8: Binary Decision Diagrams 1. Classical Boolean expression representations 2. If-then-else Normal Form (INF) 3. Binary.
By Tariq Bashir Ahmad Taylor Expansion Diagrams (TED) Adapted from the paper M. Ciesielski, P. Kalla, Z. Zeng, B. Rouzeyre,”Taylor Expansion Diagrams:
Logic Decomposition ECE1769 Jianwen Zhu (Courtesy Dennis Wu)
Digitaalsüsteemide verifitseerimise kursus1 Formal verification: BDD BDDs applied in equivalence checking.
B. Alizadeh Advanced Logic Design (2008) 1 / 55 Decision Diagrams.
Identifying Reversible Functions From an ROBDD Adam MacDonald.
Truth Table-Based Testing Generating test cases when the test model is a truth table Reading: Binder Chapter 6.
Binary Decision Diagrams (BDDs)
November,2000University of Southern California1 Introduction to Binary Decision Diagrams - Shesha Shayee K. Raghunathan.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
CS 267: Automated Verification Lecture 6: Binary Decision Diagrams Instructor: Tevfik Bultan.
Two Level and Multi level Minimization
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View BDDs.
Binary-Decision-Diagram (BDD) Application on Pass-Transistor Logic Design Tao Lin School of EECS, Ohio University March 12, 1998.
Binary decision diagrams (BDD’s) Compact representation of a logic function ROBDD’s (reduced ordered BDD’s) are a canonical representation: equivalence.
1 Class Presentation on Binary Moment Diagrams by Krishna Chillara Base Paper: “Verification of Arithmetic Circuits with Binary Moment Diagrams” by Randal.
BDDs1 Binary Tree Representation The recursive Shannon expansion corresponds to a binary tree Example: Each path from the root to a leaf corresponds to.
Boolean Functions 1 ECE 667 ECE 667 Synthesis and Verification of Digital Circuits Boolean Functions Basics Maciej Ciesielski Univ.
Binary Decision Diagrams Prof. Shobha Vasudevan ECE, UIUC ECE 462.
IT 60101: Lecture #121 Foundation of Computing Systems Lecture 13 Trees: Part VIII.
Heuristic Minimization of Two-Level Logic
PROBABILISTIC AND LOGIC APPROACHES TO MACHINE LEARNING AND DATA MINING
Delay Optimization using SOP Balancing
ECE 667 Synthesis and Verification of Digital Systems
Binary Decision Diagrams
Binary Decision Diagrams
Formal Methods in software development
ECE 667 Synthesis and Verification of Digital Systems
Binary Decision Diagrams
Formal Methods in software development
A logic function f in n inputs x1, x2, ...xn and
Technology Mapping I based on tree covering
Introduction to BDDs.
A logic function f in n inputs x1, x2, ...xn and
Boolean Algebra for CAD Applications
10 Design Verification and Test
Presentation transcript:

Rolf Drechlser’s slides used Davio Gates and Kronecker Decision Diagrams Lecture 5 Rolf Drechlser’s slides used

Absolutely Minimum Background on Binary Decision Diagrams (BDD) and Kronecker Functional Decision Diagrams BDDs are based on recursive Shannon expansion F = x Fx + x’ Fx’ Compact data structure for Boolean logic can represents sets of objects (states) encoded as Boolean functions Canonical representation reduced ordered BDDs (ROBDD) are canonical essential for simulation, analysis, synthesis and verification

BDD Construction Typically done using APPLY operator Reduction rules remove duplicate terminals merge duplicate nodes (isomorphic subgraphs) remove redundant nodes Redundant nodes: nodes with identical children a b f 1 b c

BDD Construction – your first BDD Construction of a Reduced Ordered BDD 1 edge 0 edge f = ac + bc 1 a b c f a b c f 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 Truth table Decision tree

BDD Construction – cont’d 1 a b c f f 1 a b c f = (a+b)c 1 a b c 1. Remove duplicate terminals 2. Merge duplicate nodes 3. Remove redundant nodes

Decomposition types Decomposition types are associated to the variables in Xn with the help of a decomposition type list (DTL) d:=(d1,…,dn) where di { S, pD, nD}

KFDD Definition

Three different reductions types Type I : Each node in a DD is a candidate for the application g f g f xi xi xi

Three different reductions types (cont’d) xi xj xj g f g f

Three different reductions types (cont’d) Type D xi This is used in functional diagrams such as KFDDs xj xj f f g g

Example for OKFDD 1 x1 F=

Example for OKFDD (cont’d) This diagram below explains the expansions from previous slide X1 S-node X2 pD-node X3 nD-node

Example for OKFDD’s with different DTL’s You can save a lot of nodes by a good DTL

Complement Edges They can be applied for S-nodes They can be applied for D-nodes This is a powerful idea in more advanced diagrams – any operator on representation

Such recursive operations are a base of diagram creation and operation XOR-operation D-node S-node Such recursive operations are a base of diagram creation and operation

Such recursive operations are a base of diagram creation and operation

Restriction of Variables for S nodes is trivial Xi=0 Xi=1 xi S-node g f f g Cofactor for Xi=1 Cofactor for Xi=0

Restriction of Variables for D nodes is more complex, requires XORing Xi=1 Xi=0 xi pD-node g f f Please remember this

Restriction of Variables (cond’t) Xi=1 Xi=0 xi nD-node g f f

Optimization of OKFDD-Size Exchange of Neighboring Variables DTL Sifting

Experimental Results

Experimental Results (cont’d)

DIY PROBLEM Use simulated annealing algorithm for choice of a better variable ordering of the OKFDD

End of Lecture 5 Simple solution Solution space Neighborhood structure X1 X2 X3 X4 X3 X4 X1 X2 A solution A solution Neighborhood structure X1 X2 X3 X4 X1 X3 X2 X4 change End of Lecture 5