BINARY decision diagrams (BDDs) [5] and multivalued

Size: px
Start display at page:

Download "BINARY decision diagrams (BDDs) [5] and multivalued"

Transcription

1 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 11, NOVEMBER On the Optimization of Heterogeneous MDDs Shinobu Nagayama, Member, IEEE, and Tsutomu Sasao, Fellow, IEEE Abstract This paper proposes minimization algorithms for the memory size and the average path length (APL) of heterogeneous multivalued decision diagrams (MDDs). In a heterogeneous MDD, each multivalued variable can take different domains. To represent a binary logic function using a heterogeneous MDD, we partition the binary variables into groups with different numbers of binary variables and treat the groups as multivalued variables. Since memory size and APL of a heterogeneous MDD depend on the partition of binary variables as well as the ordering of binary variables, the memory size and the APL of a heterogeneous MDD can be minimized by considering both orderings and partitions of binary variables. The experimental results show that heterogeneous MDDs can represent logic functions with smaller memory sizes than free binary decision diagrams (FBDDs) and smaller APLs than reduced ordered BDDs (ROBDDs); the APLs of heterogeneous MDDs can be reduced by half of the ROBDDs without increasing memory size; and heterogeneous MDDs have smaller area time complexities than MDD(k)s. Index Terms Area time complexity, MDD(k), average path length (APL), FBDD, heterogeneous MDD, logic simulation, memory size, representation of logic functions, ROBDD. I. INTRODUCTION BINARY decision diagrams (BDDs) [5] and multivalued decision diagrams (MDDs) [16] are extensively used in logic synthesis [9], logic simulation [1], [13], [19], software synthesis [2], [15], [26], etc. To reduce memory sizes and runtime for these applications, proper optimizations of decision diagrams (DDs) are very important. For example, in logic simulation using DDs [1], [13], [19], minimization of the average path length (APL) of DDs reduces the evaluation time of logic functions, since the evaluation time depends on the path length of DDs. In software synthesis using DDs [2], [15], [26], which automatically generates program codes from a functional specification, minimization of both memory size and APL of DDs makes program codes compact and faster, since the code size and the runtime of the generated program codes depend on the memory size and path length of DDs. Most optimization algorithms for DDs use variable reordering approaches [7] [11], [14], [20], [21], [23], [28], [32], [38]. However, when MDDs are used to represent binary logic functions, we can use an additional optimization approach, which is a partition of binary variables [12], [29], [33], [36]. To represent a binary logic function using an MDD, we partition the binary variables into groups and treat each group as a multivalued variable. In many cases, the groups have the same number of binary variables [12], [19], [33], [36]. On the other hand, in a heterogeneous MDD [29], the groups can have different numbers of binary variables. Thus, by optimizing both orderings and partitions of binary variables, we can obtain heterogeneous MDDs that have smaller memory sizes and APLs than ordinary MDDs with the same group size (called homogeneous MDDs). In [36], the optimizations of both orderings and partitions of binary variables for only homogeneous MDDs are considered. In this paper, we propose memory size and APL minimization algorithms for heterogeneous MDDs that consider both orderings and partitions of binary variables. For BDDs and homogeneous MDDs, the APL minimization often increases memory sizes. On the other hand, for heterogeneous MDDs, the APLs can be minimized without increasing memory size. The memory size minimization algorithm for heterogeneous MDDs can reduce both memory sizes and APLs, and the APL minimization algorithm for heterogeneous MDDs can reduce APLs without increasing memory size. By experiments, we show that both memory sizes and APLs of heterogeneous MDDs can be reduced to 86% and 67% of reduced ordered BDDs (ROBDDs), respectively, and APLs of heterogeneous MDDs can be reduced by half of the ROBDDs without increasing memory size. The rest of the paper is organized as follows. Section II shows the necessary terminology and theorems. Section III proposes memory size and APL minimization algorithms for heterogeneous MDDs. And Section IV compares memory sizes and APLs of heterogeneous MDDs for many benchmark functions. This paper is an extended version of [30] and [31]. II. PRELIMINARIES This section defines the necessary terminology and shows theorems. In this paper, we assume that 1) the given logic function is completely specified and has no redundant variables; and 2) the reader is familiar with the standard terminology for BDDs and ROBDDs [5]. Manuscript received July 13, 2004; revised November 15, This work was supported in part by the Grant in Aid for Scientific Research of The Japan Society for the Promotion of Science (JSPS) and the funds from the Ministry of Education, Culture, Sports, Science and Technology (MEXT) via the Kitakyushu Innovative Cluster Project. This paper was recommended by Associate Editor I. Stok. The authors are with the Department of Computer Science and Electronics, Kyushu Institute of Technology, Iizuka , Japan ( nagayama@ ieee.org). Digital Object Identifier /TCAD A. Free BDD Definition 2.1: An ROBDD has the same variable order on all paths. A free BDD (FBDD) is a BDD that allows different variable orders along different paths in the BDD. An FBDD is a generalization of an ROBDD, so FBDDs can be more compact than ROBDDs by considering different variable orders along each path [10], [11], [38] /$ IEEE

2 1646 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 11, NOVEMBER 2005 B. MDD This section provides a brief definition of MDD. Please refer to [16] for more details. Definition 2.2: A BDD represents a binary logic function f b (x 1,x 2,...,x n ):B n B, where B = {0, 1}. An MDD represents a multivalued (p-valued) function f m (X 1,X 2,..., X u ):P u P, where P = {0, 1,...,p 1} and p 3. Nonterminal nodes in an MDD for the p-valued function have p outgoing edges while nonterminal nodes in a BDD have two outgoing edges. As with a BDD, there are two types of MDD: reduced ordered MDD (ROMDD) and free MDD (FMDD). This paper considers only ROMDDs. C. Partitions of Binary Variables To represent a binary logic function using an ROMDD, we partition the binary variables into groups and treat each group as a multivalued variable. Definition 2.3: Let f(x) be a two-valued logic function, where X =(x 1,x 2,...,x n ) is an ordered set of binary variables. Let {X} denote the unordered set of variables in X. Let X i X. If{X} = {X 1 } {X 2 } {X u }, {X i } φ and {X i } {X j } = φ(i j), then (X 1,X 2,...,X u ) is a partition of X. X i is called a super variable. If X i = k i (i =1, 2,...,u) and k 1 + k k u = n, then a twovalued logic function f(x) can be represented by a multivalued input two-valued output function that is a mapping f(x 1,X 2,...,X u ):P 1 P 2 P 3 P u B, where P i = {0, 1, 2,...,2 k i 1} and B = {0, 1}. Definition 2.4: A fixed-order partition of X =(x 1,x 2,..., x n ) is a partition (X 1,X 2,...,X u ), where X 1 =(x 1,x 2,...,x k1 ) X 2 =(x k1 +1,x k1 +2,...,x k1 +k 2 ). X u = ( ) x k1 +k 2 + +k u 1 +1,x k1 +k 2 + +k u 1 +2,...,x n 1,x n and X i = k i. That is, in the fixed-order partition of X, the variable order (x 1,x 2,...,x n ) is fixed. When the variable order is not fixed (i.e., the partition is not fixed-order partition), we call the partition nonfixed-order partition. In this paper, a partition means fixed-order partition unless stated otherwise. Example 2.1: Consider (X 1,X 2 ), which is a fixed-order partition of X, where X =(x 1,x 2,x 3,x 4,x 5 ), each x i is a binary variable, and the variable order (x 1,x 2,x 3,x 4,x 5 ) is fixed. When X 1 =(x 1,x 2 ) and X 2 =(x 3,x 4,x 5 ),wehavek 1 =2, k 2 =3, P 1 = {0, 1, 2, 3}, and P 2 = {0, 1,...,7}. Note that X 1 takes four values and X 2 takes eight values. So, a fivevariable logic function f(x) can be represented by the multivalued input two-valued output function f(x 1,X 2 ):P 1 P 2 B. Similarly, we show all possible nonfixed-order partitions of X into (X 1,X 2 ), where k 1 =2and k 2 =3. Since the variable order (x 1,x 2,x 3,x 4,x 5 ) is not fixed, all possible nonfixedorder partitions of X can be considered as X 1 =(x 1,x 2 ), X 2 =(x 3,x 4,x 5 ) X 1 =(x 1,x 3 ), X 2 =(x 2,x 4,x 5 ) X 1 =(x 1,x 4 ), X 2 =(x 2,x 3,x 5 ) X 1 =(x 1,x 5 ), X 2 =(x 2,x 3,x 4 ) X 1 =(x 2,x 3 ), X 2 =(x 1,x 4,x 5 ) X 1 =(x 2,x 4 ), X 2 =(x 1,x 3,x 5 ) X 1 =(x 2,x 5 ), X 2 =(x 1,x 3,x 4 ) X 1 =(x 3,x 4 ), X 2 =(x 1,x 2,x 5 ) X 1 =(x 3,x 5 ), X 2 =(x 1,x 2,x 4 ) X 1 =(x 4,x 5 ), X 2 =(x 1,x 2,x 3 ). D. Heterogeneous MDD Definition 2.5: When X =(x 1,x 2,...,x n ) is partitioned into (X 1,X 2,...,X u ), an ROMDD representing a multivalued input two-valued output function f(x 1,X 2,...,X u ) is called a heterogeneous MDD. Specially, when k = X i = X 2 = = X u, an ROMDD for f(x 1,X 2,...,X u ) is a homogeneous MDD and denoted by MDD(k). A heterogeneous MDD represents a mapping f : P 1 P 2... P u B while an MDD(k) represents a mapping f : P u B, where P = {0, 1,...,2 k 1}, P i = {0, 1,...,2 k i 1}, and B = {0, 1}. An MDD(k) is a special case of heterogeneous MDDs. In a heterogeneous MDD, nonterminal nodes representing a super variable X i have 2 k i outgoing edges, where k i denotes the number of binary variables in X i. Similarly, in an MDD(k), nonterminal nodes have 2 k outgoing edges. For n-variable functions f, ifn < ku(i.e., n is indivisible by k), additional redundant binary variables are used to construct MDD(k)s. The set of binary variables with such variables is {X } = {x 1,x 2,...,x n,x n+1,...,x ku }, where X = ku. Note that f is independent of x n+1,x n+2,...,x ku. Example 2.2: Consider a logic function f = x 1 x 2 x 3 x 2 x 3 x 4 x 3 x 4 x 1 x 4 x 1 x 2. Fig. 1(a), (b), (c), and (d) represents the ROBDD, MDD(2), and heterogeneous MDDs for f, respectively. In Fig. 1(a), the solid lines and the dotted lines denote 1-edges and 0-edges, respectively. In Fig. 1(b), the binary variables X =(x 1,x 2,x 3,x 4 ) are partitioned into (X 1,X 2 ), where X 1 =(x 1,x 2 ) and X 2 =(x 3,x 4 ).InFig.1(c),X 1 = (x 1,x 2,x 3 ) and X 2 =(x 4 ). This partition produces a heterogeneous MDD with minimum memory size among heterogeneous MDDs for f. InFig.1(d),X 1 =(x 1 ) and X 2 =(x 2,x 3,x 4 ). This partition produces a heterogeneous MDD with maximum memory size among heterogeneous MDDs for f. In this paper, we use shared decision diagrams (SDDs) [22] to represent multiple-output functions F =(f 0,f 1,..., f m 1 ):B n B m, where B = {1, 0}, and n and m denote the number of input and output variables, respectively. In the following, BDDs and MDDs mean shared BDDs (SBDDs) and shared MDDs (SMDDs), respectively.

