On the Relation Between BDDs and FDDs

12
On the Relation Between BDDs and FDDs* (Extended Abstract) Bernd Becker Roll" Drechsler Ralph Werchner Computer Science Department Johann Woffgang Goethe-University 60054 Frankfurt am Main, Germany emaih <name> @informatik.uni-frankfur t.de Abstract. Data structures for Boolean functions build an essential com- ponent of design automation tools, especially in the area of logic synthesis. The state of the art data structure is the ordered binary decision diagram (OBDD), which results from general binary decision diagrams (BDDs), also called branching programs, by ordering restrictions.In the context of EXOR- based logic synthesis another type of decision diagram (DD), called (ordered) functional decision diagram ((O)FDD) becomes increasingly important. We study the relation between (ordered, free) BDDs and FDDs. Both, BDDs and FDDs, result from DDs by defining the represented function in different ways. If the underlying DD is complete, the relation between both types of interpretation can be described by a Boolean transformation ~'.This allows us to relate the FDD-size of f and the BDD-size of z(f) also in the case that the corresponding DDs are free or ordered, but not (necessarily) complete. We use this property to derive several results on the computational power of OFDDs and OBDDs. Symmetric functions are shown to have efficient representations as OBDDs and OFDDs as well. Classes of functions are given that have exponentially more concise OFDDs than OBDDs, and vice versa. Finally, we determine the complexity of some standard operations if OFDDs are used for the representation of Boolean functions. 1 Introduction The increasing complexity of modern VLSI circuitry is only manageable together with advanced CAD systems which as one important component contain (logic) syn- thesis tools. The problems to be solved, can often be formulated in terms of Boolean functions. The efficiency of the representation and the manipulation algorithms per- forming (synthesis) operations largely depends on the type of data structure chosen. The most popular data structure is the ordered binary decision diagram (OBDD), which is a restricted form of a binary decision diagram (BDD), also called branching program [Lee59, Ake78, Weg87, Mei89]. Nevertheless, there exist functions that cannot be represented by small OBDDs [Bry91, Rud93]. This is one reason why many authors investigate the usefulness of * The authors were supported by DFG grant Be 1176/4-2 and the International Computer Science Institute (ICSI), Berkeley. Current address of the third author is ICSI, Berkeley, CA 947O4.

Transcript of On the Relation Between BDDs and FDDs

O n t h e R e l a t i o n B e t w e e n B D D s a n d F D D s * (Extended Abstract)

Bernd Becker Roll" Drechsler Ralph Werchner Computer Science Department

Johann Woffgang Goethe-University 60054 Frankfurt am Main, Germany

emaih <name> @informatik.uni-frankfur t.de

Abstract. Data structures for Boolean functions build an essential com- ponent of design automation tools, especially in the area of logic synthesis. The state of the art data structure is the ordered binary decision diagram (OBDD), which results from general binary decision diagrams (BDDs), also called branching programs, by ordering restrictions. In the context of EXOR- based logic synthesis another type of decision diagram (DD), called (ordered) functional decision diagram ((O)FDD) becomes increasingly important.

We study the relation between (ordered, free) BDDs and FDDs. Both, BDDs and FDDs, result from DDs by defining the represented function in different ways. If the underlying DD is complete, the relation between both types of interpretation can be described by a Boolean transformation ~'. This allows us to relate the FDD-size of f and the BDD-size of z(f) also in the case that the corresponding DDs are free or ordered, but not (necessarily) complete. We use this property to derive several results on the computational power of OFDDs and OBDDs. Symmetric functions are shown to have efficient representations as OBDDs and OFDDs as well. Classes of functions are given that have exponentially more concise OFDDs than OBDDs, and vice versa. Finally, we determine the complexity of some standard operations if OFDDs are used for the representation of Boolean functions.

1 Introduction

The increasing complexity of modern VLSI circuitry is only manageable together with advanced CAD systems which as one important component contain (logic) syn- thesis tools. The problems to be solved, can often be formulated in terms of Boolean functions. The efficiency of the representation and the manipulation algorithms per- forming (synthesis) operations largely depends on the type of data structure chosen. The most popular data structure is the ordered binary decision diagram (OBDD), which is a restricted form of a binary decision diagram (BDD), also called branching program [Lee59, Ake78, Weg87, Mei89].

