Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
1997
…
12 pages
1 file
This paper addresses the problem of binary decision diagram (BDD) minimization in the presence of don't care sets. Speci cally, given an incompletely speci ed function g and a xed ordering of the variables, we propose an exact algorithm for selecting f such that f is a cover for g and the binary decision diagram for f is of minimum size. We proved that this problem is NP-complete. Here we show that the BDD minimization problem can be formulated as a binate covering problem and solved using implicit enumeration techniques similar to the ones used in the reduction of incompletely speci ed nite state machines.
IEEE Transactions on Computers, 1998
This paper addresses the problem of binary decision diagram (BDD) minimization in the presence of don't care sets. Specifically, given an incompletely specified function g and a fixed ordering of the variables, we propose an exact algorithm for selecting f such that f is a cover for g and the binary decision diagram for f is of minimum size. The approach described is the only known exact algorithm for this problem not based on the enumeration of the assignments to the points in the don't care set. We show also that our problem is NP-complete. We show that the BDD minimization problem can be formulated as a binate covering problem and solved using implicit enumeration techniques. In particular, we show that the minimum-sized binary decision diagram compatible with the specification can be found by solving a problem that is very similar to the problem of reducing incompletely specified finite state machines. We report experiments of an implicit implementation of our algorithm, by means of which a class of interesting examples was solved exactly. We compare it with existing heuristic algorithms to measure the quality of the latter.
Circuits and Systems, …, 1991
Binary Decision Diagrams (BDDs) became popular after the ordering constraints proposed by Bryant [1]. BDDs can provide compact canonical representations of Boolean functions. BDDs have been widely used in circuit testing, verification and synthesis [1 2 3 4]. An associated problem is to find good variable orderings to avoid the exponential explosion of the number of nodes and also to speed up the algorithms that manipulate BDDs. Some heuristic techniques are emploied to find good initial orderings based on the circuit structure. Usually, after the complete BDD is built no further reduction is tried. We present here a new method to reduce the number of nodes of a BDD after its construction, which we call incremental reduction. It is based on an algorithm that swap two adjacent variables in the BDD ordering. The initial ordering is obtained by an algorithm based on . Our experiments have shown that an average reduction of 20% on the number of nodes of these initial BDDs can be achieved with our method.
IEEE Transactions on Computers, 2000
AbstractÐIn this paper, we analyze the basic properties of some Boolean function classes and propose a low complexity OBDD variable ordering algorithm, which is exact (optimum) to some classes of functions and very effective to general two-level form functions. We show that the class of series-parallel functions, which can be expressed by a factored form where each variable appears exactly once, can yield exact OBDD variable orderings in polynomial time. We also study the thin Boolean functions whose corresponding OBDDs can be represented by the form of thin OBDDs in which the number of nonterminal nodes is equal to the number of input variables. We show that a thin Boolean function always has an essential prime cube cover and the class of series-parallel functions is a proper subset of thin Boolean functions. We propose a heuristic viewing OBDDs as evaluation machines with function cube covers as their inputs and apply a queuing principle in the algorithm design. Our heuristic, the augmented Dynamic Shortest Cube First algorithm, is proven to be optimum for the seriesparallel functions and also be very effective for general two-level form functions. Experimental results on a large number of two-level form benchmark circuits show that the algorithm yields an OBDD total size reduction of over 51 percent with only 7 percent CPU time compared to the well-known network-based Fan-In Heuristic implemented in the SIS package. Comparing to the known exact results, ours is only 49 percent larger in size while only uses 0.001 percent CPU time.
VLSI: Integrated Systems on Silicon, 1997
Abstract This paper addresses the problem of binary decision diagram (BDD) minimization in the presence of don't care sets. Speci cally, given an incompletely speci ed function g and a xed ordering of the variables, we propose an exact algorithm for selecting f such that f is a cover for g and the binary decision diagram for f is of minimum size. We proved that this problem is NP-complete. Here we show that the BDD minimization problem can be formulated as a binate covering problem and solved using implicit enumeration ...
IEEE Transactions on Computers, 1993
Binary Decision Diagrams (BDD's) are a representation of Boolean functions. Its use in the synthesis, simulation and testing of Boolean circuits has been proposed by various researchers. In all these applications of BDD's solutions to some fundamental computational problems are needed. We present a characterization of BDD's in terms of the complexity of these computational problems. A tighter bound on the size of an Ordered BDD that can be computed from a given Boolean Circuit is presented. Based on our results we make a case for exploring the use of Repeated BDD's, with a small number of Repeated Variables, and Free BDD's for some applications for which only Ordered BDD's have be used so far.
arXiv preprint arXiv: …, 2012
Two-level logic minimization is a central problem in logic synthesis, and has applications in reliability analysis and automated reasoning. This paper represents a method of minimizing Boolean sum of products function with binary decision diagram and with disjoint sum of product minimization. Due to the symbolic representation of cubes for large problem instances, the method is orders of magnitude faster than previous enumerative techniques. But the quality of the approach largely depends on the variable ordering of the underlying BDD. The application of Binary Decision Diagrams (BDDs) as an efficient approach for the minimization of Disjoint Sums-of-Products (DSOPs). DSOPs are a starting point for several applications.
INTRODUCTION
A completely speci ed Boolean function f is a cover for an incompletely speci ed function g if the value of f agrees with the value of g for all the points in the input space where g is speci ed. This paper describes an exact algorithm for selecting f such that f is a cover for g and the binary decision diagram (BDD) for f has a minimum number of nodes (complemented edges are not considered here). For a given ordering of the variables, the BDD for f is unique (Bryant 1986) and the problem has a well de ned solution.
This problem was proved NP-complete (Oliveira, Carloni, Villa & Vincentelli 1996) using Takenaga & Yajima's (1993) result that the problem of identi cation of the minimum BDD consistent with a set of minterms is NP-complete.
We show that this minimization problem can be solved by selecting a minic IFIP 1996. Published by Chapman & Hall 2An implicit formulation for exact BDD minimization of incompletely speci ed functions mum sized cover for a graph that satis es some additional closure conditions.
In particular, we show that the minimum sized binary decision diagram compatible with the speci cation can be found by solving a covering problem that is very similar to the covering problem obtained using exact algorithms for the reduction of incompletely speci ed nite state machines (ISFSM) (Grasselli & Luccio 1965). This similarity makes it possible to use implicit enumeration techniques developed for the purpose of ISFSM reduction (Kam, Villa, Brayton & Vincentelli 1994) to solve e ciently the BDD minimization problem. The manipulation of the characteristic functions of the sets of compatibles and prime compatibles, represented with ROBDDs (Brace, Rudell & Bryant 1990), allows the generation of very large sets that cannot be enumerated explicitly, as is demonstrated in the experiments.
The transformation presented in this paper and the algorithms developed for the solution are important for a variety of reasons. In inductive learning applications that use BDDs as the representation scheme (Oliveira & Vincentelli 1996), the accuracy of the inferred hypotheses is strongly dependent on the complexity of the result. The selection of the minimum BDD consistent with an incompletely speci ed function is important also in logic synthesis applications that use BDDs to derive gate-level implementations from a BDD, like timed Shannon circuits, DCVS trees and multiplexer based FPGAs.
Several heuristic algorithms have been proposed for this problem. The restrict (Coudert, Berthet & Madre 1989) and the constrain operators are two heuristics commonly used to assign the don't cares of a BDD. A comprehensive study of heuristic BDD minimization has been presented by Shiple, Hojati, Vincentelli & Brayton (1994).
An exact algorithm (Ranjan, Shiple & Hojati 1993) based on the enumeration of the di erent covers that can be obtained by all possible assignments of the don't care points has also been proposed. A pruning technique reduces the enumeration process thanks to a result that changing the value of a function f of n variables on a minterm m cannot change the size of the BDD for f by more than n nodes. Although this pruning is performed implicitly, this method is exponential on the number of don't care points, and therefore is not applicable in problems of non-trivial size.
DEFINITIONS
We use the standard notation for BDDs. A BDD is a rooted, directed, acyclic graph where each node is labeled with the name of one variable. A BDD is called reduced if no two nodes exist that branch exactly in the same way and no redundant nodes exist. A BDD is ordered if there is an ordering of the variables such that, for all possible paths in the graph, the variables are always tested in that order.
The Compatibility Graph
3
The level of a node n i , L(n i ) is the index of the variable tested at that node under the speci c ordering used. The level of a function h, L(h), is de ned as the level of a BDD node that implements h. If n i is a node in the BDD and m a minterm, n i (m) will be used to denote both the value of function n i for minterm m and the terminal node that m reaches when starting at n i .
A 3 Terminal BDD (3TBDD) is de ned in the same way as a BDD in all respects except that it has three terminal nodes : n z , n o and n x , that correspond to the zero, one and undefined terminal nodes. A 3TBDD F corresponds to the incompletely speci ed function f that has all minterms in f o , f on and f dc terminate in n z , n o and n x , respectively.
THE COMPATIBILITY GRAPH
Previous algorithms (Ranjan et al. 1993) for this problem used directly the BDD representation of f on and f o . The exact approach described in this paper uses the 3TBDD F that corresponds to the incompletely speci ed function f. F is assumed to be complete. If necessary, F is made complete by adding extra nodes that have the then and else edges pointing to the same node. In general, the resulting 3TBDD is no longer reduced. Moreover, we suppose that the 3TBDD does not use complemented edges. The de nition of the algorithm is based on the lemmas and de nitions that follow. Due to space limitations, proofs for all the lemmas are omitted here and can be found in Oliveira et al. (1996).
De nition 1 Two nodes n i and n j in F are compatible (n i n j ) i no minterm m exists that satis es n i (m) = n z ^nj (m) = n o or n i (m) = n o nj (m) = n z . This de nition implies that n o and n z are not compatible between them and that n x is compatible with any node in a 3TBDD.
De nition 2 Two nodes n i and n j in F are common support compatible (n i n j ) i there exists a completely speci ed function h such that h n i and h n j and L(h) max(L(n i ); L(n j )).
The de nition implies that n z 6 n o and n x n i , for any node n i .
It is important, at this point, to understand the relationship between these two concepts. First, note that the completely speci ed function h referred in De nition 2 does not necessarily correspond to any node in F. In fact, in most cases, h will not correspond to any node in F, since most nodes in F correspond to incompletely speci ed functions.
The relationship between compatibility and common support compatibility (CSC) is given by the following lemma: 4An implicit formulation for exact BDD minimization of incompletely speci ed functions Lemma 1 If n i n j then n i n j .
The reverse implication of lemma 1 is not true, in general. Two nodes may be compatible but not CSC, as shown by the example presented by Oliveira et al. (1996). However, when two nodes belong to the same level, common support compatibility and compatibility are equivalent:
The motivation for the de nition of common support compatibility can now be made clear. Assume that two nodes belong to di erent levels and are compatible. In principle, they could be replaced by a new node that implements a function compatible with the functions of each node. In general, this function may depend on variables that are not on the support of the node at the higher level. Assume this node is n j . Later, when we try to build the reduced BDD, edges that are incident into n j will need to go upwards, against the variable ordering of the BDD. On the other hand, if both nodes are common support compatible, then they can be replaced by a node that implements the completely speci ed function h referred to in De nition 2. Because this function only depends on the variables common to the supports of both nodes, this problem will not arise.
The concept of common-support compatibility can be extended to sets of nodes in the natural way:
De nition 3 The nodes in the set s i = fn 1 ; n 2 ; : : :; n s g are common support compatible i there exists a completely speci ed function h such that (h n j ) j=1;:::;s and L(h) L max (s i ).
De nition 4 A set of nodes that are common support compatible is called a compatible set or, simply, a compatible.
The de nition of a compatible implies that any two nodes that belong to a compatible are pairwise common support compatible. The reverse implication is not true, but the next lemma holds. Lemma 3 Let s i be a set of nodes belonging to the same level. Then, s i is a compatible i all nodes in s i are pairwise common support compatible.
De nition 5 The compatibility graph, G = (V; E), is an undirected graph that contains the information about which nodes in F can be merged. Except for the terminal node n x , each node in F will correspond to one node in V with the same index. The level of a node in G is the same as the level of the corresponding node in F. Similarly, g else i and g then i are the nodes that correspond to n else i and n then i .
Graph G is built in such a way that if nodes n i and n j are common support compatible then there exists an edge between g i and g j . An edge may have labels. A label is a set of nodes that expresses the following requirement: if nodes g i and g j are to be merged, then the nodes in the label also need to be merged. There are three types of labels: e, t and l labels. The following two lemmas justify the algorithm by which graph G is built:
n else i n else j ^nthen i n then j .
Lemma 5 If L(n i ) < L(n j ) then n i n j )
? n else i n j ^nthen i n j ^nelse i n then i .
The previous two lemmas justify the following algorithm to build the compatibility graph.
Algorithm 1 1. Initialize G with a complete graph except for edge (g z ,g o ) that is removed. 2. If L(g i ) = L(g j ) then the edge between g i and g j has two labels: an e label with fg else i ; g else j g and a t label with fg then i ; g then j g. (By Lemma 4.) 3. If L(g i ) < L(g j ) edge (g i ,g j ) has an l label with fg else i ; g then i ; g j g. (By Lemma 5.)
4. For all pairs of nodes (g i ; g j ) check if the edge between nodes g i and g j has a label that contains fg a ; g b g and there is no edge between g a and g b . If so, remove the edge between g i and g j . Repeat this step until no more changes take place.
Figure 1 shows an example of the 3TBDD F obtained from f de ned by the following sets: f on = f011; 111g, f o = f010; 110; 101g and the corresponding compatibility graph.
Figure 1
Figure1The 3TBDD F and the compatibility graph G. Nodes g 5 and g x are not shown on the compatibility graph, since they are common support compatible with every node in the graph.
The existence of an edge in the incompatibility graph is related with common support compatibility and with compatibility between pairs of nodes in the following way: Lemma 6 n i n j ) 9e 2 E s:t:e = (g i ; g j ) ) n i n j .
It is important to note that the reverse implications are not true. In particular, the existence of an edge between two nodes in G does not imply that they are common support compatible, as it is possible to have an edge between two nodes in G that are not CSC.
CLOSED CLIQUE COVERS
A clique of graph G is a completely connected subgraph of G. To any set s of nodes that is a clique of G there are associated class sets. If the nodes in s are to be merged into one, the nodes in its class sets are also required to be in the same set. Let s i = fg i1 ; g i2 :::g iw g be a set of nodes that form a clique in G. The following are the de nitions of the e, t and l classes of s i . Notice that for concision we may blur the distinction between the nodes g's of G and the corresponding nodes n's of F. Strictly speaking, cliques are de ned on sets of g's and compatibles on sets of n's.
De nition 6 The e (t) class of s i , C e (s i ) is the set of nodes that are in some e (t) label of an edge between a node g j and g k in s i with L(n k ) = L(n j ) = L max (s i ).
De nition 7 The l class of s i , C l (s i ) is the set of nodes that are in some l label of an edge between a node g j and g k in s i with L(g j ) 6 = L(g k )
Lemma 7 If a set s i of nodes are a clique of G and C l (s i ) s i , then s i is a compatible set.
Note that a clique of G that does not satisfy the condition in Lemma 7 is not necessarily a compatible set. The algorithm that selects the minimum BDD compatible with the original function works by selecting nodes of G that can be merged into one node in the nal BDD. If a set s of nodes in G is to be merged into one, the set s has to be a compatible set. Therefore, it has to be a clique of G satisfying De nition 7. The objective is to nd a set of cliques such that every node in G is covered by at least one clique. However, to obtain a valid solution, some extra conditions need to be imposed. De nition 8 A set S = fs 1 ; s 2 :::s n g of sets of nodes in G is called a closed clique cover for G if the following conditions are satis ed:
1. S covers G : 8g i 2 G 9s j 2 S : g i 2 s j 2. All s k are cliques of G : 8g i ; g j 2 s k : (g i ; g j ) 2 edges(G) 3. S is closed with respect to the e and t labels : 8s i 2 S 9s j 2 S : C e (s i ) s j V 8s i 2 S 9s j 2 S : C t (s i ) s j 4. All sets in S are closed with respect to the l labels : 8s i 2 S : C l (s i ) s i
GENERATION OF A MINIMUM BDD
From a closed clique cover for G, a reduced BDD R is obtained by the following algorithm:
Algorithm 2 1. For each s i in S, create a BDD node in R, r i , at level L max (s i ). 2. Let the nodes in R that correspond to sets s i containing nodes that correspond to terminal nodes in F be the new corresponding terminal nodes of R. 3. Let the else edge of the node r i go to the node r j that corresponds to a set s j such that C e (s i ) s j . 4. Let the then edge of the node r i go to the node r j that corresponds to a set s j such that C t (s i ) s j .
Lemma 8 R is an Ordered BDD compatible with F. Now, the main result follows. Let B be the set of all BDDs that represent functions compatible with the incompletely speci ed function f. Then:
Theorem 1 The BDD induced by a minimum closed cover for G is the BDD in B with minimum number of nodes.
As an example, S = ffg 0 ; g 1 ; g 2 g; fg 4 g; fg 3 ; g 5 ; g z g; fg o gg is a closed cover for the example depicted in Figure 1 and induces the BDD R shown on the right side of Figure 2.
Figure 2
The de nition of a closed cover is very similar to the standard de nition of a closed cover used in the minimization of nite state machines (FSMs). If the graph of a 3TBDD is viewed as the state transition graph of an FSM, the algorithms developed for the minimization of FSMs can be used with some modi cations. The two important di erences to consider are: 8An implicit formulation for exact BDD minimization of incompletely speci ed functions Figure 2 The 3TBDD F, the compatibility graph G and a solution R. Node g 5 was arbitrarily included in compatible fg 3 ; g z ; g 5 g.
1. The de nition of the e and t classes and the closure requirement in point 3 of De nition 8 are di erent from the de nitions used in standard FSM minimization.In BDD minimization,only nodes at the highest level in some compatible de ne the e and t classes, while in standard FSM minimization all nodes in a compatible set are involved in the de nition of these classes. 2. The requirement in point 4 of De nition 8 means that some sets of nodes that satisfy the de nition of a compatible set in the FSM case do not satisfy the conditions for BDD minimization.
These two changes can be incorporated into existing algorithms for FSM minimization. In particular, the closure conditions with respect to the e and t labels are similar to the closure conditions imposed in standard FSM minimization. The restriction imposed by condition 4 in De nition 8 simply eliminates some cliques of the compatibility graph from consideration and can be implemented by a ltering step. The transformation from BDD minimization to FSM reduction and its correctness are shown in Oliveira et al. (1996).
IMPLICIT COMPUTATION OF A MINIMUM CLOSED COVER
We will use the uni ed implicit framework proposed in (Kam et al. 1994). Implicit techniques are based on the idea of operating on discrete sets by their characteristic functions represented by (BDDs) (Bryant 1986).
To perform state minimization, one needs to represent and manipulate eciently sets of sets of states. With n states, each subset of states is represented in positional-set form, using a set of n Boolean variables, x = x 1 x 2 : : :x n .
The presence of a state s k in the set is denoted by the fact that variable x k takes the value 1 in the positional set, whereas x k takes the value 0 if state s k is not a member of the set. For example, if n = 6, the set with a single state s 4 is represented by 000100 while the set of states s 2 s 3 s 5 is represented by 011010.
A set of sets of states S is represented in positional notation by a characteristic function S : B n ! B as: S (x) = 1 if and only if the set of states represented by the positional set x is in the set S. A BDD representing S (x) will contain minterms, each corresponding to a state set in S. As an example, Tuple n;k (x) denotes all positional sets x with exactly k states in them (i.e. jxj = k). For instance, the set of singleton states is Tuple n;1 (x). An alternative notation for Tuple n;k (x) is Tuple k (x).
Any relation R between pairs of sets S 1 and S 2 can be represented by its characteristic function R : B n B m ! B where R(x; y) = 1 if and only if S1 (x) = 1, S2 (y) = 1 and the element of S 1 represented by x is in relation R with the element of S 2 represented by y. A similar de nition holds for relations de ned over more than two sets. For example, we represent the state transition graph (STG) of an FSM by the characteristic functions of two relations: 1) the output relation , where input i, present state p and output o are in (i; p; o) if there is an edge from p with input/output label i=o, and 2) the next state relation T , where where input i, present state p and next state n are in relation T (i; p; n) if there is an edge from p to n with input label i.
It has been shown in Section 5 that given a BDD minimization problem it is possible to generate a companion FSM whose closed covers of compatibles correspond to closed clique covers of the BDD, if: a) FSM compatibles that do not satisfy the L-closure are discarded, and b) FSM compatible closure is replaced by E-closure and T-closure. Our starting point is the fully implicit algorithm for exact state minimization reported by Kam et al. (1994), to which we refer for a complete description of the implicit computations. In the sequel we discuss the modi cations needed to generate closed clique covers of the BDD.
We follow Kam et al.'s (1994) approach to compute the set of compatibles C(c), where C(c) = 1 i c is the positional set representing a compatible of the companion FSM. When minimizing an FSM obtained from an instance of BDD minimization one must delete from C(c) the compatibles c that are not closed with respect to their l-class. The l-class, C l (c), of a compatible c is the set of nodes that are in some l-label of an edge between nodes g j and g k in c with L(g j ) < L(g k ). If L(g j ) < L(g k ) then edge (g j ; g k ) has the l-label fg else j ; g then j ; g k g. In standard FSM minimization one requires closure with respect to implied sets. Given a compatible c an implied set under input i is the set of next states from the states in c under i. Instead in the case of BDD minimization one must compute the implied sets only from the states in c of highest level. This requires a change in the computation of the relation of the implied classes F (c; i; n). The new computation for F (c; i; n) is described by the following equation:
10An implicit formulation for exact BDD minimization of incompletely speci ed functions Subsets of states c and c 0 are in relation Max Level(c; c 0 ), i c 0 is the subset of c that contains the states of c of maximum level, i.e. the states having the largest distance from r in the STG of the FSM.
RESULTS
Starting from the program ism for implicit state minimization (Kam et al. 1994) we developed imagem, a new program based on the theory described in this paper for exact BDD minimization.
To evaluate experimentally the algorithms presented in this paper, we assembled two sets of problems: the rst set derives directly from a machine learning application and the second set was obtained from a logic synthesis benchmark. In all the problems, the original ordering speci ed for the variables was the ordering used.
For the rst set of problems, 12 completely speci ed Boolean functions f i were used as the starting point. For each of these functions, a randomly selected set of minterms was designated as the care set, resulting in a set of incompletely speci ed Boolean functions g i . The objective was to verify if the algorithm was able to identify a BDD no larger than the BDD for f i , which represents a known upper bound on the solution. The second set of problems was obtained by selecting a subset of the problems that are distributed with Espresso (Brayton, Hachtel, McMullen & Vincentelli 1984), a well known twolevel minimizer. We included in this set of problems the functions that are the rst output from each of the PLAs that are included in the industry subset of the Espresso benchmark suite, after eliminating all the functions that have a null don't care set.
Table 1 summarizes the results obtained from running these sets of examples. The last entry in the table is the example presented in this paper to illustrate the theory.
Table 1
Results obtained in the sets of problems studied.
The rst four columns report the original number of states, the number of compatibles, the number of compatibles after ltering (i.e. the ones which are closed with respect to their l-class) and the number of primes. The next two columns report the exact result obtained and the result obtained by the restrict operator (Coudert et al. 1989). The last column contains the time spent by imagem to nd the solution: all run times are reported in CPU seconds on a DEC Alpha (300 Mhz) with 2Gb of memory. For all experiments, \timeout" has been set at 21600 seconds of CPU time and \spaceout" at 2Gb of memory.
CONCLUSIONS
This paper addresses the problem of binary decision diagram (BDD) minimization in the presence of don't care sets. We show that the minimum-sized 12An implicit formulation for exact BDD minimization of incompletely speci ed functions binary decision diagram compatible with the speci cation can be found by solving a problem that is very similar to the problem of reducing an ISFSM. The approach described is the only known exact algorithm for this problem not based on the enumeration of the assignments to the points in the don't care set. We show that this minimization problem can be formulated as a binate covering problem and solved using implicit enumeration techniques.
We have implemented this algorithm and performed experiments. by means of which exact solutions for an interesting benchmark set were computed.