3 NAGAYAMA AND SASAO: ON THE OPTIMIZATION OF HETEROGENEOUS MDDs 1647 TABLE I NUMBER OF DIFFERENT DDS FORn-VARIABLE LOGIC FUNCTIONS For a naive optimization method that finds an optimum solution by enumerating all possible ones, we have the following. 1) An optimization of heterogeneous MDDs is more difficult than that of ROBDDs. 2) Optimizations of heterogeneous MDDs and ROBDDs are much easier than that of FBDDs. Fig. 1. ROBDD, MDD(2), and heterogeneous MDDs. (a) ROBDD. (b) MDD(2). (c) Minimum heterogeneous MDD. (d) Maximum heterogeneous MDD. E. Number of Heterogeneous MDDs This section shows the number of different heterogeneous MDDs to estimate the complexity of optimization for heterogeneous MDDs. Theorem 2.1: Let N nonfix (n) be the number of different nonfixed-order partitions of X =(x 1,x 2,...,x n ). Then N nonfix (n) = n r=1 i=0 r rc i (r i) n ( 1) i. Proof: See Appendix. Therefore, when both orderings and partitions of the binary variables for an optimization of heterogeneous MDDs are considered, the number of different heterogeneous MDDs for an n-variable logic function is given by N nonfix (n). Table I compares the numbers of different ROBDDs, heterogeneous MDDs, and FBDDs for n-variable logic functions, where the number of different ROBDDs is equal to the number of different permutations of variables, that is, n!, and the number of different FBDDs S n is given by [38] S n = ns 2 n 1 = n k 2n k. k=1 The number of different heterogeneous MDDs is larger than that of ROBDDs. The number of different FBDDs is much larger than those of ROBDDs and heterogeneous MDDs. F. Memory Size of DD In this section, we define the memory sizes of DDs to compare the sizes for different types of DDs. Definition 2.6: In a DD, the number of nodes in the DD, denoted by nodes (DD), is the sum of all nonterminal nodes. Definition 2.7: The width of a DD with respect to x i, 1 denoted by width(dd,i), is the number of nodes in the DD corresponding to the variable x i. The number of nodes in the DD is given by nodes(dd) = n width(dd,i) i=1 where n denotes the number of variables. Definition 2.8: The memory size of a DD, denoted by Mem(DD), is the number of words needed to store all nonterminal nodes in the DD into a memory, where we assume that a word is large enough to store a variable index or an edge pointer. To represent a DD, each nonterminal node in the DD requires an index and a set of pointers that refer the succeeding nodes. Since each nonterminal node in a BDD has two pointers, the memory size of a BDD is given by Mem(BDD) = (2 + 1) nodes(bdd). (2.1) Similarly, since each nonterminal node in an MDD(k) has 2 k pointers, the memory size of an MDD(k) is given by Mem (MDD(k)) = (2 k +1) nodes (MDD(k)). In a heterogeneous MDD, each super variable can take different domains. Therefore, the memory size of a heterogeneous MDD 1 Note that this definition differs from that of width of BDDs in [23].

4 1648 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 11, NOVEMBER 2005 is the sum of sizes for the super variables Mem(heterogeneous MDD) u = (2 k i +1) width(heterogeneous MDD,i). i=1 where u and k i denote the number of super variables and the number of binary variables in a super variable X i, respectively. Example 2.3: The memory sizes of ROBDD, MDD(2), and heterogeneous MDDs are as follows: for the ROBDD in Fig. 1(a), it is 18; for the MDD(2) in Fig. 1(b), it is 15; for the heterogeneous MDD in Fig. 1(c), it is 12; and for the heterogeneous MDD in Fig. 1(d), it is 21. Definition 2.9: Given a logic function f and the order of input variables, the fixed-order minimum heterogeneous MDD for the logic function f is the heterogeneous MDD with minimum memory size among the heterogeneous MDDs with fixedorder partitions of the variables. Definition 2.10: Given a logic function f, the minimum heterogeneous MDD for the logic function f is the heterogeneous MDD with minimum memory size among the heterogeneous MDDs with nonfixed-order partitions of the variables. Theorem 2.2 [27]: Consider an ROBDD and a heterogeneous MDD for an n-variable logic function that is not a constant function. When an order of binary variables is fixed, for the number of nodes in the ROBDD and the memory size of heterogeneous MDD obtained by considering only the fixedorder partitions, the following relation holds: Mem(heterogeneous MDD) nodes(robdd) + 2. Theorem 2.3: Consider an ROBDD and a heterogeneous MDD for an n-variable logic function that is not a constant function. When an order of binary variables is fixed, for the memory sizes of ROBDD and heterogeneous MDD obtained by considering only the fixed-order partitions, the following relation holds: Mem(heterogeneous MDD) Mem(ROBDD) > 1 3. Proof: See Appendix. Theorem 2.4: Assume that the number of nodes in an ROBDD for an n-variable function f is the upper bound [17] 2 n r +2 2r 3 where r is the largest integer satisfying n r 2 r. Let Mem min (MDD) be the memory size of the minimum heterogeneous MDD for f. Lets =2 r + r n, where 0 s 2 r. When n is large and 2 s 2 r, the following relation holds: Mem min (MDD) Mem(ROBDD) 2s +3 3(2 s +1). Corollary 2.1: In Theorem 2.4, when n is sufficiently large and s =0or 9 s 2 r, the following relation holds: Mem min (MDD) Mem(ROBDD) Proof: See Appendix. Property 2.1: Consider a logic function f(x). Let Mem min ( f) be the memory size of a fixed-order minimum heterogeneous MDD for f. When f is decomposed into f = g(h(x 1 ),X 2 ),letmem min (g) and Mem min (h) be the memory sizes of fixed-order minimum heterogeneous MDDs for g and h, respectively. For many benchmark functions, the following two relations hold: Mem min ( f) > Mem min (g) Mem min ( f) > Mem min (h). G. APL of DD Definition 2.11: In a DD, a sequence of edges and nonterminal nodes leading from the root node to a terminal node is a path. The number of nonterminal nodes on the path is the path length. Definition 2.12: The APL of a DD, denoted by APL(DD), is the sum of path lengths for all assignments of values to the variables divided by the number of the assignments. In this paper, the APL of an SDD for multiple-output function F =(f 0,f 1,...,f m 1 ) is the sum of the APLs of individual DDs for each function f i. In this paper, we assume the following computational model. 2 1) The logic functions are evaluated by traversing DDs from the root node to a terminal node according to the values of the input variables. 2) Encoded input values are available, and their access time is negligible. For example, when X 1 = (x 1,x 2,x 3,x 4 )=(1, 0, 0, 1), X 1 =9 is immediately available as an input to the algorithm. 3) Most computation time is devoted to accessing nodes. 4) The evaluation times for all DD nodes are the same. In this case, the average evaluation time of a DD is proportional to the APL of the DD. Thus, in this model, we use the APL to compare the evaluation times of different types of DDs. Example 2.4: The APLs for different DDs are as follows. For the ROBDD in Fig. 1(a), APL(ROBDD) = Forthe MDD(2) in Fig. 1(b), APL[MDD(2)] = For the heterogeneous MDD in Fig. 1(c), APL(heterogeneous MDD) = For the heterogeneous MDD in Fig. 1(d), APL(heterogeneous MDD) = 2.0. Theorem 2.5: When the number of nodes in an ROBDD for an n-variable function f is the upper bound [17] 2 n r +2 2r 3 Proof: See Appendix. 2 This model can be implemented by the dedicated hardware proposed in [13].