Nevertheless, there exist functions that cannot be represented by small OBDDs [Bry91, Rud93]. This is one reason why many authors investigate the usefulness of

* The authors were supported by DFG grant Be 1176/4-2 and the International Computer Science Institute (ICSI), Berkeley. Current address of the third author is ICSI, Berkeley, CA 947O4.

73

generalizations or modifications of OBDDs for design automation (see e.g. [LS92, GM94, SW94]).

In this context a new type of decision diagram, called ordered functional decision diagram (OFDD), has recently been introduced [KSR92, KR93, BDT93]. While OBDDs result from repeated applications of Shannon expansions, OFDDs are based on so-called Reed-Muller expansions and naturally correspond to A N D / E X O R based multi-level logic circuits. Lately, synthesis based on AND/EXOR. realizations has gained more and more interest [Sas93]. This stems at least partly from the fact that, due to technological improvements, in many applications it is possible to handle EXOR gates as standard gates with the same speed and costs as e.g. OR gates.

Furthermore, AND/EXOR. realizations - often called (two-level or multi-level) Reed-Muller expansions (RMEs) in the literature - proved to be very efficient for large classes of circuits, e.g. arithmetic circuits, error correcting circuits, and circuits for tele-communication [Ber68, SB90, Sau92, Ro193], and, in addition, have nice testability properties [Red72, SR75, SP93, DB93, BD94].

A succinct multi-level representation is now possible with the help of OFDDs, which can also be viewed as a compaction of a 2-level RME by the correspondence between paths to the 1-terminal in the OFDD and terms in the 2-level RME. In this context OFDDs have successfully been applied to 2-level A N D / E X O R minimization [KR93, TM93, DTB94].

Up to now a theoretical background for OFDDs as it exists for OBDDs with the huge number of results on the properties of branching programs (see e.g. [Weg87, Mei89]) has not been provided. The goal of this paper is to clarify the relation between BDDs and FDDs from the theoretical point of view.

The paper is structured as follows: In Section 2 DDs, BDDs and FDDs and some basic properties are presented. Section 3 studies the relation between the different data structures defined in Section 2. As a first general result OBDD- and OFDD- sizes of functions can be compared. In Section 4 this result is applied to specific function classes to determine their OBDD-size and OFDD-size. The complexity of some standard operations on OFDDs is analyzed in Section 5. We finish with a resume of the results and draw conclusions for further work in Section 6.

2 Decision Diagrams

A decision diagram (DD) over X,~ := {zl, x2, . . . ,z ,~} is a rooted directed acyc- lic graph G = (V, E) with vertex set V:containing two types of vertices, nonter- minal and terminal vertices. A nonterminal vertex v is labeled with a variable from X,~, called the decision variable for v and has exactly two successors denoted by low(v),hlgh(v) C V. A terminal vertex v is labeled with 0 or 1 and has no suc- cessors. G has exactly one source node called the root of the DD.

The size o f a DD G = (V, E), denoted IGI, is given by the number of nonterminal nodes. If DDs are to be used as a data structure in design automation, further restric- tions on the structure of DDs turn out to be useful to provide efficient manipulat ion algorithms:

74

1. A DD is complete, if each variable is encountered exactly once on each pa th in the DD from the root to a terminal vertex.

2. A DD is free, if each variable is encountered at most once on each pa th in the DD from the root to a terminal vertex.

3. A D D is ordered, if it is free and the variables are encountered in the same order on each pa th in the DD from the root to a terminal vertex.

Since we are interested in small representations of Boolean functions, we define methods to reduce decision diagrams. There are three reduction types, tha t can par t ia l ly be combined:

