Binary Decision Diagram with Minimum Expected Path Length

Size: px
Start display at page:

Download "Binary Decision Diagram with Minimum Expected Path Length"

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 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 information

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

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

More information

Formal Verification using Probabilistic Techniques

Formal 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 information

Binary Decision Diagrams (BDD)

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

More information

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

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

More information

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

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

More information

Fast Functional Simulation Using Branching Programs

Fast 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 information

Bi-Partition of Shared Binary Decision Diagrams

Bi-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 information

A New Decomposition of Boolean Functions

A 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 information

BDD-Based Synthesis of Reconfigurable Single-Electron Transistor Arrays

BDD-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 information

Beyond the Combinatorial Limit in Depth Minimization for LUT-Based FPGA Designs

Beyond 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 information

On the Relation between SAT and BDDs for Equivalence Checking

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

More information

Implementing a Multiple-Valued Decision Diagram Package

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

More information

Don t Cares and Multi-Valued Logic Network Minimization

Don 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 information

OBDD-Based Evaluation of k-terminal Network Reliability

OBDD-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 information

BINARY decision diagrams (BDDs) [5] and multivalued

BINARY 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 information

BDD Path Length Minimization Based on Initial Variable Ordering

BDD 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 information

Unit 4: Formal Verification

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

More information

TitleArithmetic Boolean Expression Manip. Citation Formal Methods in System Design, 10

TitleArithmetic 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 information

ROBDD Optimization Using Sub Graph Complexity

ROBDD 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 information

Sibling-Substitution-Based BDD Minimization Using Don t Cares

Sibling-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 information

Lazy Group Sifting for Efficient Symbolic State Traversal of FSMs

Lazy 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 information

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

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

More information

Delay Estimation for Technology Independent Synthesis

Delay 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 information

Minimum-Width Method of Variable Ordering for Binary. PAPER: Special Section on the 4th Karuizawa Workshop. Instructions for use

Minimum-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 information

Model Checking I Binary Decision Diagrams

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

More information

Cofactoring-Based Upper Bound Computation for Covering Problems

Cofactoring-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 information

Combinational Equivalence Checking Using Satisfiability and Recursive Learning

Combinational 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 information

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

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

More information

Functional extension of structural logic optimization techniques

Functional 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 information

Compositional Techniques for Mixed Bottom-UpèTop-Down. Construction of ROBDDs

Compositional 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 information

FlowMap: 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 . 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 information

Compatible Class Encoding in Roth-Karp Decomposition for Two-Output LUT Architecture

Compatible 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 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

On Using Permutation of Variables to Improve the Iterative Power of Resynthesis

On 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 information

Minimization of the Number of Edges in an EVMDD by Variable Grouping for Fast Analysis of Multi-State Systems

Minimization 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 information

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

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

More information

A New Algorithm to Create Prime Irredundant Boolean Expressions

A 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 information

Simultaneous Depth and Area Minimization in LUT-based FPGA Mapping

Simultaneous 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 information

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

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

More information

Using Synthesis Techniques in SAT Solvers

Using 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

* 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 information

1 Introduction 2. 2 A Simple Algorithm 2. 3 A Fast Algorithm 2

1 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 information

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

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

More information

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

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

More information

Multi-Objective BDD Optimization with Evolutionary Algorithms

Multi-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 information

2-3 Tree. Outline B-TREE. catch(...){ printf( "Assignment::SolveProblem() AAAA!"); } ADD SLIDES ON DISJOINT SETS

2-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 information

Comparison of Decision Diagrams for Multiple-Output Logic Functions

Comparison 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 information

Boolean 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 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 information

Symbolic Manipulation of Boolean Functions Using a Graphical Representation. Abstract

Symbolic 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 information

BoolTool: A Tool for Manipulation of Boolean Functions

BoolTool: 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 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 Jaures 78340 Les Clayes-sous-bois FRANCE Abstract

More information

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

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

More information

Set Manipulation with Boolean Functional Vectors for Symbolic Reachability Analysis

Set 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 information

FBDD: A Folded Logic Synthesis System

FBDD: 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 information

Lecture1: Symbolic Model Checking with BDDs. Edmund M. Clarke, Jr. Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213

Lecture1: 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 information

DISCRETE FUNCTION REPRESENTATIONS UTILIZING DECISION DIAGRAMS AND SPECTRAL TECHNIQUES

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

More information

Chapter 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. 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 information

File Formats. Appendix A. A.1 Benchmarks. A.2 ESPRESSO Format

File 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 information

Boolean Factoring with Multi-Objective Goals

Boolean 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 information

Performance Analysis and Optimization of Schedules for Conditional and Loop-Intensive Specifications

Performance 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 information

Functional Test Generation for Delay Faults in Combinational Circuits

Functional 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 information

March 20/2003 Jayakanth Srinivasan,

March 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 information

Are XORs in Logic Synthesis Really Necessary?

Are 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 information

Checking Equivalence for Partial Implementations

Checking 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 information

CS 171: Introduction to Computer Science II. Binary Search Trees

CS 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 information

Network Reliability Computation by using Different Binary Decision Diagrams

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

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 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 information

PARALLEL 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. 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 information

A fast symbolic transformation based algorithm for reversible logic synthesis

A 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 information

Using 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 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 information

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

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

More information

Parallel Logic Synthesis Optimization for Digital Sequential Circuit

Parallel 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 information

MajorSat: A SAT Solver to Majority Logic

MajorSat: 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 information

A Memory-Based Programmable Logic Device Using Look-Up Table Cascade with Synchronous Static Random Access Memories

A 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 information

Binary Decision Diagrams

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

More information

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

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

More information

Symbolic Model Checking

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

More information

SIS: A System for Sequential Circuit Synthesis

SIS: 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 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

More information

A Boolean Paradigm in Multi-Valued Logic Synthesis

A 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 information

THE technology mapping and synthesis problem for field

THE 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 information

Design 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 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 information

Fall 01 VLSI CAD Paper Review 1

Fall 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 information

On the Verification of Sequential Equivalence

On 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 information

Global Clustering-Based Performance-Driven Circuit Partitioning

Global 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 information

BDD BASED FAULT-TREE PROCESSING: A COMPARISON OF VARIABLE ORDERING HEURISTICS

BDD 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 information

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

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

More information

ABC basics (compilation from different articles)

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

More information

A Note on Scheduling Parallel Unit Jobs on Hypercubes

A 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 information

Section 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. 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 information

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

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

More information

Ensures that no such path is more than twice as long as any other, so that the tree is approximately balanced

Ensures 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 information

Checking Equivalence for Circuits Containing Incompletely Specified Boxes

Checking 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 information

Non-Crossing Ordered BDD for Physical Synthesis of Regular Circuit Structure

Non-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 information

An Improved Constraint Ordering Heuristics for Compiling Configuration Problems

An 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 information

Binary Decision Diagrams

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

More information

FM-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 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 information

Sequential Logic Rectifications with Approximate SPFDs

Sequential 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 information

LOGIC synthesis is the process of transforming a set of

LOGIC 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