5 NAGAYAMA AND SASAO: ON THE OPTIMIZATION OF HETEROGENEOUS MDDs 1649 Fig. 2. Exact memory size minimization algorithm for heterogeneous MDDs. where r is the largest integer satisfying n r 2 r, there exists a heterogeneous MDD for f that satisfies APL(heterogeneous MDD) 2.0 Mem(heterogeneous MDD) Mem(ROBDD). Proof: See Appendix. III. OPTIMIZATION ALGORITHMS OF HETEROGENEOUS MDDS Since memory size and APL of a heterogeneous MDD depend on the partition of binary variables as well as the ordering of binary variables, the memory size and APL of a heterogeneous MDD can be minimized by considering both orderings and partitions of binary variables. In this section, we formulate the memory size and APL minimization problems of heterogeneous MDDs considering both orderings and partitions of binary variables. We also present exact minimization algorithms to solve them and heuristic minimization algorithms. A. Memory Size Minimization We formulate the memory size minimization problem of heterogeneous MDDs considering both orderings and partitions of binary variables as follows. Problem 3.1: Given a logic function f(x), find an ordering and a partition of X that produce the minimum heterogeneous MDD for f. Fig. 2 shows a pseudocode to solve Problem 3.1. It uses an ROBDD for the given logic function as the internal representation. In the second and seventh lines in Fig. 2, minimize_memory [29] finds an optimum fixed-order partition that produces the fixed-order minimum heterogeneous MDD. The subprocedure minimize_memory is based on dynamic programming, and its time and space complexities are O(n 2 N) and O(N), respectively, where n is the number of binary variables and N is the number of nodes for the given BDD. This subprocedure consumes 50% to 80% of the total computation time for Algorithm 3.1. In the fifth line, Theorem 2.2 is used to Fig. 3. MDDs. Heuristic memory size minimization algorithm for heterogeneous reduce the computation time. This algorithm finds the minimum heterogeneous MDD by exhaustive search. However, as shown in Section II-E, when the number of binary variables is large, finding a minimum heterogeneous MDD within a reasonable time is difficult. Thus, we developed a heuristic minimization for heterogeneous MDDs using the sifting algorithm [32] and the fixed-order partition algorithm minimize_memory [29]. The sifting algorithm repeatedly performs the following basic steps: 1) Change the variable order; 2) Compute the cost. Most sifting algorithms for minimizing the number of nodes in an ROBDD use the number of nodes as the cost. The memory size minimization algorithm for a heterogeneous MDD, however, uses the memory size of the heterogeneous MDD as the cost. The computation of the cost (i.e., minimize_memory) consumes 50% to 80% of total computation time for this heuristic approach. Fig. 3 shows a pseudocode for the heuristic minimization algorithm. In this algorithm, each variable x i is sifted across all possible positions to determine its best position. First, x i is sifted in one direction to the closer extreme (top or bottom). Then, x i is sifted in the opposite direction to the other extreme. In the tenth line in Fig. 3, Property 2.1 is used to find useful siftings of x i.thel mem in the ninth line denotes the memory size of fixed-order minimum heterogeneous MDD for logic function g or h obtained by functional decomposition f(x) =g(h(x 1 ),X 2 ). When x i moves down to the bottom of the ROBDD, we use h to compute L mem, where X 1 contains the binary variables that are above the level of x i in the variable order and X 2 contains the remaining ones. If cost L mem, we stop the sifting of x i to the bottom because sifting of x i further down to the bottom seldom reduces the memory size due to Property 2.1. Similarly, when x i moves up to the top of the ROBDD, we use g to compute L mem, where X 2 contains the binary variables that are below the level of x i

6 1650 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 11, NOVEMBER 2005 Fig. 4. Exact APL minimization algorithm for heterogeneous MDDs. in the variable order and X 1 contains the remaining ones. This bounding method is similar to the one shown in [7] that reduces the computation time of the classical sifting for node minimization. B. APL Minimization For any n-variable logic function f(x), the trivial partition of X, where X = X 1 and X 1 = n, produces a heterogeneous MDD with the smallest APL (i.e., APL = 1.0), independently of the variable ordering. However, since the memory size of the heterogeneous MDD for the trivial partition is nearly 2 n, such a heterogeneous MDD is too large in most cases. Therefore, an ordering and a partition of X that minimize the APL within a given memory size limitation are sought. We formulate the APL minimization problem considering both orderings and partitions of binary variables as follows. Problem 3.2: Given a logic function f(x) and a memory size limitation L, find an ordering and a partition of X that produce the heterogeneous MDD with the minimum APL and with memory size equal to or smaller than L. Fig. 4 shows the pseudocode to solve Problem 3.2. In the second and tenth lines in Fig. 4, the subprocedure minimize_apl [26], [29] finds an optimum fixed-order partition that minimizes the APL of a heterogeneous MDD. Since it is a recursive procedure, the top level for ROBDD (i.e., level = 1) is required as the initial argument. The subprocedure minimize_apl is based on a branch-and-bound method, and its time and space complexities are O(2 n + n 2 N) and O(N), respectively, where n is the number of binary variables and N is the number of nodes for the given BDD. Although the worst case time complexity for this subprocedure is high, the actual computation time is short. For example, when n = 256 (for des), the computation time for this subprocedure is 0.44 CPU seconds (refer to [29] for more details). This subprocedure consumes 60% to 70% of the total computation time for Algorithm 3.3. Algorithm 3.3 finds an optimum solution for Problem 3.2 by exhaustive search. Fig. 5. Heuristic APL minimization algorithm for heterogeneous MDDs. As well as the memory size minimization, Algorithm 3.3 is time consuming for functions with many inputs. Thus, we developed a heuristic APL minimization algorithm for heterogeneous MDDs using a sifting algorithm [32] and the fixed-order partition algorithm minimize_apl [26], [29]. The subprocedure minimize_apl consumes 70% 80% of the total computation time for this heuristic approach. Fig. 5 shows a pseudocode for the heuristic APL minimization algorithm. In this algorithm, the APL of a heterogeneous MDD is used as the cost for the sifting algorithm. The APL of a heterogeneous MDD can be computed using a method similar to the APL of ROBDDs in [28]. In the tenth line in Fig. 5, Property 2.1 is used to find useful siftings of x i.ifl L mem,westopthe sifting of x i because the further sifting of x i seldom finds a smaller memory size than L mem due to Property 2.1. That is, in most cases, the further sifting of x i produces heterogeneous MDDs with larger memory size than the memory size limitation L when L L mem. IV. EXPERIMENTAL RESULTS To show the compactness of heterogeneous MDD and the efficiency of optimization algorithms, we compared heterogeneous MDDs with the different types of DDs using benchmark functions. Experiments were conducted in the following environment: CPU: Pentium 4 Xeon 2.8 GHz; L1 Cache: 32 KB; L2 Cache: 512 KB; Main Memory: 4 GB; Operating System: redhat (Linux 7.3); C-Compiler: gcc -O2.

7 NAGAYAMA AND SASAO: ON THE OPTIMIZATION OF HETEROGENEOUS MDDs 1651 TABLE II MEMORY SIZES OF ROBDDS, FBDDS, AND HETEROGENEOUS MDDS FORALL FOUR-VARIABLE LOGIC FUNCTIONS A. Comparison With FBDDs In this section, we compare heterogeneous MDDs with FBDDs to show the compactness of heterogeneous MDDs. We implemented Algorithm 3.1 and compared the minimum heterogeneous MDDs with the minimum ROBDDs and the minimum FBDDs for all four- and five-variable logic functions. To compare them, we classified all the logic functions into NPN equivalence classes [24], [35]. For the four-variable case, functions are classified into 222 NPN equivalence classes, and for the five-variable case, functions are classified into NPN equivalence classes. Table II compares minimum DD sizes for the four-variable case. In Table II, the NPN representative functions are grouped into nine rows according to the memory size of the minimum ROBDD. The column Mem denotes the memory size of each DD. The columns #class and #function in Table II denote the number of NPN equivalence classes and the number of functions included in the classes, respectively. The bottom row Avg. denotes the arithmetic average of the relative memory sizes for all functions, where the memory size of ROBDD is set to Note that ROBDDs, FBDDs, and heterogeneous MDDs in this table do not use complemented edges [3], [22]. For the four-variable case, FBDDs are smaller than ROBDDs for 5568 functions, 8.5% of all functions, while heterogeneous MDDs are smaller than ROBDDs and FBDDs for all functions except for ten degenerate functions (0, 1, x i, and x i, where i =1, 2, 3, 4). For these ten functions, the memory sizes of ROBDDs, FBDDs, and heterogeneous MDDs are equal. On average over all functions, minimum FBDDs require 99% of the memory size of minimum ROBDDs while minimum heterogeneous MDDs require 72% of the memory size for minimum ROBDDs. For the five-variable case, FBDDs are smaller than ROBDDs for functions, 45% of all functions, while heterogeneous MDDs are smaller than ROBDDs for functions, 99% of all functions. Also, heterogeneous MDDs are TABLE III MEMORY SIZES OF ROBDDS, FBDDS, AND HETEROGENEOUS MDDS FORHWB FUNCTIONS smaller than FBDDs for functions, 99% of all functions, and for the others, heterogeneous MDDs are equal in size to FBDDs. There was no function whose FBDD was smaller than the heterogeneous MDD. On average over all functions, minimum FBDDs require 96% of the memory size for minimum ROBDDs while minimum heterogeneous MDDs require 67% of the memory size for minimum ROBDDs. Also for the hidden weighted bit (HWB) functions [6], we compared the memory sizes of DDs. The HWB function is defined as { 0, when wt(x) =0 HWB(X) = x wt(x), when wt(x) > 0 where X =(x 1,x 2,...,x n ) and the weight function wt(x) is given by wt(x) =x 1 + x x n where x i is a binary variable and + denotes the integer addition. The number of nodes in ROBDDs for the HWB function is an exponential function of n [6]. Table III compares the memory sizes of DDs for HWB functions. We took the numbers of nodes for ROBDDs and FBDDs from [10] and [11] and calculated the memory sizes of ROBDDs and FBDDs using (2.1) in Section II-F. The column labeled n denotes the number