T y p e 1: Let v, v' E V be two identically labeled nodes of G with low(v) = low(v') and high(v) = high(v'). Then the reduction tl(v, v') is applicable to G and the resulting graph G[tl(v, v')] is obtained by redirecting all arcs pointing to v to the node v t and deleting v.

T y p e 2: Let v be a node of G with low(v) = high(v) = v'. Then the reduction t~(v,v') is applicable to G and the resulting graph G[t~(v,v')] is obta ined by redirecting all arcs point ing to v to the node v' and deleting v.

T y p e 3: Let v be a node of G with high(v) labeled with 0 and low(v) = v'. Then the reduction ta(v, v') is applicable to G and the resulting graph Gird(v, v')] is obtained by redirecting all arcs pointing to v to the node v' and deleting v.

A reduction of type s is called a (t, )-reduction. In Figure 1 the graphical rep- resentat ion of the reductions is shown. (The left (right) outgoing edge at a node v always denotes the edge to low(v) (high(v)).

For a set S C {1, 2, 3} we call two DDs G1 and G2 (ts)-equivalent, iff G~ results from G1 by a sequence of reductions and inverse reductions with types from S. A DD is (ts)-reduced, if no (t, )-reduction with s E S can be applied to the DD. A DD G~ is called the (t s }-reduction o f a DD G1, if G2 is ( ts)-equivalent to GI and G2 is ( ts)-reduced.

T h e o r e m l . For S C {1,2 ,3} let G ' and G" be two (ts)-equivalent DDs. Then there exists a DD G which can be reached from both G ~ and G" by a sequence of reductions with types in S.

Proof. Let G1,G2, . . . ,Gk be a sequence of DDs with G1 = G' , G~ = G ' , and for each i = 1 , . . . , k - 1 either Gi+l = Gi[t~(v,v')] or Gi = G~+l[t,(v,v')] for suitable nodes v, v ~ and r E S. We prove the claim of the theorem by induction on ~l<~<k IG~I, where IG~I denotes the number of nodes of the DD Gi.

We only have to consider the case where there is a local maximum [G~I in the sequence IGxl, IG2h.-., [G~I with Gi-1 ~ Gi+l. Let Gi-1 = Gi[t~(v, v')] and Oi+l = Gi[t,(w, w')]. Considering all choices for r, s, v, v', w, w' it can be shown tha t there is a reduction t , , (x , z ' ) applicable to Gi-1 and a reduction t,,(y, y~) applicable to Gi-t-1, so tha t r I, s ' E {r, s} and

=')] = c,+, [t,,(y, r

75

(

) /

\

t~ (v,v')

/

'~ t2 (v, v')

t

t~ (v,v') =)

Fig. 1. Reduction types

Substituting G~ by G~_l[t,,(z, z')] enables us to apply the induction hypothesis. D

An immediate consequence of Theorem 1 is that for each S C {1, 2, 3} the (ts)- reduction of a DD G, which is also the (ts)-equivalent DD of minimum size, is uniquely determined. It can be constructed by applying reductions with types in S to G in any order as long as possible. For S = {1, 2} it is shown in [SW93] that this sequence of reductions can be organised in such a way that the total running time of the reduction process is linear in ]G]. A simple generalisation of this result yields:

C o r o l l a r y 2. For each S C {1, 2, 3} the (ts)-reduction of a DD G is uniquely de- termined and can be computed in time O(IGI).

We would like to point out that Theorem 1 and its corollary are valid for general DDs.

Def in i t l on3 . To each DD G over Xn := {z1,~2 . . . . . z,~} a Boolean function f : B "~ -+ B can be assigned in two different ways, denoted by fBDD and f~DD respectively:

76

I) I/ G consi, t , o/ a ,ingl node labeled with 0 (t), then/ .D = / DD = 0 = = U.

2) If the root v of V is labeled by zl and Go (G1) is the DD rooted at low(v) (high(.)) then

~BDD = ~BDD ~BDD G -~ ~iJGo + ~'iJG~

fFDD : ~FDD ~ -FDD JGo ~9 ;ei IG~

Note that for a given x E B '~ the value of f~DD(~) can be computed by traversing a single path in G from the root to a terminal node, whereas for the computation of f~DD(x) the Boolean function represented by each node of G may have to be evaluated.

A D D G with f = fBDD ( f = fGFDD ) will be called a BDD (FDD) for f . If G is free it is called an FBDD (FFDD) and if G is ordered it is called an OBDD (OFDD) for f .

It easy to see that two DDs Gt and G~ respecting the same order ~r are (tO,2})- equivalent ((t{t,3})-equivalent) iff aC,*BDD = ae3*BDD (f~DD = aG,r Thus, equivalence and satisfiability can efficiently be decided for OFDDs as well*as for OBDDs em- ploying the corresponding reduction algorithm.

Def in i t i on4 . For a Boolean function f : B '~ --+ B and a total order rc on the set of variables X,, let OBDD-SIZE, r(f) denote the minimum size of an OBDD repres~ enting f respecting the order ~r. Set OBDD-SIZE(f) = min~r OBDD-SIZE,r(f) and denote by FBDD-SIZE(f) the minimum size of a free BDD for f . Define the meas- ures OFDD-SIZE,(f) , OFDD-SIZE(f) and FFDD-SIZE(f) analogously considering FDDs for f .

3 R e l a t i o n b e t w e e n B D D s a n d F D D s

In this section we establish a close relation between the functions fG BDD and f~DD for complete DDs G. For an intuitive approach to this problem, we ~q.~ first give a graph-theoretic interpretation of fBDD and fFDD:

Fix a DD G and an assignment a = (at , . . . ,a ,~) to the variables z l , . . . , ~,~. Let v be any nonterminal node of G labeled with a variable xi. We say that the edge (v, low(v)) ((v, high(v))) is BDD-active iff a, = 0 (ai = 1). The edge (v, high(v)) is FDD-active iff al = 1 whereas the edge (v, low(v)) is always FDD-active. A path in G is called BDD-active (FDD-active) iff it leads from the root to a terminal node and only contains BDD-active (FDD-acti;ve) edges.

Obviously, there is exactly one BDD-active path in G for a fixed assignment a and this path leads to a terminal node labeled by fBDD(a). Unfolding G by inverse (tt)- reductions to a tree does not change fFDD Or the FDD-active paths a n d shows that f~DD (a) = 1 itf the number of FDD-active paths leading to a terminal node labeled 1 is odd. Furthermore, i fG is complete, each FDD-active path for ( a t , . . . , a,,) corres- ponds exactly to a BDD-active path for an assignment (b l , . . . , b,~) < ( a l , . . . , an), i.e. V i : bi <_ a~. Thus, f~DD(a) ----- (~b<~ f~DD(b). We define this transformation which was also used in [Raz86] (see also l~Pat86]) to analyse circuits over {A, ~} and in [BT92] (as the Reed-Muller Transform) to synthesize two level circuits:

77

D e f i n i t i o n 5 . Let f E S~. Then r ( f ) E Bn is defined by

:= 0 f(Y)- y<:~

First, we prove some basic properties of ~-:

Lemma6. 1. f 2. r is a bijection. s. 7 ( / ( 9 g) = (9

Proof. A straightforward computation shows:

y~z z~y

z < x Y z ~ y ~ x

g : z

= S(x)

The transformation r is a bijection since it is its own inverse. The second equation follows from the commutativity of (9.

[]

From Lemma 6 and the preceeding discussion about the graph-theoretical inter- pretat ion of f~DD and f~DD we conclude our main theorem:

T h e o r e m 7. For each complete DD G it holds that f~DD = r (f~DD) and f ~ , D =

Since Theorem 7 is valid only for complete DDs we have to provide a trans- formation from the DDs we are mainly interested in, e.g. ordered and free DDs, to equivalent complet~ DDs. Fortunately, the size of the DDs does not grow too much by this transformation:

L e m m a 8. Each free DD G over the set of variables Xn can be transformed into a (t{~})-equivalent complete DD G1 and into a (t{1,~})-equivalent complete DD G2. If G is ordered, then G1 and G2 can be made to respect the same order of variables as G. In each of these transformations the size of the DD grows at most by a factor

Proof. First we show how to convert a free DD G into a complete DD G~ applying inverse (ts)-reductions and (Q )-reductions: Assign to each node v of G a set of variables A~ __. X , so tha~ zk E A~ iff v is a terminal node or there is a predecessor of v in G (including v itself) labeled with xk. Let (u, v) be an edge of G where u is labeled with zi and v is labeled with xj as shown in Figure 2. Then, if A~ 5s A~, U {xj}, new nodes labeled with the variables in A~ \ CA,, U {zj}) have to be inserted on the edge (u, v). And, additionally, the

78

outgoing high-edges of the inserted nodes are collected in a chain consisting of one node for each variable (except one) in Xn \ A~, as depicted in Figure 2.

The same transformation can be applied to DDs ordered with respect to some order ~r of the variables, The only difference is that for a node v labeled with zj we set A~ = {x~l~ < . x~}.

The construction of (t(~})-equivalent DDs is even more simple. Instead of ap- plying an inverse (t~)-reduetion in the procedure above, we apply an inverse (t2)- reduction and the additional chains can be omitted.

D

u

- +

A~,kAu

X.\A~

Fig. 2. Completing FDDs

Combining Theorem 7 with the previous lemma yields:

T h e o r e m 9 . For each Boolean function f E Bn and each order ~r on X,~:

a(l l . ) . OBDD-SIZE. ( r ( f ) ) < OFDD-SIZE•(]) < O(n). OBDD-SIZE~r(~'(f)) / 2 ( I /n ) -OBDD-SIZE( r ( f ) ) < OFDD-SIZE(f) < O(n). OBDD-SIZE(r(f ) ) 12(1/n). FBDD-SIZE(r(f ) ) _< FFDD-SIZE(f) < O(n).FBDD-SIZE(r(]))

79

4 F D D s f o r S p e c i f i c F u n c t i o n s

By Theorem 9 it is possible to transfer results about BDDs to FDDs and vice versa. Of course, BDD representations for a family F of Boolean functions directly give FDD representations for the family r(F) := (r(f)l f E F}. An exponential gap between any two of the BDD representations considered in the previous theorem dixectly translates into an exponential gap between the corresponding FDD repres- entations. If the gap for BDDs occurs for a family F of Boolean functions, then the corresponding gap for FDDs occurs for r(F):

- From [Bry86] and Theorem 9 we conclude that for f = r ( z l z 2 + . . . + z2,,-la~,,) there are two orders lr and ~r' with O F D D - S I Z E , ( / ) = O(n 2) but OFDD-SIZE~, (]) = [2(~2'~).

- The results of [Bry91] and [SW92] imply that the r- t ransformation of the hidden weighted bit function has size O(n 2) FFDDs but requires OFDDs of size 2n('~).

- In[Weg84] it was shown that every symmetric function has complete OBDDs of size at most n2/2 - e ( n l o g n ) . Since r maps symmetric functions only to symmetric functions this bound holds for OFDDs also.

In [Bry91] exponential lower bounds for the size of OBDDs for HWB and the multiplication have been proven using lower bound techniques from VLSI design. The lower bound proof can be modified to give the same result for the m-transform of HWB and multiplication for OFDDs as shown in the full version of this paper. More precisely, we construct fooling sets of exponential size for the m-transform of HWB and multiplication. It turns out that these fooling sets are also fooling sets for the original functions, HWB and multiplication. This yields an exponential lower bound for the size of OFDDs for HWB and multiplication.

In the sequel it is shown that there exist functions for which OFDDs are expo- nentialiy smaller than OBDDs and FBDDs as well.

To prove this, we consider the clique-function ~-cln,3 defined over n ( n - 1)/2 variables zi i (1 < i < j <_ n). Let @-c/n,3(z) = 1 iff the undirected graph G(z) = (V,E), with Y = {1, . . ,n} and E = {{i,j} I zq = 1}, contains an odd number of 3-cliques. It has been proven in [ABH+86] that each FBDD representing q)-cln,s requires size 2 n('*~).

The above definition of $-cl,~,3 can naturally be reformulated in terms of a r- transformation: e-c/,~,3(z) = 1 iff G(z) contains an odd number of subgraphs V(y) consisting only of a single 3-clique and n - 3 isolated nodes. Thus, we have

e-cZ~,~(z) = @ 1-ct~,3(y) , i.e. e-d~,~ = r (1-a , ,~) y<_x

where 1-ctn,3(z) = 1 iff G(z) consists only of a single 3-clique and n - 3 isolated nodes.

Comparing the representations by free DDs we show that 1-cl,~,s can efficiently be described only using the BDD interpretation and ~-cl,~,s only with the FDD interpretation.

T h e o r e m 10. For any order 7r of the variables zif (1 < i < j < n) it holds:

80

1. OBDD-SIZE,~ (1-c/,,,s) = O(n~), but FFDD-SIZE (1-c/.,s) = 2 t~('~'). 2. OFDD-SIZE~ (~-cl.,s) : O(nS), but FBDD-SIZE (@-c/,,,s) : 2 a('~").

Proof. We first prove the upper bounds. Let T be the ordered DD obtained by labeling the complete tree of height n ( n - 1 ) / 2 according to the order ~r and labeling the 2 '*(~-1)/2 leaves o f t according to the values of 1-cl~,s. Then f~DD = 1-cl,,,~ and fFDD = ~)'Cln,S. By repeated applications of (ts)-reductions to T each nonterminal node v can be deleted for that the subtree rooted at high(v) contains no leaf labeled 1. Thus the size of the (t(s})-reduction of T is at most 3 (~). The upper bound in 1. now follows from Theorem 9.

The lower bound for FBDD-SIZE(~9-cI.,~) was derived in [ABH+86] and the lower bound for FFDD-SIZE (1-c/,~,s) again is an application of Theorem 9.

[3

5 O p e r a t i o n s on O F D D s

Besides the compactness of the representation, the apptlcabili~y of a data struc- ture for Boolean functions is judged by the efficiency of the required manipulation algorithms.

By the uniqueness of the (t{1,3})-reduced OFDD for a Boolean function, equival- ence and satisfiability can efficiently be decided. A generalization of the satisfiability problem is to compute the number of satisfying assignments I(fGFDD ) - 1(1) I for a given DD G. Restricted to free FDDs, we call this problem SAT-COUNTF.~DD. The cor- responding problem for OBDDs, and even for FBDDs (SAT-COUNTFBDD), can be solved in polynomial time.

For OFDDs this seems to be more difficult. Here we show that SAT-COUNTF.~DD is intractable unless P = NP:

T h e o r e m l l . SAT-COUNTFFDD is NP-hard.

Proof. We give a reduction from 3SAT (satisfiability of a CNF with clauses of 3 literals) to SAT-COUNTFFDD. Let A be a CNF with m clauses, each containing exactly 3 literals, over X . . Denote by li (1 < i < n) the number of occurences of zl or s in A. Define the Boolean function f l over the set of variables

X = { z i j ] l < i < n , l < j < l l }

by the formula obtained from A by repla,cing the j- th occurence of zi in A by zi,i. Define the function f0 over X as

f0 = A 1<~<.

Let the Boolean fuaction f , defined on the variables of X U {y}, be

f=foey,f~

81

It is easy to verify that X is satisfiable iff

fo1(1) N f~-x(1) # 0

If- (1)l < 2" + r "

Given the CNF X, an FFDD for f can easily by constructed in polynomial time. And this FFDD has less than 2 .2 n + 7 TM satisfying assignments iff X is satisfiable.

[]

In fact, it recently Lurned out that SAT-COUNToFDD is ~P-complete [WHDB94].

Por OBDDs it is well-known that synthesis operations can be performed effi- ciently. Given two DDs G1 and G~ respecting the same order of variables and a Boolean operator o an ordered DD G w i t h fG BDD ,eBDD ~ ~eBDD = ~ o , ~ .'G~ can be constructed in O([GI[ [G2[) steps. By Lemma 6 (additivity of v) the EXOR-synthesis and the negation can also be performed efficiently for OFDDs. On the other hand, the fol- lowing theorem shows that the AND of OFDDs cannot be computed in polynomial time since the resulting OFDD may have exponential size. In fact, even changing the order of variables or allowing the result to be any FFDD does not make the synthesis operation easier.

T h e o r e m l 2 . There is a family of Boolean functions (fn)neN with F F D D -

S I Z E ( f , , ) = 2 a(~/~) so that each f,~ is the logical AND of two functions repres- ented by OFDDs of polynomial size for any order of the variables.

Proof. For the function 1-cl,~,a the claimed lower bound for its FFDD-SIZE has been proven in Theorem 10. It remains to construct two functions with polynomial OFDDs for any order r whose logical AND is 1-cl,~,a.

T <a B,~(,~-1)/2 Consider ~-cl~,3 and the inverted threshold function ~-(~-i)/2 : -4 B that computes 1 iff at most 3 of the z#"s (1 < i < j _< n) have value 1. Since T <3 .,-(,-1)/~ is a symmetric function it can be represented by an OFDD of polynomial size.

Obviously, the assertion of the theorem follows from

T <a l-cln,s : ~-cl,.,,a �9 n(n-1)12

[]

From this result exponential worst-case behaviour can be derived for the oper- ations OR-synthesis, replacement by functions ( ( f , g ) ~-4 fx,=g), and quantification ( f ~+ Vzif and f ~+ 3zif) as shown in the full version.

6 C o n c l u s i o n s a n d O p e n P r o b l e m s

We presented some results to clarify the relation between FDDs and BDDs. These results demonstrate that FDDs are an interesting alternative data structure for

82

Boolean functions. They offer a lot of similarities to BDDs, but also have essential differences, e.g. with respect to the representation size for specific functions. On the other hand, due to the exponential worst case behaviour of some of the elementary operations OFDDs should be used very carefully.

A very promising method to combine the advantages of OBDDs with those of the OFDDs in a general data structure for Boolean functions is proposed in [DST+94], where, based on the results given before, Shannon expansion and Reed-Muller expan- sion are integrated together in a "hybrid" DD, called OKFDD. First experiments on benchmark circuits show a 25 % average reduction in size compared to OBDDs. Fur- thermore, the application of Reed-Muller expansions can be controlled to guarantee polynomial worst case behaviour for all operations.

References

[ABH+86]

[AkeT8]

[BD94]

[BDT93]

[Ber68] [Bry86]

[Bry91]

[BT92]

[DB93]

[DST+94]

[DTB94]

[GM94]

[KR93]

M. Ajtai, L. Bahai, P. Hajnal, J. Komlos, P. Pudlak~ V. R~dl~ E. Szemeredi~ and G. Turan. Two lower bounds for branching programs. In Syrup. on Theory o] Computing, pages 30-38, 1986. S.B. Akers. Binary decision diagrams. IEEE Trans. on Comp., C-27:509-516, 1978. B. Becker and R. DrechsIer. Testability of circuits derived from functional de- cision diagrams. In European Con]. on Design Automation, page 667, 1994. B. Becket, R. Drechsler, and M. Theobald. On the implementation of a package for efficient representation and manipulation of functional decision diagrams. IFIP WG 10.5 Workshop on Applications o] the Reed-Muller Ezpansion in Cir- cuit Deaign, Hamburg, pages 162-169, 1993. E.R. Berlekamp. Algebraic Coding Theory. McGraw-Hill Book Company, 1968. R.E. Bryant. Graph - based algorithms for Boolean function manipulation. IEEE Trans. on Comp., 8:677-691, 1986. R.E. Bryant. On the complexity of VLSI implementations and graph repres- entations of Boolean functions with application to integer multiplication. IEEE Trana. on Comp., 40:205-213, 1991. Ph.W. Besslich and E.A. Trachtenberg. A three-valued quasi-linear transform- ation for logic synthesis. In C. Moraga and R. Creutzburg, editors, Spectral Techniques: Theory and Applications. Elsevier, North Holland, 1992. R. Drechsler and B. Becker. Rapid prototyping of fully testable multi-level AND/EXOR networks. IFIP WG 10.5 Workshop on Applicationa of the Reed- Muller Ezpansion in Circuit Design, Hamburg, pages 126-133~ 1993. R. Drechsler, A. Sarabi, M. Theobald, B. Becket, and M.A. Perkowsld. Effi- cient representation and manipulation of switching functions based on ordered kronecker functional decision diagrams. In Design Automation Con]., pages 415-419, 1994. R. Drechsler, M. Theobald, and B. Reeker. Fast OFDD based m_inlmJzation of fixed polarity reed-muller expressions. In European Design Automation Con/., pages 2-7, 1994. J. Gergov and C. Meinel. Efficient analysis and manipulation of OBDDs can be extended to read-once-only branching programs, to be published in IEEE Trans. on Comp., 1994. U. Kebschull and W. Rosenstiel. Efficient graph-based computation and ma- uip~ation of functional decision diagrams. In European Conf. on Design Auto- mation, pages 278-282, 1993.

83

[KSR92] U. Kebschull, E. Schubert, and W. Rosenstiel. Multilevel logic synthesis based on functional decision diagrams. In European Conf. on Design Automation, pages 43-47, 1992.

[Lee59] C.Y. Lee. Representation of switching circuits by binary decision diagrams. Bell System Technical Jour., 38:985-999, 1959.

[LS92] Y.-T. Lai and S. Sastry. Edge-valued binary decision diagrams for multi-level hierarchical verification. In Design Automation Conf.~ pages 608-613, 1992.

[Mei89] C. Meinel. Modified Branching Programs and their Computational Power, volume 370 of LNCS. Springer Verlag, 1989.

[Pat86] M.S. Paterson. On Razborov's result for bounded depth circuits over ~[(B, A}. Technical report, University Vearwick~ 1986.

[Raz86] A.A, Razborov. Lower bounds on the size of bounded depth networks over the basis {(~, A}. Technical report, Moscow State University, Moscow, 1986.

[Red72] S.M. Reddy. Easily testable realizations for logic functions. In IEEE Trans. on Comp., volume C-21, pages 1183-1188, 1972.

[Ro193] U. Rollwage. The complexity of rood-2 sum PLA's for symmetric functions. IFIP WG 10.5 Workshop on Applications of the Reed-Muller Expansion in Cir- cuit Design, Hamburg, pages 6-12, 1993.

[Rud93] Richard Rude]]. Dynamic variable ordering for ordered binary decision dia- grams. In Int'l Conf. on CAD, pages 42-47, 1993.

[Sas93] T. Sasao. Logic Synthesis and Optimization. Kluwer Academic Publisher, 1993. [Sau92] J. Saul. Logic synthesis for arithmetic circuits using the reed-muller represent-

ation. In European Conf. on Design Automation, pages 109--113, 1992. [SB90] T. Sasao and Ph. Besslich. On the complexity of rood-2 sum PLAs. IEEE

Trans. on Comp., 39:262-266, 1990. [SP93] A. Sarabi and M.A. Perkowski. Design for testability properties of and/xor net-

works. IFIP WG I0.5 Workshop on Applications of the Reed-Muller Expansion in Circuit Design, Hamburg, pages 147-153, 1993.

[SR75] K.K. Saluja and S.M. Reddy. Fault detection test sets for reed-muller canonical networks. In IEEE Trans. on Comp., volume C-24, pages 995-998, 1975.

[SW92] D. Sieling and I. Wegener. Graph driven BDDs - a new data structure for Boolean functions. Technical report, Universit/it Dortmund, 1992.

[SW93] D. Sieling and I. Wegener. Reduction of BDDs in linear time. In]ormatlon Processing Letters, 48(3):139-144, I I 1993.

[SW94] D. Siding and I. Wegener. Graph driven BDDs - a new data structure for Boolean functions, to be published in Theoretical Computer Science, 1994.

[TM93] C.C. Tsal and M. Marek-Sadowska. Efficient minimization algorithms for fixed polarity and/xor canonical networks. In Great Lakes Syrup. VLSI~ pages 76-79~ 1993.

[Weg84] I. Wegener. Optimal decision trees and one-time-only branching programs for symmetric Boolean functions. Information and Control, 62:129-143, 1984.

[Weg87] I. Wegener. The Complexity of Boolean Functions. John Wiley g: Sons Ltd., and E.G. Teubner, Stuttgart, 1987.

[~VHDB94] R. Werchner, T. Harich, R. Drechsler, and ]8.13ecker. Satisfiability problems for ordered functional decision diagrams, submitted, 1994.