Binary Decision Diagram with Minimum Expected Path Length
|
|
- Stephanie McBride
- 6 years ago
- Views:
Transcription
1 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 Science and Information Engineering, Fu Jen Catholic University, Taipei, Taiwan Abstract We present methods to generate a Binary Decision Diagram (BDD) with minimum expected A BDD is a generic data structure which is widely used in several fields. One important application is the representation of Boolean functions. A BDD representation enables us to evaluate a Boolean function: Simply traverse the BDD from the root to the terminal and retrieve the value in the terminal. For a BDD with minimum expected path length will be also minimized the evaluation time for the corresponding Boolean function. Three efficient algorithms for constructing BDDs with minimum expected path length are proposed. 1. Introduction Binary Decision Diagram (BDD) was introduced in 1978 [1] as an effective way to represent Boolean functions that leads to efficient manipulation [2] and implementation [3]. Given a random input pattern, we can traverse the BDD to determine the outputing. There are previous works on minimizing the number of s in a BDD [4] [5] [6]. However, the number of s is not directly related to the evaluation time for a Boolean function. Rather, the evaluation time is directly related to the total expected path length of a BDD. In a logic circuit, the probabilities of occurance of the input variables are different. It follows that the evaluation time for different input combinations are also different. Consequently, a BDD with minimum expected path length will also have minimum evaluation time. To obtain a BDD with minimum expected path length, we need to develop (1) methods for computing the expected path length of a BDD (2) heuristics for ordering the variables in a BDD to minimize the expected This paper is organized as follows. Besides Section 1 being an introduction, we will discuss basic concept of BDDs in Section 2. In Section 3, we will propose three methods to compute the expected path length of an ROBDD. Section 4 deals with heuristics to determine variable ordering so that the resultant ROBDD will have minimum expected Finally, experiment results will be presented. 2. Preliminary 2.1. ROBDD A BDD is a directed, acyclic graph which consists of s and edges. There are two types of s, terminal and non-terminal. A terminal is a Boolean value or, and a non-terminal is an input Boolean variable. Each non-terminal contains two outgoing edges pointing to other s, which is referred to as the parent of these s. For convenience, we distinguish the two edges as then-edge and else-edge. A which is connected from a then-edge is the then-child of its parent- and from an else-edge the else-child. A Reduced Ordered BDD (ROBDD) [2] is a BDD with a chosen variable ordering in all paths from the root to the terminal s and possesses the following properties: (1) if both the then-child and else-child of a non-terminal are identical, the non-terminal will be removed from the path, and (2) if there are two or more identical subtrees, only one will be retained and all parent-s which have the same subtree will share one subtree as their children. The formula representation of an ROBDD is if parent then then-child else else-child, which is called an ITE operator (IF-THEN-ELSE). By using the ITE operator, Boolean operations can be easily performed on ROBDDs. Figure 1 gives an ROBDD for the function with the input variable ordering. Note that for the same function, different ordering of input variables will result in different ROBDDs Expected Path Length of ROBDD Since the evaluation time of a ROBDD is directly related to the path length of ROBDD, we want to shorten the path lengths with high probability, i.e., to minimize the expected path length of the ROBDD. It is necessary that we be able to compute a expected path length of a given ROBDD. To begin with, we define the expected length of the th path in ROBDD as, where is the probability of the th path and is the path length of the th path. The total Expected Path Length (EPL) of a ROBDD rooted at is defined as (1) /2001/$ IEEE
2 F A B BEPL (a) a C 1- P a P a 0 1 BEPL (a ) 0 a 0 a 1 BEPL (a 1) Figure 1. An ROBDD example. where is the number of paths of the ROBDD. Following this formula, to calculate the expected path length will need directly enumerate all paths. This approach is impractical because the number of paths may grows exponentially. In the following section, we will propose three efficient methods to calculate expected length: bottom-up method, topdown method, and middle-way method. 3. Three Methods for Computing EPL Since it is impractical to enumerate all paths in a ROBDD. We present three efficient methods in this section for computing the EPL of a ROBDD. They are bottom-up method, top-down method, and middle-way method. The first and second methods need to be executed only once over all s. After initializing, the third method will be activated to improve the performace of our algorithm Bottom-up Method Bottom-up method is formulated by which the expected path length can be calculated from terminal s up to root. Since at each non-terminal, the expected path lengths of its two child-s are already computed, we can compute the expected path length of the non-terminal based on the expected path lengths for its child-s. Before we proceed to develop the formula, we define the following notations as: [ ] the expected path length of all paths from to terminal s [ ] the probability of the th path from to a terminal [ ] the path length of the th path from to a terminal Now, let be a non-terminal with its then-child and else-child as shown in Figure 2. The expected path lengths of all paths from terminal s up to and can supposedly be computed as (2) (3) Figure 2. Bottom-up method for calculating the expected where and are the total number of paths from terminal s up to and, respectively. Let the probability from to be. Then, the probability from to will be. The expected path length from terminal s up to s is computed as Note that the total path probability from a non-terminal to terminal s is. That is, From the identity of equations (2) (3) (5), we can reduce equation (4) to From equation (6), we follow that the expected path length of a non-terminal at can be computed by following steps : step1 multiply the probability of the then-child by the expected path length of the then-child which is computed in the previous stage and is readily used. step2 multiply the probability of the else-child by the expected path length of the else-child which is computed in the previous stage and is readily used. step3 sum results of step1, step2, and constant 1 (5) (6) (4) 2 709
3 With boundary condition that both the path length of terminal s and are 0, we can recursively calculate the expected length of the root of an ROBDD by bottom-up method. root 3.2. Top-down Method Reversely, top-down method is used to calculate the expected path length from root down to terminal s. Since at each non-terminal, the expected path lengths of its parent s are already computed, we can compute the expected path length of an non-terminal based on the expected path lengths for its parent s. Before we proceed to develop the formula, we define the following notations as: [ ] the expected path length of all paths from root to non-terminal [ ] the probability of the th path from root to [ ] the sum of probabilities of all paths from root to [ ] the path length of the th path from root to Obviously, from the above definitions, equations (7) (8) hold. That is, the summation of probabilities of all paths from root to a is (7) where is the total number of paths from root to. Moreover, the expected path length from root to a is (8) Now, let be a non-terminal with its parent-s labeled to and the probabilities from parent s to to be to, respectively, as shown in Figure 3. We are to compute the expected path length of all paths from root to. First, the summation of probabilities of all paths from root to is (9) where is the number of parent-s of. Now, the expected path length from root to is (10) By equations (7) (8) and (9), equation (10) can be reduced to (11) From equation (11), we follow that the expected path length of a non-terminal at can be computed by following steps: step1 for all parent s, multiply the probability of parent- to the by the expected path length from root to the parent which is computed in the previous stage and is readily used. b 1 b j TEPL p b j b b j TEPL b Figure 3. Top-down method for calculating the expected step2 sum probabilities of all paths from root to by equation (9), where the sum of probabilities of all path from root to a parent- is already computed and readily used. step3 sum results of step1 and step2 Based on the assumptions that the path length of root is and the probabilities from all paths to root is 1, we can calculate the expected length of the terminal s of an ROBDD by top down method. Finally, the expected path length of the whole ROBDD is the summation of the expected path lengths of the two terminal s Middle-way Method The third method is used to compute the expected path length of an ROBDD assuming that the expected path lengths of all non-terminal s at level have been computed by top-down method and the expected path lengths of all non-terminal s at level have been computed by bottom-up method. Let be the cut between levels and and there are edges crossing that connect the s at levels and as shown in Figure 4. To compute the expected path length of the whole ROBDD, we have to consider all paths connected by edges. First, we consider how to compute the expected path length connected by a single crossing edge. In this case, edge connects the top end- and the bottom end- as shown in Figure 4. Suppose that the probability of edge be and there are paths from root to, and paths from terminals s to as shown in Figure 4. Then, the expected path length of all paths,, which pass through edge is b n 3 710
4 TEPL(b ) b k k p k edge k a k BEPL (a k) C Algorithm find-least-cost( ) Input: Boolean function; Output: return and ; Begin (1) find an initial variable ordering for ROBDD of ; (2) build an initial ROBDD; (3) compute the cost of the ROBDD; (4) while ( not stop ) do (5) find new variable ordering; (6) restructure the ROBDD according to the new variable ordering; (7) compute the cost of the new ROBDD; (8) update the cost function; (9) check if the stopping criterion is set; endwhile (10) return and ; End Figure 4. Middle-way method for calculating the expected By equations (2)(5)(8)(9), equation (12) can be reduced to (12) (13) From equation (13), we follow that the expected path length of all paths passing through edge connecting and can be computed by following steps: step1 sum the expected path length from root of all paths to, the expected path length of all paths from to terminals and twice of the total path probability to. All of them are already computed and are readily used. step2 multiply the result of step1 and the probability of edge Finally, the total expected length of the whole ROBDD is 4. Algorithms for Finding Low Cost ROBDD Our algorithm begins with an initial ordering. Then, an iterative loop is entered to modify the initial ordering. In each iteration, a new ordering is determined and the old ROBDD is restructured based on the new variable ordering. Next, the cost for the new ROBDD is computed. The loop continues till the stopping criterion is met. The procedure is shown in Figure 5. The detailed description is explained as follows. In step 1, an initial ordering needs to be determined to construct an initial ROBDD. It can be determined by constructing a minimum size ROBDD. In this case, algorithms Figure 5. The find-least-cost algorithm proposed in [5] [6] can be used. Step 3 is to compute the cost of the initial ROBDD. For the computation of the expected path length of the ROBDD, bottom-up and top-down methods proposed in Section 3 are used and all computed data for each is stored at the. Step 5 finds a new input ordering. Window permutation algorithm [5] [6] which finds a local minimum in a window of size and sifting algorithm [4] which looks for a suitable position for each variable in each iteration can be used. With the new input variable ordering, step 6 restructures the old ROBDD to a new ROBDD. Transposition operator [7] is used which restructures an ROBDD by several simple ROBDD operations. For example, if the order of and are swapped in a new ordering, the following formula can be used. Note that swapping is not limited to adjacent variables. In step 7, the cost for the new ROBDD is computed. For the expected length of the new ROBDD, similar to step 6, it needs not be computed from scratch. Instead, we will use the information for the old ROBDD to calculate the new expected length of ROBDD. Suppose that we have a new ordering that variables at levels and are swapped as shown in Figure 6. Since the part of ROBDD above level and the part of ROBDD below level will not be changed as seen in Figure 6, we do not have to recompute them. We only need to compute the new expected path length for the s in the middle. On the one side, the bottom-up method calculates the expected path length from s at level up. On the other side, the top-down method calculates the expected path length from s at level down. When variables on the two sides meet in the middle, the middleway method can be used. By using middle-way method, it prevents much more redundant calculations than top-down and bottom-up methods. 5. Experimental Results Our experiment is performed on a SUN-Ultra Enterprise 150. Software platform is based on the ROBDD package in 4 711
5 STP TEPL BEPL invalid level i level j Figure 6. Computation for parts lying between the two swapped variables. SIS [8]. LGSynth93 benchmark suite is used in our experiment. Experiment is conducted to find a minimum expected path length ROBDD. First, the sifting algorithm [4] is used to find a minimum-sized ROBDD which can be used as our initial ROBDD. The reason for this initial ordering heuristic is that a small size ROBDD may lead to a small expected length ROBDD. In subsequent steps, window permutation is used to generate a new input ordering and the expected path length for the new ROBDD is computed. Finally, the probabilities of input variables are set to be equal. Table 1 shows the results. Column gives the results of ROBDD with initial ordering whose objective is to find an ROBDD with minimum size. Column gives the results of ROBDD with expected path length as objective. Columns and give the expected path length and size of ROBDDs, respectively. In column ratio, we compute the ratio of the results of minimum s to the results of minimum expected It is clear from Table 1 that in most cases, the expected path length can be reduced at the cost of small increase of the number of s except cordic and f51m. In some cases (con1, vg2, cm150a, etc.), we found that both the size and the expected path length of ROBDD are reduced. On the average, the expected path length is reduced by 25% while the the number of s is increased by 10%. 6. Conclusions In this work, we present methods to generate a ROBDD with minimized expected With smaller EPL of a ROBDD, the evaluation time of a Boolean function will be reduced. Three methods are proposed to calculate the expected path length of a ROBDD efficiently. The experimental results indicate that the expected path length of an ROBDD can be reduced at the cost of a small increase of OBDD size. Table 1. Results of expected path length with equal input probability circuit min min exp path ratio (%) path size path size path size 5xp alu b con cordic ex inc sao vg misex cm150a cm151a cm162a cm163a cm85a mux z4ml f51m pcle traffic Average References [1] S. B. Akers, Binary decision diagrams, IEEE Trans. Comput., Vol. C-27, pp , June [2] R. E. Bryant, Graph-based algorithms for boolean function manipulation, IEEE Trans. on Comput., Vol. C-35, No. 8, August [3] K. S. Brace, R. L. Rudell, and R. E. Bryant, Efficient Implementation of a BDD Package, DAC, [4] R. Rudell, Dynamic variables ordering for ordered binary decision diagrams, ICCAD, [5] M. Fujita, Y. Matsunaga, and T. Kakuda, On Variable Ordering of Binary Decision Diagrams for the Application of Multi-level Logic Synthesis, EDAC, pp 50-54, Mar [6] N. Ishiura, H. Sawada, and S. Yajima, Minimization of Binary Decision Diagrams Based on Exchanges of Variables ICCAD, pp , Nov [7] K. H. Wang, T. T. Hwang, and C. Chen, Restructuring Binary Decision Diagrams Based on Functional Equivalence, EDAC, pp , Feb [8] E. M. Sentovich, K. J. Singh, L. Lavagno, C. Moon, R. Murgai, A. Saldanha, H. Savoj, P. R. Stephan, R. K. Brayton, A. Sangiovanni-Vincentelli, SIS: A System for Sequential Circuit Synthesis, Electronics Research Laboratory Memorandum No. UCB/ERL M92/41, 4 May
An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation
An Efficient Framework of Using Various Decomposition Methods to Synthesize LUT Networks and Its Evaluation Shigeru Yamashita Hiroshi Sawada Akira Nagoya NTT Communication Science Laboratories 2-4, Hikaridai,
More informationAustralian 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 informationFormal Verification using Probabilistic Techniques
Formal Verification using Probabilistic Techniques René Krenz Elena Dubrova Department of Microelectronic and Information Technology Royal Institute of Technology Stockholm, Sweden rene,elena @ele.kth.se
More informationBinary 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 informationEECS 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 informationECE 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 informationFast Functional Simulation Using Branching Programs
Fast Functional Simulation Using Branching Programs Pranav Ashar CCRL, NEC USA Princeton, NJ 854 Sharad Malik Princeton University Princeton, NJ 8544 Abstract This paper addresses the problem of speeding
More informationBi-Partition of Shared Binary Decision Diagrams
Bi-Partition of Shared Binary Decision Diagrams Munehiro Matsuura, Tsutomu Sasao, on T Butler, and Yukihiro Iguchi Department of Computer Science and Electronics, Kyushu Institute of Technology Center
More informationA New Decomposition of Boolean Functions
A New Decomposition of Boolean Functions Elena Dubrova Electronic System Design Lab Department of Electronics Royal Institute of Technology Kista, Sweden elena@ele.kth.se Abstract This paper introduces
More informationBDD-Based Synthesis of Reconfigurable Single-Electron Transistor Arrays
1 BDD-Based Synthesis of Reconfigurable Single-Electron Transistor Arrays Zheng Zhao 1, Chian-Wei Liu 2, Chun-Yao Wang 2, and Weikang Qian 1 1 University of Michigan-Shanghai Jiao Tong University Joint
More informationBeyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs
Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this
More informationOn 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 informationImplementing 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 informationDon t Cares and Multi-Valued Logic Network Minimization
Don t Cares and Multi-Valued Logic Network Minimization Yunian Jiang Robert K. Brayton Department of Electrical Engineering and Computer Sciences University of California, Berkeley wiang,brayton @eecs.berkeley.edu
More informationOBDD-Based Evaluation of k-terminal Network Reliability
IEEE TRANSACTIONS ON RELIABILITY, VOL. 51, NO. 4, DECEMBER 2002 443 OBDD-Based Evaluation of k-terminal Network Reliability Fu-Min Yeh, Shyue-Kung Lu, and Sy-Yen Kuo, Fellow, IEEE Abstract An efficient
More informationBINARY decision diagrams (BDDs) [5] and multivalued
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 11, NOVEMBER 2005 1645 On the Optimization of Heterogeneous MDDs Shinobu Nagayama, Member, IEEE, and Tsutomu
More informationBDD Path Length Minimization Based on Initial Variable Ordering
Journal of Computer Sciences (4): 52-529, 2005 ISSN 549-66 2005 Science Publications BDD Path Length Minimization Based on Initial Variable Ordering P.W.C. Prasad, M. Raseen, 2 A. Assi and S.M.N.A. Senanayake
More informationUnit 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 informationTitleArithmetic Boolean Expression Manip. Citation Formal Methods in System Design, 10
TitleArithmetic Boolean Expression Manip Author(s) Minato, Shin-Ichi Citation Formal Methods in System Design, Issue Date 997-4 DOI Doc URLhttp://hdl.handle.net/25/6892 RightThe original publication is
More informationROBDD Optimization Using Sub Graph Complexity
IJCSNS International Journal of Computer Science and Network Security, VOL.8 No.8, August 2008 137 ROBDD Optimization Using Sub Graph Complexity Mohamed Raseen and K.Thanushkodi Coimbatore Institute of
More informationSibling-Substitution-Based BDD Minimization Using Don t Cares
44 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 19, NO. 1, JANUARY 2000 Sibling-Substitution-Based BDD Minimization Using Don t Cares Youpyo Hong, Member, IEEE, Peter
More informationLazy Group Sifting for Efficient Symbolic State Traversal of FSMs
Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs Hiroyuki Higuchi Fabio Somenzi Fujitsu Laboratories Ltd. University of Colorado Kawasaki, Japan Boulder, CO Abstract This paper proposes
More informationSynthesis 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 informationDelay Estimation for Technology Independent Synthesis
Delay Estimation for Technology Independent Synthesis Yutaka TAMIYA FUJITSU LABORATORIES LTD. 4-1-1 Kamikodanaka, Nakahara-ku, Kawasaki, JAPAN, 211-88 Tel: +81-44-754-2663 Fax: +81-44-754-2664 E-mail:
More informationMinimum-Width Method of Variable Ordering for Binary. PAPER: Special Section on the 4th Karuizawa Workshop. Instructions for use
Title Minimum-Width Method of Variable Ordering for Binary Author(s)Minato, Shin-ichi IEICE TRANSACTIONS on Fundamentals of Electronics, C Citation399 Issue Date 1992-03-20 Doc URL http://hdl.handle.net/2115/47490
More informationModel 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 informationCofactoring-Based Upper Bound Computation for Covering Problems
TR-CSE-98-06, UNIVERSITY OF MASSACHUSETTS AMHERST Cofactoring-Based Upper Bound Computation for Covering Problems Congguang Yang Maciej Ciesielski May 998 TR-CSE-98-06 Department of Electrical and Computer
More informationCombinational Equivalence Checking Using Satisfiability and Recursive Learning
Combinational Equivalence Checking Using Satisfiability and Recursive Learning João Marques-Silva Thomas Glass Instituto Superior Técnico Siemens AG Cadence European Labs/INESC Corporate Technology 1000
More informationNovel 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 informationFunctional extension of structural logic optimization techniques
Functional extension of structural logic optimization techniques J. A. Espejo, L. Entrena, E. San Millán, E. Olías Universidad Carlos III de Madrid # e-mail: { ppespejo, entrena, quique, olias}@ing.uc3m.es
More informationCompositional Techniques for Mixed Bottom-UpèTop-Down. Construction of ROBDDs
Compositional Techniques for Mixed Bottom-UpèTop-Down Construction of ROBDDs Amit Narayan 1 èanarayan@ic.eecs.berkeley.eduè Sunil P. Khatri 1 èlinus@ic.eecs.berkeley.eduè Jawahar Jain 2 èjawahar@æa.fujitsu.comè
More informationFlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs
. FlowMap: An Optimal Technology Mapping Algorithm for Delay Optimization in Lookup-Table Based FPGA Designs Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles,
More informationCompatible Class Encoding in Roth-Karp Decomposition for Two-Output LUT Architecture
Compatible Class Encoding in Roth-Karp Decomposition for Two-Output LUT Architecture Juinn-Dar Huang, Jing-Yang Jou and Wen-Zen Shen Department of Electronics Engineering, National Chiao Tung Uniersity,
More informationBinary 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 informationOn Using Permutation of Variables to Improve the Iterative Power of Resynthesis
On Using Permutation of Variables to Improve the Iterative Power of Resynthesis Petr Fiser, Jan Schmidt Faculty of Information, Czech Technical University in Prague fiserp@fit.cvut.cz, schmidt@fit.cvut.cz
More informationMinimization of the Number of Edges in an EVMDD by Variable Grouping for Fast Analysis of Multi-State Systems
3 IEEE 43rd International Symposium on Multiple-Valued Logic Minimization of the Number of Edges in an EVMDD by Variable Grouping for Fast Analysis of Multi-State Systems Shinobu Nagayama Tsutomu Sasao
More informationMotivation. 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 informationA New Algorithm to Create Prime Irredundant Boolean Expressions
A New Algorithm to Create Prime Irredundant Boolean Expressions Michel R.C.M. Berkelaar Eindhoven University of technology, P.O. Box 513, NL 5600 MB Eindhoven, The Netherlands Email: michel@es.ele.tue.nl
More informationSimultaneous Depth and Area Minimization in LUT-based FPGA Mapping
Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping Jason Cong and Yean-Yow Hwang Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this paper, we
More informationVLSI 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 informationUsing Synthesis Techniques in SAT Solvers
1. Introduction Using Synthesis Techniques in SAT Solvers Rolf Drechsler Institute of Computer Science University of Bremen 28359 Bremen, Germany drechsle@informatik.uni-bremen.de Abstract In many application
More information* 1: Semiconductor Division, FUJITSU Limited, Kawasaki Japan
Boolean Resubstitution With Permissible Functions and Binary Decision Diagrams Hitomi Sato* 1, Yoshihiro Yasue* 1, Yusuke Matsunaga*2 and Masahiro Fujita*2 * 1: Semiconductor Division, FUJITSU Limited,
More information1 Introduction 2. 2 A Simple Algorithm 2. 3 A Fast Algorithm 2
Polyline Reduction David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy
More informationFormal 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 informationInt. 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 informationMulti-Objective BDD Optimization with Evolutionary Algorithms
Multi-Objective BDD Optimization with Evolutionary Algorithms Saeideh Shirinzadeh 1 Mathias Soeken 1,2 Rolf Drechsler 1,2 1 Department of Mathematics and Computer Science, University of Bremen, Germany
More information2-3 Tree. Outline B-TREE. catch(...){ printf( "Assignment::SolveProblem() AAAA!"); } ADD SLIDES ON DISJOINT SETS
Outline catch(...){ printf( "Assignment::SolveProblem() AAAA!"); } Balanced Search Trees 2-3 Trees 2-3-4 Trees Slide 4 Why care about advanced implementations? Same entries, different insertion sequence:
More informationComparison of Decision Diagrams for Multiple-Output Logic Functions
Comparison of Decision Diagrams for Multiple-Output Logic Functions sutomu SASAO, Yukihiro IGUCHI, and Munehiro MASUURA Department of Computer Science and Electronics, Kyushu Institute of echnology Center
More informationBoolean Matching for Complex PLBs in LUT-based FPGAs with Application to Architecture Evaluation. Jason Cong and Yean-Yow Hwang
Boolean Matching for Complex PLBs in LUT-based PAs with Application to Architecture Evaluation Jason Cong and Yean-Yow wang Department of Computer Science University of California, Los Angeles {cong, yeanyow}@cs.ucla.edu
More informationSymbolic Manipulation of Boolean Functions Using a Graphical Representation. Abstract
Symbolic Manipulation of Boolean Functions Using a Graphical Representation Randal E. Bryant 1 Dept. of Computer Science Carnegie-Mellon University Abstract In this paper we describe a data structure for
More informationBoolTool: A Tool for Manipulation of Boolean Functions
BoolTool: A Tool for Manipulation of Boolean Functions Petr Fišer, David Toman Czech Technical University in Prague Department of Computer Science and Engineering Karlovo nám. 13, 121 35 Prague 2 e-mail:
More informationA 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 Jaures 78340 Les Clayes-sous-bois FRANCE Abstract
More information1/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 informationSet Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis
Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis Amit Goel Department of ECE, Carnegie Mellon University, PA. 15213. USA. agoel@ece.cmu.edu Randal E. Bryant Computer
More informationFBDD: A Folded Logic Synthesis System
FBDD: A Folded Logic Synthesis System Dennis Wu, Jianwen Zhu Department of Electrical and Computer Engineering University of Toronto, Toronto, Ontario, Canada { wudenni, jzhu } @eecg.toronto.edu Abstract
More informationLecture1: Symbolic Model Checking with BDDs. Edmund M. Clarke, Jr. Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213
Lecture: Symbolic Model Checking with BDDs Edmund M Clarke, Jr Computer Science Department Carnegie Mellon University Pittsburgh, PA 523 Temporal Logic Model Checking Specification Language: A propositional
More informationDISCRETE 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 informationChapter 3 Trees. Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.
Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the
More informationFile Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format
Appendix A File Formats A.1 Benchmarks Tables A.1 and A.2 present benchmark parameters for two-level logic (in ESPRESSO format) set and finite-state tables (in KISS2 format) set respectively. A.2 ESPRESSO
More informationBoolean Factoring with Multi-Objective Goals
Boolean Factoring with Multi-Objective Goals Mayler G. A. Martins 1, Leomar Rosa Jr. 1, Anders B. Rasmussen 2, Renato P. Ribas 1 and Andre I. Reis 1 1 PGMICRO - Instituto de Informática UFRGS / 2 Nangate
More informationPerformance Analysis and Optimization of Schedules for Conditional and Loop-Intensive Specifications
Performance Analysis and Optimization of Schedules for Conditional and Loop-Intensive Specifications Subhrajit Bhattacharya Sujit Dey Franc Brglez y Dept. of Computer Science C&C Research Labs CBL, Dept.
More informationFunctional Test Generation for Delay Faults in Combinational Circuits
Functional Test Generation for Delay Faults in Combinational Circuits Irith Pomeranz and Sudhakar M. Reddy + Electrical and Computer Engineering Department University of Iowa Iowa City, IA 52242 Abstract
More informationMarch 20/2003 Jayakanth Srinivasan,
Definition : A simple graph G = (V, E) consists of V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges. Definition : In a multigraph G = (V, E) two or
More informationAre XORs in Logic Synthesis Really Necessary?
Are XORs in Logic Synthesis Really Necessary? Ivo Háleček, Petr Fišer, Jan Schmidt Faculty of Information Technology Czech Technical University in Prague Prague, Czech Republic Email: {halecivo, fiserp,
More informationChecking Equivalence for Partial Implementations
Checking Equivalence for Partial Implementations Christoph Scholl Institute of Computer Science Albert Ludwigs University D 79110 Freiburg im Breisgau, Germany email: scholl@informatik.uni-freiburg.de
More informationCS 171: Introduction to Computer Science II. Binary Search Trees
CS 171: Introduction to Computer Science II Binary Search Trees Binary Search Trees Symbol table applications BST definitions and terminologies Search and insert Traversal Ordered operations Delete Symbol
More informationNetwork 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 informationTrees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.
Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial
More informationPARALLEL PERFORMANCE DIRECTED TECHNOLOGY MAPPING FOR FPGA. Laurent Lemarchand. Informatique. ea 2215, D pt. ubo University{ bp 809
PARALLEL PERFORMANCE DIRECTED TECHNOLOGY MAPPING FOR FPGA Laurent Lemarchand Informatique ubo University{ bp 809 f-29285, Brest { France lemarch@univ-brest.fr ea 2215, D pt ABSTRACT An ecient distributed
More informationA fast symbolic transformation based algorithm for reversible logic synthesis
A fast symbolic transformation based algorithm for reversible logic synthesis Mathias Soeken 1, Gerhard W. Dueck 2, and D. Michael Miller 3 1 Integrated Systems Laboratory, EPFL, Switzerland 2 University
More informationUsing Symbolic Techniques to find the Maximum Clique in Very Large Sparse Graphs
Using Symbolic Techniques to find the Maximum Clique in Very Large Sparse Graphs Fulvio CORNO, Paolo PRINETTO, Matteo SONZA REORDA Politecnico di Torino Dipartimento di Automatica e Informatica Torino,
More informationAdvanced 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 informationParallel Logic Synthesis Optimization for Digital Sequential Circuit
Kasetsart J. (Nat. Sci.) 36 : 319-326 (2002) Parallel Logic Synthesis Optimization for Digital Sequential Circuit Aswit Pungsema and Pradondet Nilagupta ABSTRACT High-level synthesis tools are very important
More informationMajorSat: A SAT Solver to Majority Logic
MajorSat: A SAT Solver to Majority Logic Speaker : Ching-Yi Huang Authors: Yu-Min Chou, Yung-Chih Chen *, Chun-Yao Wang, Ching-Yi Huang National Tsing Hua University, Taiwan * Yuan Ze University, Taiwan
More informationA Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static Random Access Memories
Japanese Journal of Applied Physics Vol., No. B, 200, pp. 329 3300 #200 The Japan Society of Applied Physics A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static
More informationBinary 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 informationChain 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 informationSymbolic 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 informationSIS: A System for Sequential Circuit Synthesis
SIS: A System for Sequential Circuit Synthesis Electronics Research Laboratory Memorandum No. UCB/ERL M92/41 Ellen M. Sentovich Kanwar Jit Singh Luciano Lavagno Cho Moon Rajeev Murgai Alexander Saldanha
More informationOverview. 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
More informationA Boolean Paradigm in Multi-Valued Logic Synthesis
A Boolean Paradigm in Multi-Valued Logic Synthesis Abstract Alan Mishchenko Department of ECE Portland State University alanmi@ece.pd.edu Optimization algorithms used in binary multi-level logic synthesis,
More informationTHE technology mapping and synthesis problem for field
738 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 17, NO. 9, SEPTEMBER 1998 An Efficient Algorithm for Performance-Optimal FPGA Technology Mapping with Retiming Jason
More informationDesign of a Totally Self Checking Signature Analysis Checker for Finite State Machines
Design of a Totally Self Checking Signature Analysis Checker for Finite State Machines M. Ottavi, G. C. Cardarilli, D. Cellitti, S. Pontarelli, M. Re, A. Salsano Department of Electronic Engineering University
More informationFall 01 VLSI CAD Paper Review 1
18-760 Fall 01 VLSI CAD Paper Review 1 Out: Thu Sept. 27, 2001. Due: Tue, Oct 9, 2001 in class 1.0 Intent One of the goals of 18-760 is that you acquire enough about the fundamental ideas of CAD algorithms
More informationOn the Verification of Sequential Equivalence
686 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL 22, NO 6, JUNE 2003 On the Verification of Sequential Equivalence Jie-Hong R Jiang and Robert K Brayton, Fellow, IEEE
More informationGlobal Clustering-Based Performance-Driven Circuit Partitioning
Global Clustering-Based Performance-Driven Circuit Partitioning Jason Cong University of California at Los Angeles Los Angeles, CA 90095 cong@cs.ucla.edu Chang Wu Aplus Design Technologies, Inc. Los Angeles,
More informationBDD BASED FAULT-TREE PROCESSING: A COMPARISON OF VARIABLE ORDERING HEURISTICS
BDD BASED FAULT-TREE PROCESSING: A COMPARISON OF VARIABLE ORDERING HEURISTICS M. Bouissou F. Bruyère A. Rauzy 2 Electricité de France (DER/ESF Section),, av. du Général de Gaulle, 92 Clamart FRANCE (tel)
More informationThe 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 informationABC 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 informationA Note on Scheduling Parallel Unit Jobs on Hypercubes
A Note on Scheduling Parallel Unit Jobs on Hypercubes Ondřej Zajíček Abstract We study the problem of scheduling independent unit-time parallel jobs on hypercubes. A parallel job has to be scheduled between
More informationSection 5.5. Left subtree The left subtree of a vertex V on a binary tree is the graph formed by the left child L of V, the descendents
Section 5.5 Binary Tree A binary tree is a rooted tree in which each vertex has at most two children and each child is designated as being a left child or a right child. Thus, in a binary tree, each vertex
More informationIMPLEMENTATION 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 informationEnsures that no such path is more than twice as long as any other, so that the tree is approximately balanced
13 Red-Black Trees A red-black tree (RBT) is a BST with one extra bit of storage per node: color, either RED or BLACK Constraining the node colors on any path from the root to a leaf Ensures that no such
More informationChecking Equivalence for Circuits Containing Incompletely Specified Boxes
Freiburg, Germany, September 00 Checking Equivalence for Circuits Containing Incompletely Specified Boxes Christoph Scholl Bernd Becker Institute of Computer Science Albert Ludwigs University D 79110 Freiburg
More informationNon-Crossing Ordered BDD for Physical Synthesis of Regular Circuit Structure
Non-Crossing Ordered BDD for Physical Synthesis of Regular Circuit Structure iqun Cao and Cheng-Kok Koh School of Electrical and Purdue University West Lafayette, IN 47907 1285 Email: {caoa, chengkok}@ecn.purdue.edu
More informationAn Improved Constraint Ordering Heuristics for Compiling Configuration Problems
An Improved Constraint Ordering Heuristics for Compiling Configuration Problems Benjamin Matthes and Christoph Zengler and Wolfgang Küchlin 1 Abstract. This paper is a case study on generating BDDs (binary
More informationBinary 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 informationFM-WAP Mining: In Search of Frequent Mutating Web Access Patterns from Historical Web Usage Data
FM-WAP Mining: In Search of Frequent Mutating Web Access Patterns from Historical Web Usage Data Qiankun Zhao Nanyang Technological University, Singapore and Sourav S. Bhowmick Nanyang Technological University,
More informationSequential Logic Rectifications with Approximate SPFDs
Sequential Logic Rectifications with Approximate SPFDs Yu-Shen Yang 1, Subarna Sinha, Andreas Veneris 1, Robert K. Brayton 3, and Duncan Smith 4 1 Dept. of ECE, University of Toronto, Toronto, Canada.
More informationLOGIC synthesis is the process of transforming a set of
42 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 12, NO. 1, JANUARY 2004 Timing Driven Gate Duplication Ankur Srivastava, Member, IEEE, Ryan Kastner, Chunhong Chen, and Majid Sarrafzadeh,
More information