8 1652 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 11, NOVEMBER 2005 TABLE IV MEMORY SIZES OF ROBDDS, FBDDS, AND HETEROGENEOUS MDDS FORMCNC BENCHMARK FUNCTIONS Heterogeneous MDDs require smaller memory sizes than FBDDs for 14 out of 21 benchmark functions in Table IV. Especially, for C499, dalu, and vda, heterogeneous MDDs require at most 80% of the memory sizes for the FBDDs. of binary variables for HWB functions. The column labeled MDD denotes the memory sizes of heterogeneous MDDs. For n =4to 6, the memory sizes of minimum DDs obtained by exact minimization algorithms are given. For n =10to 22, the memory sizes of DDs obtained by heuristic minimization algorithms are given, that is, they may not be an exact minimum. The bottom row Avg. denotes the arithmetic average of the relative memory sizes, where the memory size of ROBDD is set to Note that ROBDDs, FBDDs, and heterogeneous MDDs in this table use complemented edges to make our results compatible with the results in [10] and [11]. For these functions, on the average, FBDDs require 92% of the memory size for ROBDDs while heterogeneous MDDs require 71% of the memory size for ROBDDs. Algorithm 3.1 could obtain exact minimum heterogeneous MDDs for functions with up to 12 inputs within a reasonable computation time while the exact FBDD minimization algorithm [10] can find the minimum one for functions with up to eight inputs. Table IV compares heterogeneous MDDs with ROBDDs and FBDDs for selected MCNC benchmark functions. The ROBDDs are obtained by the best known variable orders [37], and the numbers of nodes for FBDDs are taken from [10] and [11]. Table IV includes the same benchmark functions as the experiments in [10] and [11] except for alu2. Unfortunately, the variable order of ROBDD for alu2 is not shown in [37]. The memory sizes of ROBDDs and FBDDs are calculated by (2.1) in Section II-F. The columns In and Out in Table IV denote the number of inputs and outputs for each benchmark function, respectively. Column MDD denotes the heterogeneous MDDs obtained by Algorithm 3.2, where the ROBDDs [37] are used as initial solutions. The DDs in this table may not be the exact minimum since the algorithms are heuristic methods. The bottom row Average of Ratios denotes the arithmetic average of the relative memory sizes, where the memory size of ROBDD is set to Note that ROBDDs, FBDDs, and heterogeneous MDDs in this table use complemented edges to make our results compatible with the results in [10], [11], and [37]. B. Comparison With ROBDDs Table V compares the memory sizes and the APLs of ROBDDs and heterogeneous MDDs for n-variable logic functions. The ROBDDs and heterogeneous MDDs were optimized using four different algorithms: 1) exact nodes minimization algorithm for an ROBDD considering only the orderings (column MinNodes ); 2) exact APL minimization algorithm for an ROBDD considering only the orderings of binary variables (column MinAPL B ); 3) exact memory size minimization algorithm for a heterogeneous MDD (Algorithm 3.1) considering both orderings and partitions of binary variables (column MinMem ); and 4) exact APL minimization algorithm for a heterogeneous MDD (Algorithm 3.3) considering both orderings and partitions of binary variables (column MinAPL M ). The memory size limitations L for Algorithm 3.3 were set to the memory sizes of the ROBDDs in MinNodes. The values in this table are the normalized averages of n-variable logic functions, where the memory sizes and APLs of MinNodes are set to Columns MinAPL B, MinMem, and MinAPL M show the relative values of the memory sizes and APLs to MinNodes. Column #samples denotes the number of sample functions used for each n-variable function. Note that the ROBDDs and heterogeneous MDDs in this table do not use complemented edges. For four- and five-variable logic functions, we calculated the exact averages over all functions. This was done by recognizing that the minimum memory size and the APL for a function in one NPN equivalence class [24], [35] are identical to the minimum memory sizes and APLs for other functions in the same class. Thus, it is sufficient to consider only one function from each class and form a sum weighted by the size of each class. For a larger n, there are too many NPN equivalence classes. For 6 n 10, we generated 1000 pseudorandom n-variable logic functions with different number of minterms and calculated the normalized averages for them. For ROBDDs, APLs can be reduced by up to 97% of ROBDDs with the minimum nodes but the memory sizes increase to 108%. On the other hand, for heterogeneous MDDs, the APLs can be reduced by up to 17% of ROBDDs with the minimum nodes without increasing memory sizes, and both the memory sizes and APLs can be reduced by up to 54% and 26% of minimum ROBDDs, respectively. Table V shows that the relative values of memory sizes and APLs for heterogeneous MDDs decrease as the number of binary variables n increases. Algorithm 3.3 finds exact minimum APLs of heterogeneous MDDs for functions with up to 11 variables within a reasonable computation time. To demonstrate Theorem 2.4, Corollary 2.1, and Theorem 2.5, we randomly generated n-variable functions with 2 n 1 minterms for n =22 to 29. For randomly generated n-variable functions with 2 n 1 minterms, the number of nodes in ROBDD is nearly equal to the upper bound [25], [34].

9 NAGAYAMA AND SASAO: ON THE OPTIMIZATION OF HETEROGENEOUS MDDs 1653 TABLE V MEMORY SIZES AND APLS OFROBDDS AND HETEROGENEOUS MDDS FORn-VARIABLE LOGIC FUNCTIONS TABLE VI MEMORY SIZES AND APLS OFROBDDS AND HETEROGENEOUS MDDS FORRANDOMLY GENERATED FUNCTIONS TABLE VII MEMORY SIZES AND APLS OFROBDDS AND HETEROGENEOUS MDDS FORMCNC BENCHMARK FUNCTIONS Table VI shows the memory sizes and APLs of ROBDDs and heterogeneous MDDs. The column labeled r shows the largest integer satisfying n r 2 r. The column MinMem denotes the heterogeneous MDDs obtained by Algorithm 3.2. The column MinAPL denotes the heterogeneous MDDs obtained by Algorithm 3.4. The memory size limitations L for Algorithm 3.4 are set to the memory sizes of the ROBDDs. Column BDD/MDD shows the values given by Mem(heterogeneous MDD in MinMem ). Mem(ROBDD) The column γ denotes the ratio used in Theorem 2.4, i.e., γ = 2s +3 3(2 s +1) where s =2 r + r n. Note that the ROBDDs and heterogeneous MDDs in this table do not use complemented edges. The memory sizes and APLs in this table may not be an exact minimum since the algorithms are heuristic methods. Table VI shows that for these randomly generated functions with 2 n 1 minterms, Theorem 2.4, Corollary 2.1, and Theorem 2.5 hold; that is, BDD/MDD approaches 0.33 when n is large, MinAPL is smaller than 2.0, and Mem(heterogeneous MDD) Mem(ROBDD). Table VII compares memory sizes and APLs of ROBDDs and heterogeneous MDDs for the same MCNC benchmark functions as Table IV. Columns labeled MinNodes denote the ROBDDs obtained by the best known variable orders [37]. These were used as the initial ROBDDs for the algorithms in this experiment. Columns MinAPL B denote the ROBDDs obtained by the sifting algorithm for the APLs [28]. Columns MinMem denote the heterogeneous MDDs obtained by

10 1654 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 11, NOVEMBER 2005 TABLE VIII CPU TIMES (SECOND) FOR MEMORY SIZE AND APL MINIMIZATION ALGORITHMS Algorithm 3.2. And columns MinAPL M denote the heterogeneous MDDs obtained by Algorithm 3.4. The memory size limitations L for Algorithm 3.4 were set to the memory sizes of the ROBDD in MinNodes. In the sifting algorithm [28] and Algorithm 3.4, the number of rounds of sifting was set to two. Note that the ROBDDs and heterogeneous MDDs in this table use complemented edges. The memory sizes and APLs in this table may not be an exact minimum since the algorithms are heuristic methods. The row labeled Average of Ratios represents the normalized averages of memory size and APL, where the memory size and the APL of MinNodes are set to The sifting algorithm [28] reduced APLs to 88% of MinNodes, on average, but doubled the memory sizes. Especially, for C880, C1908, i10, and too_large, the sifting algorithm increased the memory sizes significantly. On the other hand, by considering both orderings and partitions of binary variables, Algorithm 3.2 reduced both memory sizes and APLs to 86% and 67% of MinNodes, respectively. Algorithm 3.4 reduced APLs to 51% of MinNodes without increasing the memory size. C. Comparison of Computation Time for Algorithms Table VIII compares the computation times for the sifting algorithm for the APLs [28], Algorithm 3.2, and Algorithm 3.4. The values in Table VIII show the CPU times needed to obtain the ROBDDs and heterogeneous MDDs in Table VII, in seconds. Although Algorithm 3.2 considers both orderings and partitions of binary variables for memory size minimization, its computation time is as short as that of the sifting algorithm that considers only variable orderings for APL minimization. Algorithm 3.4 requires longer computation times than the other two algorithms since Algorithm 3.4 keeps the memory size within the limitation as well as minimizes the APL. D. Comparison With MDD(k)s Similarly, we compared heterogeneous MDDs with MDD(k)s. Tables IX and X compare the memory sizes and APLs of ROBDDs, heterogeneous MDDs, and MDD(k)s for n- variable logic functions, respectively. In these tables, MDD(k)s have the exact fewest nodes. The values in these tables are the normalized averages of n-variable logic functions, where the memory sizes and APLs of ROBDD with the fewest nodes (column ROBDD ) are set to Columns Min- Mem, MinAPL M, MDD(2)s, MDD(3), MDD(4), and MDD(5) show the relative values of the memory sizes and APLs to ROBDD. From Tables IX and X, it can be seen that: for n-variable logic functions, heterogeneous MDDs obtained by Algorithm 3.3 have the APLs as small as MDD(5)s. The memory sizes of MDD(5)s are twice the memory sizes of ROBDDs. On the other hand, heterogeneous MDDs have smaller memory sizes than ROBDDs. Tables XI and XII compare the memory sizes and APLs of ROBDDs, heterogeneous MDDs, and MDD(k)s for MCNC benchmark functions, respectively. MDD(k)s in these tables are obtained by the minimization algorithm in [33]. ROBDDs and heterogeneous MDDs are the same as those in Table VII. Tables XI and XII show that in heterogeneous MDDs, APLs can be reduced to half of the ROBDDs without increasing memory sizes. On the other hand, in MDD(k)s, to reduce the APLs to half of the ROBDDs, we need to increase the memory sizes to 488% of the ROBDDs. The APLs of heterogeneous MDDs obtained by the memory size minimization algorithm (Algorithm 3.2) are as small as the APLs of MDD(3)s. Finally, Table XIII compares the area time complexities [4], [6], [39] of ROBDDs, heterogeneous MDDs, and MDD(k)s for MCNC benchmark functions. The area time complexity is the measure of computational cost considering both area and time. It is defined as AT =area time. In this section, the area A corresponds to the memory size and the time T corresponds to APL. Table XIII shows that for these benchmark functions, area time complexities of heterogeneous MDDs are half of the ROBDDs and are much smaller than MDD(k)s. V. C ONCLUSION AND COMMENTS This paper proposed minimization algorithms for the memory size and average path length (APL) of heterogeneous multivalued decision diagrams (MDDs) that consider both orderings and partitions of binary variables. The experimental results show that: 1) heterogeneous MDDs represent logic functions more compactly than reduced ordered binary decision diagrams (ROBDD s) and free BDDs. Especially, for all five-variable logic functions, the minimum heterogeneous MDDs require 67% of the memory sizes for the minimum ROBDDs, on average. Algorithm 3.1 can find exact minimum heterogeneous MDDs for functions with up to 12 inputs in a reasonable computation time, and Algorithm 3.2 can reduce the memory

