Selective min-terms based tabular method for BDD Manipulations P.W. C. Prasad 1 , A.Assi 2 , M. Raseen 1 and A. Harb 3 1 United Arab Emirates University, College of Information Technology, U.A.E 2 American University of Technology, Department of Computer Engineering, Lebanon 3 United Arab Emirates University, Department of Electrical Engineering, U.A.E Abstract— The goal of this work is to describe a new algorithm for finding the optimal variable order, number of nodes for any order and other ROBDD parameters, based on a tabular method. The tabular method makes use of a pre-built backend database table that stores the ROBDD size for selected combinations of min-terms. The user uses the backend table and the proposed algorithm to find the necessary ROBDD parameters, such as best variable order, number of nodes etc. Experimental results on benchmarks are given for this technique. Keywords—Tabular Method, Binary Decision Diagram, BDD Manipulation, Boolean Function. I. INTRODUCTION he is te efficient approach for Boolean function manipulation the key factor in many areas, i.e.: synthesis, design and sting of VLSI CAD circuits [1]. BDD are one of the most commonly used synthesis tool for logic optimization of digital systems [2]. Varieties of BDD are used in several commercial applications. However the size and complexity of functions some times make BDD beyond any acceptable limit in terms of space and memory requirement. Hence most of the applications are heavily relying on good variable ordering [3], [4]. Many heuristics have been suggested to minimize the space and memory complexity by providing a more effective initial variable ordering for BDD [5], [6], [7], [8], [9]. But the search for alternative solution still active in order to minimize the problems caused by the variable ordering to the BDD size. A new algorithm is discussed to address the variable ordering problem. The proposed method is based on a table that includes a number of variables, a number of min-terms for BDD, and the corresponding BDD size. This paper is structured as follow: In section II we recall definitions pertaining to BDD. Proposed method with the algorithm is explained in section III followed by the experimental results for selective benchmark circuits in section IV. The section V summarizes the advantages of this approach and we conclude with section VI. II. PRELIMINARIES Basic definitions for binary decision diagrams are detailed in [1], [2], [10], [11]. The following is a recall of some of these definitions. Definition 1: A BDD is a directed acyclic graph (DAG). The graph has two sink nodes labeled 0 and 1 representing the Boolean functions 0 and 1. Each non-sink node is labeled with a Boolean variables v and has two out-edges labeled 1 (or then) and 0 (or else). Each non-sink node represents the Boolean function corresponding to its 1 edge if v=1, or the Boolean function corresponding to its 0 edge if v=0. Definition 2: An OBDD is a BDD in which each variable is encountered no more than once in any path and always in the same order along each path. Definition 3: A reduced ordered binary decision diagram (ROBDD) is an OBDD where each node represents a distinct logic functions. It has the following two properties: (i) There are no redundant nodes in which both of the two edges leaving the node point to the same next node present within the graph. If such a node exists it is removed and the incoming edges redirected to the following node. (ii) If two nodes point to two identical sub-graphs (i.e. Isomorphic sub-graphs) then one sub graph will be removed and the remaining one will be shared by the two nodes. Variable Ordering The size of a BDD is largely affected by the choice of the variable ordering. This is illustrated by the following example: Example: Let n n x x x x f 2 1 2 2 1 ..... . If the variable ordering is given by , i.e. ) ,......, , ( 2 1 n x x x i i x i ) ( , the size of the resulting BDD is . On the other hand, if the variable ordering is chosen as , the size of the BDD is . n 2 ) .... , , ,...., , ( 2 , 4 2 1 2 3 1 n n x x x x x x ) 2 ( n Thus, the number of nodes in the graph varies from linear to exponential depending on the variable ordering. Fig. 1 shows the effect of the variable ordering on the size of BDDs. T World Academy of Science, Engineering and Technology International Journal of Computer and Information Engineering Vol:1, No:3, 2007 810 International Scholarly and Scientific Research & Innovation 1(3) 2007 scholar.waset.org/1307-6892/1513 International Science Index, Computer and Information Engineering Vol:1, No:3, 2007 waset.org/Publication/1513