11 NAGAYAMA AND SASAO: ON THE OPTIMIZATION OF HETEROGENEOUS MDDs 1655 TABLE IX MEMORY SIZES OF ROBDDS, HETEROGENEOUS MDDS, AND MDD(k)s FOR n-variable LOGIC FUNCTIONS TABLE X APLS OFROBDDS, HETEROGENEOUS MDDS, AND MDD(k)s FOR n-variable LOGIC FUNCTIONS TABLE XI MEMORY SIZES OF ROBDDS,HETEROGENEOUS MDDS, AND MDD(k)s FOR MCNC BENCHMARK FUNCTIONS TABLE XII APLS OFROBDDS,HETEROGENEOUS MDDS, AND MDD(k)s FOR MCNC BENCHMARK FUNCTIONS

12 1656 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 11, NOVEMBER 2005 TABLE XIII AREA TIME COMPLEXITIES OF ROBDDS,HETEROGENEOUS MDDS, AND MDD(k)s FOR MCNC BENCHMARK FUNCTIONS size of heterogeneous MDDs as fast as the sifting algorithm [28]; 2) in heterogeneous MDDs, APLs can be reduced by half of the corresponding ROBDDs, on average, without increasing the memory size. And both memory sizes and APLs can be reduced to 86% and 67% of ROBDDs, respectively. Algorithm 3.3, considering both partitions and orderings of binary variables, finds heterogeneous MDDs with the minimum APLs for functions with up to 11 variables within a reasonable time, and 3) in MDD(k)s, to reduce the APLs to half of the ROBDDs, we need to increase the memory sizes to 488% of the ROBDDs. Area time complexities of heterogeneous MDDs are half of the ROBDDs and are much smaller than MDD(k)s. APPENDIX The following lemma is used in the proof of Theorem 2.1. Lemma A.1 [18]: The number of different distributions of n objects into r distinct cells is calculated by the formula a(n, r) = r rc i (r i) n ( 1) i i=0 where each cell has at least one object and the order of objects within a cell is not important. Theorem 2.1: Let N nonfix (n) be the number of different nonfixed-order partitions of X =(x 1,x 2,...,x n ). Then N nonfix (n) = n a(n, r) = r=1 n r=1 i=0 r rc i (r i) n ( 1) i. Proof: From Lemma A.1, the number of different nonfixed-order partitions of n binary variables into r super variables is calculated by r a(n, r) = rc i (r i) n ( 1) i. i=0 Since N nonfix (n) is the summation of a(n, r) for r = 1, 2,...,n, we have the theorem. Theorem 2.3: Consider an ROBDD and a heterogeneous MDD for an n-variable logic function that is not a constant function. When an order of binary variables is fixed, for the memory sizes of ROBDD and heterogeneous MDD obtained by considering only the fixed-order partitions, the following relation holds: Mem(heterogeneous MDD) > 1 Mem(ROBDD) 3. Proof: From Theorem 2.2, we have 3 Mem(heterogeneous MDD) 3 nodes(robdd) + 6 = Mem(ROBDD) + 6. Therefore, we have Mem(heterogeneous MDD) Mem(ROBDD) Mem(ROBDD) > 1 3. Theorem 2.4: Assume that the number of nodes in an ROBDD for an n-variable function f is the upper bound [17] 2 n r +2 2r 3 where r is the largest integer satisfying n r 2 r. Let Mem min (MDD) be the memory size of the minimum heterogeneous MDD for f. Lets =2 r + r n, where 0 s 2 r. When n is large and 2 s 2 r, the following relation holds: Mem min (MDD) Mem(ROBDD) 2s +3 3(2 s +1). Proof: From (2.1) in Section II-F, we have Mem(ROBDD) = 3 ( 2 n r +2 2r 3 ). The memory size of the minimum heterogeneous MDD for f is given by Mem min (MDD) = 2 n r +32 2r 5

13 NAGAYAMA AND SASAO: ON THE OPTIMIZATION OF HETEROGENEOUS MDDs 1657 where r is the largest integer satisfying n r 2 r + log 2 3 [27]. When 2 s 2 r, the following relation holds: n r =2 r + s 2 n r =2 s 2 2r r = r. Then, when n is large, we have Mem(ROBDD) = 3 ( 2 s 2 2r +2 2r 3 ) =3(2 s + 1)2 2r 9 3(2 s + 1)2 2r Mem min (MDD) = 2 s 2 2r r 5 =(2 s + 3)2 2r 5 (2 s + 3)2 2r. Therefore, we have the theorem. Corollary 2.1: In Theorem 2.4, when n is sufficiently large and s =0or 9 s 2 r, the following relation holds: Mem min (MDD) Mem(ROBDD) Proof: 1) When s =0(i.e., n r =2 r ), 2 n r =2 2r and r = r 1 hold. Then, we have Mem(ROBDD) = 3 ( 2 2r +2 2r 3 ) =6 2 2r 9 Mem min (MDD) = 2 n r r 5 Let b =(2 2r ) 1/2, then =2 2 n r +3 ( 2 2r ) =2 2 2r +3 ( 2 2r ) Mem(ROBDD) = 6b 2 9 6b 2 Mem min (MDD) = 2b 2 +3b 5 b(2b +3). Therefore, when n is large, the following relation holds: Mem min (MDD) b(2b +3) Mem(ROBDD) 6b 2 = b ) From Theorem 2.4, when 9 s 2 r, the corollary holds. The following lemma is used for proof of Theorem 2.5. Lemma A.2: Let r and r be the largest integers satisfying { n r 2 r n r 2 r + r where n is a nonzero positive integer. Then, for r and r,the following relation holds: r 1 r r. Proof: From n r 2 r,wehave n =2 r + r + a where a is an integer satisfying 0 a 2 r. Let r = r + b, where b is an integer. Then, from n r 2 r + r,wehave n 2 r +2r =2 r+b +2(r + b) 2 r + r + a 2 r+b +2(r + b) (1 2 b )2 r r 2b + a 0. (A.1) 1) When b>0, (A.1) does not hold. 2) When b =0, (A.1) holds for r a 2 r. 3) When b<0, (A.1) holds for 0 a 2 r. Since r is the largest integer satisfying n r 2 r + r, b must be the largest integer satisfying (A.1). Therefore, we have the following relation: { r = r (i.e., b =0), when r a 2 r r = r 1(i.e., b = 1), when 0 a r. Theorem 2.5: When the number of nodes in an ROBDD for an n-variable function f is the upper bound [17] 2 n r +2 2r 3 where r is the largest integer satisfying n r 2 r, there exists a heterogeneous MDD for f that satisfies APL(heterogeneous MDD) 2.0 Mem(heterogeneous MDD) Mem(ROBDD). Proof: When a heterogeneous MDD is represented by two super variables: X 1 =(x 1,x 2,...,x n r ) and X 2 = (x n r +1,x n r +2,...,x n ) APL(heterogeneous MDD) 2.0 where for simplicity, we assume that the variable order is (x 1,x 2,...,x n ). In this case, the memory size of the heterogeneous MDD is given by ( )( ) 2 n r r r 2 where r is the largest integer satisfying n r 2 r + r. From here, we will prove that this memory size is smaller than or equal to that of ROBDD ( )( ) 2 n r r r 2 3 ( 2 n r +2 2r 3 ).

14 1658 IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, VOL. 24, NO. 11, NOVEMBER 2005 By Lemma A.2, we have to only consider two cases: r = r and r = r 1. 1) When r = r, wehave Mem(ROBDD) = 3 ( 2 n r +2 2r 3 ) Mem(heterogeneous MDD) =2 n r +1+(2 r +1) ( 2 2r 2 ) Mem(ROBDD) Mem(heterogeneous MDD) =2 ( 2 n r +2 2r +2 r) 2 2r +r 8. From n r 2 r + r, wehave 2 ( 2 n r +2 2r +2 r) 2 2r +r 8 2 ( 2 n r +2 2r +2 r) 2 n r 8 =2 n r +2 ( 2 2r +2 r) 8. Since n 1 and r 0, wehave 2 n r +2 ( 2 2r +2 r) ) When r = r 1, wehave ( ) Mem(ROBDD) = 3 2 n r r +1 3 Mem(heterogeneous MDD) ( )( ) =2 n r r r 2 Mem(ROBDD) Mem(heterogeneous MDD) ( ) =2 n r r +1 2 r r +2 r From n r 2 r and r = r +1,wehaven r 1 2 r +1. Then ( ) 2 n r r +1 2 r r +2 r +1 8 ( ) 2 2r r +1 2 r r +2 r +1 8 ) =2 (4 2r 2 2r 2 r 1 +2 r Since r 0 and (4 2 2r 2 r 1) 6, wehave ) 2 (4 2r 2 2r 2 r 1 +2 r Therefore, the theorem holds. REFERENCES [1] P. Ashar and S. Malik, Fast functional simulation using branching programs, in Proc. Int. Conf. Computer-Aided Design (ICCAD), San Jose, CA, Nov. 1995, pp [2] F. Balarin, M. Chiodo, P. Giusto, H. Hsieh, A. Jurecska, L. Lavagno, A. Sangiovanni-Vincentelli, E. M. Sentovich, and K. Suzuki, Synthesis of software programs for embedded control applications, IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst., vol. 18, no. 6, pp , Jun [3] K. Brace, R. Rudell, and R. E. Bryant, Efficient implementation of a BDD package, in Proc. Design Automation Conf., Orlando, FL, Jun. 1990, pp [4] R. P. Brent and H. T. Kung, The area time complexity of binary multiplication, J. ACM, vol. 28, no. 3, pp , Jul [5] R. E. Bryant, Graph-based algorithms for Boolean function manipulation, IEEE Trans. Comput., vol. C-35, no. 8, pp , Aug [6], On the complexity of VLSI implementations and graph representations of Boolean functions with application to integer multiplication, IEEE Trans. Comput., vol. 40, no. 2, pp , Feb [7] R. Drechsler, W. Günther, and F. Somenzi, Using lower bounds during dynamic BDD minimization, IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst., vol. 20, no. 1, pp , Jan [8] R. Ebendt, W. Günther, and R. Drechsler, Minimization of the expected path length in BDDs based on local changes, in Proc. Asia and South Pacific Design Automation Conf. (ASP-DAC), Yokohama, Japan, Jan. 2004, pp [9] M. Fujita, Y. Matsunaga, and T. Kakuda, On variable ordering of binary decision diagrams for the application of multi-level logic synthesis, in Proc. European Design Automation Conf. (EDAC), Amsterdam, The Netherlands, Mar. 1991, pp [10] W. Günther and R. Drechsler, Minimization of free BDDs, in Proc. Asia and South Pacific Design Automation Conf. (ASP-DAC), Wanchai, Hong Kong, Jan. 1999, pp [11] W. Günther, Minimization of free BDDs using evolutionary techniques, in Proc. Int. Workshop Logic Synthesis (IWLS), Loguna Cliffs Marriott, Dana Point, CA, May 2000, pp [12] H. M. Hasan Babu and T. Sasao, Heuristics to minimize multiplevalued decision diagrams, IEICE Trans. Fundam., vol. E83-A, no. 12, pp , Dec [13] Y. Iguchi, T. Sasao, M. Matsuura, and A. Iseno, A hardware simulation engine based on decision diagrams, in Proc. Asia and South Pacific Design Automation Conf. (ASP-DAC), Yokohama, Japan, Jan. 2000, pp [14] N. Ishiura, H. Sawada, and S. Yajima, Minimization of binary decision diagrams based on exchanges of variables, in Proc. Int. Conf. Computer- Aided Design (ICCAD), Santa Clara, CA, Nov. 1991, pp [15] Y. Jiang and B. K. Brayton, Software synthesis from synchronous specifications using logic simulation techniques, in Proc. Design Automation Conf., New Orleans, LA, Jun. 2002, pp [16] T. Kam, T. Villa, R. K. Brayton, and A. L. Sangiovanni-Vincentelli, Multi-valued decision diagrams: Theory and applications, Int. J. Mult.-Valued Logic, vol. 4, no. 1 2, pp. 9 62, [17] H.-T. Liaw and C.-S. Lin, On the OBDD-representation of general Boolean function, IEEE Trans. Comput., vol. 4, no. 6, pp , Jun [18] C. L. Liu, Introduction to Combinatorial Mathematics. New York: McGraw-Hill, [19] P. C. McGeer, K. L. McMillan, A. Saldanha, A. L. Sangiovanni- Vincentelli, and P. Scaglia, Fast discrete function evaluation using decision diagrams, in Proc. Int. Conf. Computer-Aided Design (ICCAD), San Jose, CA, Nov. 1995, pp [20] D. M. Miller and R. Drechsler, Implementing a multiple-valued decision diagram package, in Proc. 28th Int. Symp. Multiple-Valued Logic, Fukuoka, Japan, May 1998, pp [21], Augmented sifting of multiple-valued decision diagrams, in Proc. 33rd Int. Symp. Multiple-Valued Logic, Tokyo, Japan, May 2003, pp [22] S. Minato, N. Ishiura, and S. Yajima, Shared binary decision diagram with attributed edges for efficient Boolean function manipulation, in Proc. Design Automation Conf., Orlando, FL, Jun. 1990, pp [23] S. Minato, Minimum-width method of variable ordering for binary decision diagrams, IEICE Trans. Fundam., vol. E75-A, no. 3, pp , Mar [24] S. Muroga, Logic Design and Switching Theory. New York: Wiley- Interscience, [25] S. Nagayama, T. Sasao, Y. Iguchi, and M. Matsuura, Representations of logic functions using QRMDDs, in Proc. 32nd Int. Symp. Multiple- Valued Logic, Boston, MA, May 2002, pp [26] S. Nagayama and T. Sasao, Code generation for embedded systems using heterogeneous MDDs, in Proc. 12th Workshop Synthesis and System Integration Mixed Information Technologies (SASIMI), Hiroshima, Japan, Apr. 2003, pp [27], Compact representations of logic functions using heterogeneous MDDs, in Proc. 33rd Int. Symp. Multiple-Valued Logic, Tokyo, Japan, May 2003, pp

15 NAGAYAMA AND SASAO: ON THE OPTIMIZATION OF HETEROGENEOUS MDDs 1659 [28] S. Nagayama, A. Mishchenko, T. Sasao, and J. T. Butler, Minimization of average path length in BDDs by variable reordering, in Proc. Int. Workshop Logic and Synthesis, Laguna Beach, CA, May 2003, pp [29] S. Nagayama and T. Sasao, Compact representations of logic functions using heterogeneous MDDs, IEICE Trans. Fundam., vol. E86-A, no. 12, pp , Dec [30], Minimization of memory size for heterogeneous MDDs, in Proc. Asia and South Pacific Design Automation Conf. (ASP-DAC), Yokohama, Japan, Jan. 2004, pp [31], On the minimization of average path lengths for heterogeneous MDDs, in Proc. 34th Int. Symp. Multiple-Valued Logic, Toronto, Canada, May 2004, pp [32] R. Rudell, Dynamic variable ordering for ordered binary decision diagrams, in Proc. Int. Conf. Computer-Aided Design (ICCAD), Santa Clara, CA, Nov. 1993, pp [33] T. Sasao and J. T. Butler, A method to represent multiple-output switching functions by using multi-valued decision diagrams, in Proc. 26th Int. Symp. Multiple-Valued Logic, Santiago de Compostela, Spain, May 1996, pp [34] T. Sasao, Ternary decision diagrams survey, in Proc. 27th Int. Symp. Multiple-Valued Logic, Antigonish, NS, Canada, May 1997, pp [35], Switching Theory for Logic Synthesis. Norwell, MA: Kluwer, [36] F. Schmiedle, W. Günther, and R. Drechsler, Dynamic re-encoding during MDD minimization, in Proc. 30th Int. Symp. Multiple-Valued Logic, Portland, OR, May 2000, pp [37] F. Somenzi, CUDD: CU Decision Diagram Package Release Boulder, CO: Univ. Colorado, [38] K. Takagi, H. Hatakeda, S. Kimura, and K. Watanabe, Exact minimization of free BDDs and its application to pass-transistor logic optimization, IEICE Trans. Fundam., vol. E82-A, no. 11, pp , Nov [39] C. D. Thompson, Area time complexity for VLSI, in Proc. Ann. Symp. Theory Computing, Atlanta, GA, May 1979, pp Tsutomu Sasao (S 72 M 77 SM 90 F 94) received the B.E., M.E., and Ph.D. degrees in electronics engineering from the Osaka University, Osaka, Japan, in 1972, 1974, and 1977, respectively. He has held faculty/research positions at Osaka University, the IBM T.J. Watson Research Center, Yorktown Heights, NY, and the Naval Postgraduate School, Monterey, CA. He is currently a Professor at the Department of Computer Science and Electronics, Kyushu Institute of Technology, Iizuka, Japan. His research areas include logic design and switching theory, representations of logic functions, and multiple-valued logic. He has published more than nine books on logic design, including Logic Synthesis and Optimization, Representation of Discrete Functions, Switching Theory for Logic Synthesis, andlogic Synthesis and Verification (Kluwer Academic, 1993, 1996, 1999, and 2001) respectively. Dr. Sasao has served as Program Chairman for the IEEE International Symposium on Multiple-Valued Logic (ISMVL) many times. Also, he was the Symposium Chairman of the 28th ISMVL held in Fukuoka, Japan, in He received the National Institute of Water and Atmospheric Research (NIWA) Memorial Award in 1979, Distinctive Contribution Awards from the IEEE Computer Society Technical Committee on Multiple-Valued Logic (MVL-TC) in 1987, 1996, and 2004 for papers presented at ISMVLs, and the Takeda Techno-Entrepreneurship Award in He has served as an Associate Editor of the IEEE TRANSACTIONS ON COMPUTERS. Shinobu Nagayama (S 02 M 04) received the B.S. and M.E. degrees from the Meiji University, Kanagawa, Japan, in 2000 and 2002, respectively, and the Ph.D. degree in computer science from the Kyushu Institute of Technology, Iizuka, Japan, in He is now a Postdoctoral Researcher in Kyushu Institute of Technology. His research interest includes decision diagrams, software synthesis, and embedded systems.

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

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

A Parallel Branching Program Machine for Emulation of Sequential Circuits

A Parallel Branching Program Machine for Emulation of Sequential Circuits A Parallel Branching Program Machine for Emulation of Sequential Circuits Hiroki Nakahara 1, Tsutomu Sasao 1 Munehiro Matsuura 1, and Yoshifumi Kawamura 2 1 Kyushu Institute of Technology, Japan 2 Renesas

More information

Binary Decision Diagram with Minimum Expected Path Length

Binary Decision Diagram with Minimum Expected Path Length 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

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

x 1 x 2 ( x 1, x 2 ) X 1 X 2 two-valued output function. f 0 f 1 f 2 f p-1 x 3 x 4

x 1 x 2 ( x 1, x 2 ) X 1 X 2 two-valued output function. f 0 f 1 f 2 f p-1 x 3 x 4 A Method to Represent Multiple- Switching Functions by Using Multi-Valued Decision Diagrams Tsutomu Sasao Department of Computer Science and Electronics Kyushu Institute of Technology Iizuka 8, Japan Jon

More information

Efficient Computation of Canonical Form for Boolean Matching in Large Libraries

Efficient Computation of Canonical Form for Boolean Matching in Large Libraries Efficient Computation of Canonical Form for Boolean Matching in Large Libraries Debatosh Debnath Dept. of Computer Science & Engineering Oakland University, Rochester Michigan 48309, U.S.A. debnath@oakland.edu

More information

A Quaternary Decision Diagram Machine and the Optimization of Its Code

A Quaternary Decision Diagram Machine and the Optimization of Its Code 39th International Symposium on Multiple-Valued Logic A Quaternary Decision Diagram Machine and the Optimization o Its Code Tsutomu Sasao, Hiroki Nakahara, Munehiro Matsuura Yoshiumi Kawamura 2, Jon T.

More information

BDD Representation for Incompletely Specified Multiple-Output Logic Functions and Its Applications to the Design of LUT Cascades

BDD Representation for Incompletely Specified Multiple-Output Logic Functions and Its Applications to the Design of LUT Cascades 2762 IEICE TRANS. FUNDAMENTALS, VOL.E90 A, NO.12 DECEMBER 2007 PAPER Special Section on VLSI Design and CAD Algorithms BDD Representation for Incompletely Specified Multiple-Output Logic Functions and

More information

On Designs of Radix Converters Using Arithmetic Decompositions

On Designs of Radix Converters Using Arithmetic Decompositions On Designs of Radix Converters Using Arithmetic Decompositions Yukihiro Iguchi 1 Tsutomu Sasao Munehiro Matsuura 1 Dept. of Computer Science, Meiji University, Kawasaki 1-51, Japan Dept. of Computer Science

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

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

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

An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set

An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set An Algorithm for the Construction of Decision Diagram by Eliminating, Merging and Rearranging the Input Cube Set Prof. Sudha H Ayatti Department of Computer Science & Engineering KLS GIT, Belagavi, Karnataka,

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

Numerical Function Generators Using Edge-Valued Binary Decision Diagrams

Numerical Function Generators Using Edge-Valued Binary Decision Diagrams Numerical Function Generators Using Edge-Valued Binary Decision Diagrams Shinobu Nagayama Tsutomu Sasao Jon T. Butler Dept. of Computer Engineering, Dept. of Computer Science Dept. of Electrical and Computer

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

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

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

A Quaternary Decision Diagram Machine: Optimization of Its Code

A Quaternary Decision Diagram Machine: Optimization of Its Code 2026 IEICE TRANS. INF. & SYST., VOL.E93 D, NO.8 AUGUST 2010 INVITED PAPER Special Section on Multiple-Valued Logic and VLSI Computing A Quaternary Decision Diagram Machine: Optimization of Its Code Tsutomu

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

Minimization of Multiple-Valued Functions in Post Algebra

Minimization of Multiple-Valued Functions in Post Algebra Minimization of Multiple-Valued Functions in Post Algebra Elena Dubrova Yunjian Jiang Robert Brayton Department of Electronics Dept. of Electrical Engineering and Computer Sciences Royal Institute of Technology

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

Inadmissible Class of Boolean Functions under Stuck-at Faults

Inadmissible Class of Boolean Functions under Stuck-at Faults Inadmissible Class of Boolean Functions under Stuck-at Faults Debesh K. Das 1, Debabani Chowdhury 1, Bhargab B. Bhattacharya 2, Tsutomu Sasao 3 1 Computer Sc. & Engg. Dept., Jadavpur University, Kolkata

More information

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model 356 Int'l Conf. Par. and Dist. Proc. Tech. and Appl. PDPTA'16 Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model Hirofumi Suzuki, Sun Hao, and Shin-ichi Minato Graduate

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

ARITHMETIC operations based on residue number systems

ARITHMETIC operations based on residue number systems IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: EXPRESS BRIEFS, VOL. 53, NO. 2, FEBRUARY 2006 133 Improved Memoryless RNS Forward Converter Based on the Periodicity of Residues A. B. Premkumar, Senior Member,

More information

BuildingCircuitsfrom Relations

BuildingCircuitsfrom Relations BuildingCircuitsfrom Relations James H. Kukula and Thomas R. Shiple 2 Synopsys, Inc., Beaverton, OR. kukula@synopsys.com 2 Synopsys, Inc., Mountain View, CA. shiple@synopsys.com Abstract. Given a Free

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

BDD Representation for Incompletely Specified Multiple-Output Logic Functions and Its Applications to Functional Decomposition

BDD Representation for Incompletely Specified Multiple-Output Logic Functions and Its Applications to Functional Decomposition BDD Representation for Incompletel Specified Multiple-Output Logic Functions and Its Applications to Functional Decomposition. Tsutomu Sasao and Munehiro Matsuura Department of Computer Science and Electronics,

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

Application of LUT Cascades to Numerical Function Generators

Application of LUT Cascades to Numerical Function Generators Application of LUT Cascades to Numerical Function Generators T. Sasao J. T. Butler M. D. Riedel Department of Computer Science Department of Electrical Department of Electrical and Electronics and Computer

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

LOW-DENSITY PARITY-CHECK (LDPC) codes [1] can

LOW-DENSITY PARITY-CHECK (LDPC) codes [1] can 208 IEEE TRANSACTIONS ON MAGNETICS, VOL 42, NO 2, FEBRUARY 2006 Structured LDPC Codes for High-Density Recording: Large Girth and Low Error Floor J Lu and J M F Moura Department of Electrical and Computer

More information

Effective Memory Access Optimization by Memory Delay Modeling, Memory Allocation, and Slack Time Management

Effective Memory Access Optimization by Memory Delay Modeling, Memory Allocation, and Slack Time Management International Journal of Computer Theory and Engineering, Vol., No., December 01 Effective Memory Optimization by Memory Delay Modeling, Memory Allocation, and Slack Time Management Sultan Daud Khan, Member,

More information

Design of Framework for Logic Synthesis Engine

Design of Framework for Logic Synthesis Engine Design of Framework for Logic Synthesis Engine Tribikram Pradhan 1, Pramod Kumar 2, Anil N S 3, Amit Bakshi 4 1 School of Information technology and Engineering, VIT University, Vellore 632014, Tamilnadu,

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

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

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

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

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

SEPP: a New Compact Three-Level Logic Form

SEPP: a New Compact Three-Level Logic Form SEPP: a New Compact Three-Level Logic Form Valentina Ciriani Department of Information Technologies Università degli Studi di Milano, Italy valentina.ciriani@unimi.it Anna Bernasconi Department of Computer

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

Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers

Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers , October 20-22, 2010, San Francisco, USA Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers I-Lun Tseng, Member, IAENG, Huan-Wen Chen, and Che-I Lee Abstract Longest-path routing problems,

More information

Assign auniquecodeto each state to produce a. Given jsj states, needed at least dlog jsje state bits. (minimum width encoding), at most jsj state bits

Assign auniquecodeto each state to produce a. Given jsj states, needed at least dlog jsje state bits. (minimum width encoding), at most jsj state bits State Assignment The problem: Assign auniquecodeto each state to produce a logic level description. Given jsj states, needed at least dlog jsje state bits (minimum width encoding), at most jsj state bits

More information

Finding Simple Disjoint Decompositions in Frequent Itemset Data Using Zero-suppressed BDDs

Finding Simple Disjoint Decompositions in Frequent Itemset Data Using Zero-suppressed BDDs Finding Simple Disjoint Decompositions in Frequent Itemset Data Using Zero-suppressed BDDs Shin-ichi Minato Hokkaido University minato@ist.hokudai.ac.jp Abstract In this paper, we propose a method of finding

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

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

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

An Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation*

An Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation* An Enhanced Perturbing Algorithm for Floorplan Design Using the O-tree Representation* Yingxin Pang Dept.ofCSE Univ. of California, San Diego La Jolla, CA 92093 ypang@cs.ucsd.edu Chung-Kuan Cheng Dept.ofCSE

More information

/$ IEEE

/$ IEEE IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: EXPRESS BRIEFS, VOL. 56, NO. 1, JANUARY 2009 81 Bit-Level Extrinsic Information Exchange Method for Double-Binary Turbo Codes Ji-Hoon Kim, Student Member,

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

Heuristic Algorithms for Multiconstrained Quality-of-Service Routing

Heuristic Algorithms for Multiconstrained Quality-of-Service Routing 244 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 10, NO 2, APRIL 2002 Heuristic Algorithms for Multiconstrained Quality-of-Service Routing Xin Yuan, Member, IEEE Abstract Multiconstrained quality-of-service

More information

Piecewise Arithmetic Expressions of Numeric Functions and Their Application to Design of Numeric Function Generators

Piecewise Arithmetic Expressions of Numeric Functions and Their Application to Design of Numeric Function Generators J. of Mult.-Valued Logic & Soft Computing, Vol. 0, pp. 2 203 Old City Publishing, Inc. Reprints available directly from the publisher Published by license under the OCP Science imprint, Photocopying permitted

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

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

An Area-Efficient BIRA With 1-D Spare Segments

An Area-Efficient BIRA With 1-D Spare Segments 206 IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 26, NO. 1, JANUARY 2018 An Area-Efficient BIRA With 1-D Spare Segments Donghyun Kim, Hayoung Lee, and Sungho Kang Abstract The

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

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

What graphs can be efficiently represented by BDDs?

What graphs can be efficiently represented by BDDs? What graphs can be efficiently represented by BDDs? C. Dong P. Molitor Institute of Computer Science Martin-Luther University of Halle-Wittenberg Halle(Saale), D-62, Germany Abstract We have carried out

More information

Error Bounded Exact BDD Minimization in Approximate Computing

Error Bounded Exact BDD Minimization in Approximate Computing Error Bounded Exact BDD Minimization in Approximate Computing Saman Froehlich 1, Daniel Große 1,2, Rolf Drechsler 1,2 1 Cyber-Physical Systems, DFKI GmbH, Bremen, Germany 2 Group of Computer Architecture,

More information

Fast Generation of Lexicographic Satisfiable Assignments: Enabling Canonicity in SAT-based Applications

Fast Generation of Lexicographic Satisfiable Assignments: Enabling Canonicity in SAT-based Applications Fast Generation of Lexicographic Satisfiable Assignments: Enabling Canonicity in -based Applications Ana Petkovska 1 ana.petkovska@epfl.ch Giovanni De Micheli 1 giovanni.demicheli@epfl.ch Alan Mishchenko

More information

A Relational View of Subgraph Isomorphism

A Relational View of Subgraph Isomorphism A Relational View of Subgraph Isomorphism J. Cortadella and G. Valiente Department of Software, Technical University of Catalonia, Barcelona, Spain Abstract. This paper presents a novel approach to the

More information

Efficient Test Compaction for Combinational Circuits Based on Fault Detection Count-Directed Clustering

Efficient Test Compaction for Combinational Circuits Based on Fault Detection Count-Directed Clustering Efficient Test Compaction for Combinational Circuits Based on Fault Detection Count-Directed Clustering Aiman El-Maleh, Saqib Khurshid King Fahd University of Petroleum and Minerals Dhahran, Saudi Arabia

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

On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping

On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping On Nominal Delay Minimization in LUT-Based FPGA Technology Mapping Jason Cong and Yuzheng Ding Department of Computer Science University of California, Los Angeles, CA 90024 Abstract In this report, we

More information

Design and Implementation of Signed, Rounded and Truncated Multipliers using Modified Booth Algorithm for Dsp Systems.

Design and Implementation of Signed, Rounded and Truncated Multipliers using Modified Booth Algorithm for Dsp Systems. Design and Implementation of Signed, Rounded and Truncated Multipliers using Modified Booth Algorithm for Dsp Systems. K. Ram Prakash 1, A.V.Sanju 2 1 Professor, 2 PG scholar, Department of Electronics

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

Hierarchical Exact Symbolic Analysis of Large Analog Integrated Circuits By Symbolic Stamps

Hierarchical Exact Symbolic Analysis of Large Analog Integrated Circuits By Symbolic Stamps Hierarchical Exact Symbolic Analysis of Large Analog Integrated ircuits By Symbolic Stamps Hui Xu, Guoyong Shi and Xiaopeng Li School of Microelectronics, Shanghai Jiao Tong Univ. Shanghai, hina ontents

More information

Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison Units

Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison Units IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 9, NO. 5, OCTOBER 2001 679 Resynthesis of Combinational Logic Circuits for Improved Path Delay Fault Testability Using Comparison

More information

An Architecture for IPv6 Lookup Using Parallel Index Generation Units

An Architecture for IPv6 Lookup Using Parallel Index Generation Units An Architecture for IPv6 Lookup Using Parallel Index Generation Units Hiroki Nakahara, Tsutomu Sasao, and Munehiro Matsuura Kagoshima University, Japan Kyushu Institute of Technology, Japan Abstract. This

More information

An Algorithm for k-pairwise Cluster-fault-tolerant Disjoint Paths in a Burnt Pancake Graph

An Algorithm for k-pairwise Cluster-fault-tolerant Disjoint Paths in a Burnt Pancake Graph 2015 International Conference on Computational Science and Computational Intelligence An Algorithm for k-pairwise Cluster-fault-tolerant Disjoint Paths in a Burnt Pancake Graph Masato Tokuda, Yuki Hirai,

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

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

A Novel SAT All-Solutions Solver for Efficient Preimage Computation

A Novel SAT All-Solutions Solver for Efficient Preimage Computation A Novel SAT All-Solutions Solver for Efficient Preimage Computation Bin Li Department of ECE Virginia Tech. Blacksburg, VA, 24061 Michael S. Hsiao Department of ECE Virginia Tech. Blacksburg, VA, 24061

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

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

Node-to-Set Disjoint Paths Problem in Pancake Graphs

Node-to-Set Disjoint Paths Problem in Pancake Graphs 1628 IEICE TRANS. INF. & SYST., VOL.E86 D, NO.9 SEPTEMBER 2003 PAPER Special Issue on Parallel and Distributed Computing, Applications and Technologies Node-to-Set Disjoint Paths Problem in Pancake Graphs

More information

Efficient SAT-based Boolean Matching for FPGA Technology Mapping

Efficient SAT-based Boolean Matching for FPGA Technology Mapping Efficient SAT-based Boolean Matching for FPGA Technology Mapping Sean Safarpour, Andreas Veneris Department of Electrical and Computer Engineering University of Toronto Toronto, ON, Canada {sean, veneris}@eecg.toronto.edu

More information

FIXED POLARITY REED-MULLER MINIMIZATION OF INCOMPLETELY SPECIFIED BOOLEAN FUNCTIONS BASED ON INFORMATION ESTIMATIONS ON DECISION TREES *

FIXED POLARITY REED-MULLER MINIMIZATION OF INCOMPLETELY SPECIFIED BOOLEAN FUNCTIONS BASED ON INFORMATION ESTIMATIONS ON DECISION TREES * Proceedings of the IAPR International Conference on Pattern Recognition and Information Processing, PRIP 99, Minsk, Belarus, 999, pp. 97-206 FIXED POLARITY REED-MULLER MINIMIZATION OF INCOMPLETELY SPECIFIED

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

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

WITH integrated circuits, especially system-on-chip

WITH integrated circuits, especially system-on-chip IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 14, NO. 11, NOVEMBER 2006 1227 Improving Linear Test Data Compression Kedarnath J. Balakrishnan, Member, IEEE, and Nur A. Touba, Senior

More information

Compiling Bayesian Networks by Symbolic Probability Calculation Based on Zero-suppressed BDDs

Compiling Bayesian Networks by Symbolic Probability Calculation Based on Zero-suppressed BDDs Compiling Bayesian Networks by Symbolic Probability Calculation Based on Zero-suppressed BDDs Shin-ichi Minato Div. of Computer Science Hokkaido University Sapporo 6 814, Japan Ken Satoh National Institute

More information

Transistors NODES. Time (sec) No. of Nodes/Transistors

Transistors NODES. Time (sec) No. of Nodes/Transistors Binary Tree Structure for Formal Verication of Combinational ICs FATMA A. EL-LICY, and HODA S. ABDEL-ATY-ZOHDY Microelectronics System Design Laboratory Department of Electrical and Systems Engineering

More information

Loughborough University Institutional Repository. IEEE Transactions on Reliability, 51(3), pp

Loughborough University Institutional Repository. IEEE Transactions on Reliability, 51(3), pp Loughborough University Institutional Repository Choosing a heuristic for the fault tree to binary decision diagram conversion, using neural networks This item was submitted to Loughborough University's

More information

Generating edge covers of path graphs

Generating edge covers of path graphs Generating edge covers of path graphs J. Raymundo Marcial-Romero, J. A. Hernández, Vianney Muñoz-Jiménez and Héctor A. Montes-Venegas Facultad de Ingeniería, Universidad Autónoma del Estado de México,

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

Fast algorithm for generating ascending compositions

Fast algorithm for generating ascending compositions manuscript No. (will be inserted by the editor) Fast algorithm for generating ascending compositions Mircea Merca Received: date / Accepted: date Abstract In this paper we give a fast algorithm to generate

More information

Binary Decision Diagrams and Beyond: Enabling Technologies for Formal Verification

Binary Decision Diagrams and Beyond: Enabling Technologies for Formal Verification Binary Decision Diagrams and Beyond: Enabling Technologies for Formal Verification Randal E. Bryant Carnegie Mellon University Pittsburgh, PA 15213 Randy.Bryant@cs.cmu.edu http://www.cs.cmu/~bryant Abstract

More information

Twiddle Factor Transformation for Pipelined FFT Processing

Twiddle Factor Transformation for Pipelined FFT Processing Twiddle Factor Transformation for Pipelined FFT Processing In-Cheol Park, WonHee Son, and Ji-Hoon Kim School of EECS, Korea Advanced Institute of Science and Technology, Daejeon, Korea icpark@ee.kaist.ac.kr,

More information

Practical Test Architecture Optimization for System-on-a-Chip under Floorplanning Constraints

Practical Test Architecture Optimization for System-on-a-Chip under Floorplanning Constraints Practical Test Architecture Optimization for System-on-a-Chip under Floorplanning Constraints Makoto Sugihara, Kazuaki Murakami and Yusuke Matsunaga Institute of Systems & Information Technologies/KYUSHU

More information

Resource Efficient Multi Ported Sram Based Ternary Content Addressable Memory

Resource Efficient Multi Ported Sram Based Ternary Content Addressable Memory IOSR Journal of Engineering (IOSRJEN) ISSN (e): 2250-3021, ISSN (p): 2278-8719 PP 11-18 www.iosrjen.org Resource Efficient Multi Ported Sram Based Ternary Content Addressable Memory S.Parkavi (1) And S.Bharath

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

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

ACKNOWLEDGEMENTS. my thesis committee and for their input on this document. effort. This research was funded under NSF contract MIP

ACKNOWLEDGEMENTS. my thesis committee and for their input on this document. effort. This research was funded under NSF contract MIP ACKNOWLEDGEMENTS I would like to think my thesis advisor, Dr. Thornton, for the opportunity to work on this project, for his many insights into this research, and for the numerous times that he reviewed

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

A Hybrid Recursive Multi-Way Number Partitioning Algorithm

A Hybrid Recursive Multi-Way Number Partitioning Algorithm Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence A Hybrid Recursive Multi-Way Number Partitioning Algorithm Richard E. Korf Computer Science Department University

More information

Satisfiability Modulo Theory based Methodology for Floorplanning in VLSI Circuits

Satisfiability Modulo Theory based Methodology for Floorplanning in VLSI Circuits Satisfiability Modulo Theory based Methodology for Floorplanning in VLSI Circuits Suchandra Banerjee Anand Ratna Suchismita Roy mailnmeetsuchandra@gmail.com pacific.anand17@hotmail.com suchismita27@yahoo.com

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