Document not found! Please try again

A New Viewpoint on Two-Level Logic Minimization - CiteSeerX

1 downloads 0 Views 224KB Size Report
cyclic core of the Boolean function f to be minimized. ... p is an implicant of a Boolean function f i p .... classes onto products that will be implicitely represented.
A New Viewpoint on Two-Level Logic Minimization Olivier Coudert

Jean Christophe Madre

Henri Fraisse

Bull Corporate Research Center Rue Jean Jaures 78340 Les Clayes-sous-bois, FRANCE

Abstract

hard ESPRESSO problems [16], it fails for the remainder because the quanti ed Boolean formulas describing the dominance relations and the reduced covering matrix are too complex to be evaluated eciently using standard Boolean manipulations [15, page 26]. We have shown in [6] that the use of quanti er free recursive equations for the building of dominance relations allows the implicit cyclic core computation to be feasible for 14 out of the 20 hard ESPRESSO problems. The procedure fails for the remaining problems because it is either not possible to build the BDDs of the dominance relations or to extract the new covering matrix from these relations. This paper presents a new implicit cyclic core computation procedure that overcomes the limitations of the procedures referenced above because it does not require the building of the BDDs of the dominance relations. This procedure, which is able to treat all of the 20 hard ESPRESSO problems, as well as all the other 125 problems from the MCNC benchmark [16], is also about 10 times more ecient than the procedure presented in [6]. The paper is divided in 5 parts. Section 2 gives the notations that will be used in the paper. Section 3 presents the generic set covering problem, and explains how the dominance relations are used to reduce the size of such a problem. It then shows that its associated covering matrix can be replaced with a matrix whose rows and columns are not labeled anymore with minterms and prime implicants, as in the Quine-McCluskey procedure, but with sets associated with the maximal classes of the partition induced by the dominance relations. Section 4 explains how this new covering matrix is built and reduced to obtain the cyclic core of the Boolean function to be minimized. Section 5 gives experimental results obtained with this new procedure and discusses them.

This paper presents a new 2-level logic minimization procedure. It consists of computing in an implicit way the cyclic core of the Boolean function f to be minimized. This computation is done through original transformations of sets covering problems that take full advantage of the metaproduct based implicit set of products manipulations. The computational cost of this new procedure is independent of the number of minterms of the function f and of its number of prime implicants, which allows us to treat functions for which these numbers are so large that it has never been possible to perform a 2level minimization. This method is, as far as we know, the rst one that is able to produce the cyclic cores of all the functions of the MCNC benchmark.

1 Introduction The metaproduct based implicit set of products manipulation techniques introduced in [4] have made possible to compute in an implicit way the sets of prime implicants of Boolean functions for which these sets are much too large to be explicitly built [5]. E orts have since been devoted to apply these techniques to the fundamental 2-level logic minimization problem. An ecient metaproduct based irredundant prime cover computation procedure has been presented in [7]. It treats all the MCNC benchmark and produces covers that are, except for 22 problems, less than 15% larger than the minimal solution. E orts made to solve the exact 2-level logic minimization problem have consisted of replacing, in the QuineMcCluskey minimization procedure [10], the iterative explicit cyclic core computation procedure with a procedure that performs the same task on an implicit covering matrix de ned by the binary decision diagrams (BDDs) [3] of the minterms to be covered and the metaproduct of the set of products that can be used to cover them. An implicit cyclic core computation procedure has been developed by Swamy, McGeer, and Brayton [15]. The idea here is to build, at each step of the cyclic core computation, the BDDs of the dominance relations, and then to extract from these BDDs a reduced covering matrix. Though this procedure is able to treat 2 of the 20

2 De nitions and Notations 2.1 Products

A literal is a propositional variable xk or its negation, is a conjunction of literals. We also noted xk . A product note Pn the set of 3n products that can be built from the set of variables fx1; . . . ; xng. The subset relation  is a partial order on the set Pn . Elements of sets of products P; Q will be noted p; p0; q; q0. A set of products 1

element y0 of Y dominates y0 i all elements of X 0covered by y are also covered by y . This means that y covers at least all the elements of X covered by y, and so y can be removed from the covering matrix. These reduction processes are formalized by the following theorem.

P is maximal if and only if (i ) there do not exist two products p and p0 of P such that p  p0. A product p is ann implicant of a Boolean function f i p  fx 2 f0; 1g j f (x) 6= 0g. A product p is a prime implicant of f i it is a maximal element of the set of implicants of f with respect to . Any subset P of Pn can be partitioned in the following canonical way: P = P1k [ (fxk g  Pxk ) [ (fxk g  Pxk ); where P1k , Pxk , and Pxk are sets of products in which the variable xk does not occur. For example, for P = fx1x4; x2; x2x4; x2x3 g, we have P12 = fx1x4 g, Px2 = fx3g, and Px2 = f1; x4g.

Theorem 1 Let hX; Y; R i be a set covering problem. It is equivalent to the following set covering problems: hmax (X= X ); Y; R i X hX; max (Y= Y ); R i  Y

In this formulation, the relation R is modi ed in the usual way on the quotient sets. Note that these problems are equivalent to hmaxX (X= X ); maxY (Y= Y ); R i, which has the smallest matrix, and so can be said to be the \simplest" problem.

2.2 Metaproducts

The metaproduct representation, introduced in [4], is a canonical representation of sets of products. Metaproducts will be noted P and Q. A very interesting property of metaproducts is that the metaproducts of the sets P1k , Pxk , and Pxk can be obtained from the metaproduct of P [5] in constant or linear time. Metaproducts allow manipulations of sets of products to be performed in an implicit way with costs not related to the number of products of the sets, but to the size of the BDDs of their metaproducts [4].

3.2 Essentiality

An element y of Y is essential i it is the only one that covers an element x of X . Essential elements belong necessarily to any minimal solution. So problems hX; Y; R i and hX n fx 2 X j 9y 2 E xRyg; Y n E; R i, where E is the set of essential elements of Y , are equivalent.

3.3 Cyclic Core

3 The Set Covering Problem

The cyclic core of hX; Y; R i is the xpoint obtained when the 3 reduction processes presented above (dominance relations on X and Y , and essentiality) are iteratively applied. In the case when this cyclic core is empty, the minimization is done, and in the other case, the minimization can be terminated using a branch-and-bound algorithm, which is based on a rows/columns removal controlled by a heuristic choice mechanism [1, 10, 13].

This section presents the set covering problem and the concept of dominance introduced by McCluskey [10]. Let X and Y be two sets, and R be a relation de ned on X  Y . We say that y covers x when xRy. The matrix associated with the set covering problem hX; Y; R i has rows labeled with elements of X and columns labeled with elements of Y , such that the element [x; y] of the matrix is equal to 1 i xRy. The set covering problem hX; Y; R i consists of nding a minimal cardinality subset of columns that cover all the rows. We say that two set covering problems are equivalent if a minimal solution of one problem can be built with a minimal solution of the other problem.

3.4 Transposing Functions

Manipulating the classes of the partitions X= X and of Y= Y can be very costly, so in most of the cyclic core computation procedures proposed in the past [10, 12, 1, 14, 9, 15, 6], these classes are manipulated through projections X and Y that map each class onto one of its elements. These projections guarantee that the problem hX (maxX (X= X )); Y (maxY (Y= Y )); R i is equivalent to hmaxX (X= X ); maxY (Y= Y ); R i. This section shows that, instead of using such a projection, one can use an isomorphism that maps the classes that must be manipulated on objects whose manipulation is less costly.

3.1 Dominance Relations

A quasi order  on a set Z is a re exive and transitive relation0 de ned on Z0  Z . 0 The relation  is de ned by (z  z ) , ((z  z ) ^ (z  z )). It is an equivalence relation on Z , so  is a partial order on Z= . The dominance relations X and Y de ned as follows are quasi orders on X and Y respectively: x X x0 , (8y 2 Y (x0Ry) ) (xRy)) y Y y0 , (8x 2 X (xRy) ) (xRy0 )) Dominance relations can be used to reduce the size of a set covering problem by removing rows and columns from its matrix [10]. An element x0 of X dominates x i all elements of Y0 that cover x0 also cover x. This means that covering x is sucient to cover x, so the row labeled with x can be removed from the matrix without modifying the set of minimal solutions. Similarly, the

De nition 1 Let  be a quasi order on Z . The function  0de ned on Z is a transposing 0function of  i z  z is equivalent to  (z )   (z ). In this case, (Z= ; ) and ( (Z ); ) are isomorphic through   . (Z= ; ) ?! max (Z= ) x % ?1 x?  ? (Z; ) &  y  y ( (Z ); ) ?! max  (Z ) 2

Theorem 2 The following function Q de ned from Q into Pn is a transposing function of Q . T Q (q) = fp2P jqpg p

Let hX; Y; R i be a set covering problem, and X and Y be two transposing functions of X and Y respectively. Then hX; Y; R i is equivalent to the set covering problem hmax X (X ); max Y (Y ); R0 i, where R0 is de ned by X (x)R0 Y (y) , xRy. The relation R0 is well de ned thanks to the de nition of transposing functions. Section 4 will present transposing functions that maps classes onto products that will be implicitely represented with metaproducts.

Proof. By de nition, we have: q Q q0 , (8p 2 P (q0  p) ) (q  p))

, ) )

fTp 2 P j q0  pg  fpT2 P j q  pg ( fp2P jqpg p)  ( fp2P jq0 pg p) Q (q)  Q (q0 ) Conversely, assume that Q (q)  Q (q0 ). Since it is always true that q  Q (q), we deduce that q  Q (q0). By de nition of Q , this means that all products of P that contain q0 also contain q, i.e., q Q p0 . 2 4.3 Computing max Q(Q)

4 A New Minimization Procedure

The 2-level logic minimization of a Boolean function f consists of solving the set covering problem hf; P; 2i, where P is the set of prime implicants of f . The QuineMcCluskey procedure [10] computes its cyclic core using the iterative application of the transformations, where E is the set of essential elements of P : hf; P; 2i ! hf (maxf (f= f )); P; 2i hf; P; 2i ! hf; P (maxP (P= P )); 2i hf; P; 2i ! hf n Sp2E p; P n E; 2i This section presents a new implicit cyclic core computation procedure that takes full advantage of the metaproduct representation. The idea consists of transposing the 2-level logic minimization problem hf; P; 2i into a set covering problem hQ; P; i that involves products and the subset relation. Two transposing functions Q and P of the associated dominance relations Q and P are de ned so that the reduction process described Section 3.4 transposes into a set covering problem that still involves products and the subset relation. This section also shows how the essential products of P are easily computed using max Q (Q). Finally it describes the new implicit cyclic core computation algorithm and emphasizes the key points that make it much more ecient that any previously available one. For the sake of clarity, the algorithms introduced in the sequel will be described on explicit sets of products. These algorithms can be directly translated into implicit manipulations of sets of products, by replacing sets of products with their metaproducts, and set operations with their correspondent logical operators, for instance [ with _ [4].

The advantage of the transposing function Q is that its range is Pn, and so max Q (Q) can be eciently represented with a metaproduct. The metaproduct of max Q (Q) can be computed using quanti ed Boolean formulas, but experience shows that their evaluations generate huge intermediate BDDs, and so this is not interesting from the computational point of view. This section presents a quanti er free recursive evaluation scheme that produces the metaproduct of max P (P ). We rst de ne the functions SupSet and SubSet that will be used in the sequel. The set SupSet (P; Q) is the set of products of P that contain at least one product of Q, and the set SubSet (P; Q) is the set of products of P that are contained by at least one product of Q: SupSet (P; Q) = fp 2 P j 9q 2 Q p  qg SubSet (P; Q) = fp 2 P j 9q 2 Q p  qg It is immediate to express these two functions with recursive equations, so that they are translated directly on metaproducts. For instance: SupSet (P; Q) =  if Q =  or P =  SupSet (P; Pn) = P SupSet (P; Q)1k = SupSet (P1k ; Q1k [ Qxk [ Qxk ) SupSet (P; Q)xk = SupSet (Pxk ; Qxk ) SupSet (P; Q)xk = SupSet (Pxk ; Qxk ) Theorem 3 The metaproduct of max Q (Q) is built by evaluating MaxTauQ (Q; P ; 1), where the explicit version of the function MaxTauQ is described as follows.

4.1 Mapping the Minterms on Pn

The rst transformation consists of nding a set covering problem hX; Y; R i equivalent to hf; P; 2i, where X and Y are sets of products and R = . Let Q be the set of the products that represent all minterms of f . Then hf; P; 2i is equivalent to hQ; P; i, where Q = fq 2 Pn j 9x 2 f0; 1gn (x 2 f ) ^ (fxg = q)g

function MaxTauQ (Q; P; k); if Q =  or P =  return ; if P = f1g return f1g; let K 0 = SubSet (Qxk ; Pxk ); K 1 = SubSet (Qxk ; Pxk ); K = Q1k [ (Qxk n K 0) [ (Qxk n K 1); R = MaxTauQ (K; P1k ; k + 1); R0 = MaxTauQ (K 0; P1k [ Pxk ; k + 1); R1 = MaxTauQ (K 1; P1k [ Pxk ; k + 1) in return R [ fxk g  (R0 n SubSet (R0; R)) [ fxk g  (R1 n SubSet (R1; R));

4.2 The Transposing Function Q

After the transformation described above, we have to solve a set covering problem hQ; P; i, where Q and P are sets of products. The dominance relation Q is: q Q q0 , (8p 2 P (q0  p) ) (q  p)) 3

Proof. Let p and p0 be two products of P . By de nition, we have: p P p0 , (8q 2 Q (q  p) ) (q  p0 )) , fSq 2 Q j q  pg  fSq 2 Q j q  p0g ) ( fq2Qjqpg q)  ( fq2Qjqp0 g q) ) P (p)  P (p0 ) because the function C is increasing. Conversely, assume that P (p)  P (p0). Since P (p)  p is always true, we deduce P (p)  p0. Also we have by de nition q  P (p) for all q of Q that are contained by p. Finally, this means0 that all q 0of Q contained by p are also contained by p , i.e., p  p . 2

Proof. The terminal cases are obvious. The set K 0 (respectively K 1) is the set of products q of Q such that Q (q) contains the literal xk (respectively xk ); K is the set of products q of Q such that Q (q) contains neither the literal xk nor xk . The set R is the set of products of max Q (Q) that contain neither the literal xk nor xk ; R0 is the set of products of Q (Q) that contain the literal xk , and that are maximal w.r.t. Q (Q)xk . Since only the maximal products w.r.t. Q (Q) have to be kept, only the set of products of R0 that are not contained by a product of R, which is R0 n SubSet (R0; R), has to be kept. The treatment for R1 is similar. 2

4.4 Essential Products

4.6 Computing max P (P )

The following result shows that the essential elements of P can be directly obtained from max Q (Q).

The advantage of the transposing function P is that its range is Pn, and so max P (P ) is a set of products that can be eciency represented with a metaproduct. Similarly to Q , the metaproduct of the maximal elements of P (P ) can be expressed by formulas with quanti ers, but their evaluation is too costly. This section presents a quanti er free recursive evaluation scheme that produces the metaproduct of max P (P ).

Theorem 4 Let hQ; P; i be a covering matrix, where Q is a set of products, and P a maximal set of products. Then the set of essential products is P \ max Q (Q). Proof. Since P is maximal, P \ Q (Q) is equal to P \

max Q (Q). The product p is essential i it is the only one of P that contains a product q of Q. This implies that Q (q) = p. Conversely, assume that there exists a product q of Q such that Q (q) = p with p 2 P . Then if it exists p0 such that p0T6= p and p0 2 fp 2 P j q  pg, we have p = Q (q) = ( fp2P jqpg p)  p0 , which is impossible because P is maximal. 2

Theorem 6 The metaproduct of max P (P ) is built by evaluating MaxTauP (Q; P ; 1), where the explicit version of the function MaxTauP is as follows.

function MaxTauP (Q; P; k); if Q =  or P =  return ; if Q = Pn return P ; let K = SupSet (P1k ; Q1k ) [ (SupSet (P1k ; Qxk ) \ SupSet (P1k ; Qxk )); K 0 = SupSet (P1k [ Pxk ; Qxk ) n K ; K 1 = SupSet (P1k [ Pxk ; Qxk ) n K ; R = MaxTauP (Q1k [ Qxk [ Qxk ; K; k + 1); R0 = MaxTauP (Qxk ; K 0; k + 1); R1 = MaxTauP (Qxk ; K 1; k + 1) in return R [ fxk g  (R0 n SubSet (R0; R)) [ fxk g  (R1 n SubSet (R1; R));

4.5 The Transposing Function P

Once the set of products Q0 = max Q (Q) has been for the set covering problem hQ; P; i, we obtain the new equivalent set covering problem hQ0; P; R0 i, with q0R0 p i q0 = Q (q) and q  p, as said in Section 3.4. It is easy to check that q  p is equivalent to Q (q)  p. This implies that the relation R0 is the subset relation, and so the new set covering problem is hQ0; P; i, that has exactly the same form as the rst one. The dominance relation on P is de ned by: p P p0 , (8q 2 Q (q  p) ) (q  p0)): Let us de ne the function C : 2f0;1gn ! Pn as follows: C (E ) = min fp 2 Pn j p  E g: 

Proof. The terminal cases are obvious. The set K is the set of products of P1k that contain a product of Q1k , or that contain a product of Qxk and a product of Qxk . This means that K is the set of products p of P such that P (p) does not contain the literal xk nor xk . The set R is then the set of products of max P (P ) that do not contain the literal xk or xk . The set K 0 (respectively K 1) is the set of products of P that only contain products of Q where the literal xk (respectively the literal xk ) occurs. The set R0 is then the set of products of P (P ) that contain the literal xk , and that are maximal w.r.t. P (P )xk . Since only the maximal products w.r.t. P (P ) have to be kept, only the set of products of R0 that are not contained by a product of R, which is R0 n SubSet (R0; R), has to be kept. The treatment for R1 is similar. 2

In other words, C (E ) is the smallest product that contains the set E . The product C (E ) is unique, because if we assume that there exist two di erent minimal products p and p0 that contain E , then p \ p0 is a smaller product that still contains E . We nally de ne the following transposing function P .

Theorem 5 The following function P de ned from P into Pn is a transposing function of P . P (p) = C (

S

fq2Qjqpg

q) 4

4.7 The New Algorithm

of prime implicants B in the so far best known irredundant prime cover. Table 2 gives the CPU time (Time) in seconds and the total amount of memory (Mem) in megabytes used to compute on a IBM RS6000 the cyclic core of the functions. Column S/c gives the number of cycles c (one cycle is the application of transformations 1, 2, and 3) needed to generate the cyclic core, and the number of prime implicants S that have been found to be in the minimal solution currently built. Column row  col gives the number of rows row and the number of columns col of the cyclic core. Brayton, McGeer, and Sanghavi have introduced in [2] a transposing function , called signature cube, of the minterm dominance relation. This transposing function allows the reduction of the set covering problem using the following transformation: hf; P; 2i ! hmax (f ); P; i  This transformation does not produce the cyclic core of f , but it is nevertheless interesting because max (f ) can be iteratively computed without computing all the prime implicants of f , and the reduction it allows can be sucient to minimize functions with huge numbers of prime implicants [2, 11]. However, for some functions, the reduced covering matrix it produces is too large to be handled by a branch-and-bound algorithm, or the number of maximal signature cubes is too large to be exhaustively computed. For instance, mainpla, soar, and ti have 10364, 6707717, and 17716 maximal signature cubes respectively.

The new algorithm consists of implicitly computing the cyclic core of f by applying transformation 0 once, hf; P ; 2i !0 hffxg j x 2 f g; P ; i where the metaproduct P of all the prime implicants of the function f to be minimized is computed using the algorithm presented in [5], and then by iteratively applying the following ordered transformations: hQ; P ; i !1 hmax Q (Q); P ; i 

hQ; P ; i !2 hQ ^ :E ; P ^ :E ; i with E = P ^ Q hQ; P ; i !3 hQ; max P (P ); i 

Transformation 0 consists of transposing the 2-level logic minimization problem into an equivalent set covering problem hQ; P ; i, where Q and P are sets of products. Transformation 1 uses the transposing function Q to reduce the size of the problem. Transformation 2 consists of computing the metaproduct E of the set of essential products of P , as shown in Section 4.4, since at this step Q is the metaproduct of max Q (Q). Transformation 3 uses the transposing function P to produce the new set covering problem hQ; max P (P ); R0 i, with qR0 p0 i p0 = P (p) and q  p, as said in Section 3.4. One can check that q  P (p) is equivalent to q  p, so the relation R0 is the subset relation, as said by transformation 3. The key points of this algorithm are: the use of BDDs and metaproducts, that make its complexity independent from the number of minterms and prime implicants of f ; the use of transformation 0 that transposes the initial set covering problem into a new one using sets of products and the subset relation; the use of two transposing functions of the two associated dominance relations, whose ranges are set of products, allowing ecient manipulations of the rows and columns of the new set covering problem using metaproducts. This procedure allows us to compute cyclic cores of Boolean functions without computing the dominance relations, whose huge BDDs are the bottleneck of the previously available implicit cyclic core computation procedures [15, 6].

6 Conclusion

We have presented in this paper a new 2-level logic minimization procedure. This new algorithm consists of computing in an implicit way the cyclic core of the Boolean function f . The rst step transforms the initial problem into an equivalent set covering problem that uses sets of products and the subset relation. The second step consists of computing the cyclic core of this new set covering problem using transposing functions and metaproducts. The eciency of this approach has been demonstrated by the generation of the cyclic core of all the Boolean functions of the MCNC benchmark, which had never been achieved before. In the case when the generated cyclic core of the function is small, an explicit branch-and-bound technique can be used to nd a minimal solution. However, in the case when this cyclic core is very large, a more powerful branch-and-bound resolution procedure is needed, and research is being done to develop such a metaproduct based procedure.

5 Experimental Results

The method presented in this paper is able to compute the cyclic cores of all the 145 examples of the MCNC benchmark [16], which has never been done before. We deal with the 2-level logic minimization of a multi-output Boolean function f by using a one-to-one mapping between the implicants of f and those of a partially de ned single output Boolean function computed from f , as shown in [8, 7]. Table 1 describes the 20 hard ESPRESSO problems [13, 16] and some other hard examples. It gives the numbers of input and of output (i/o) of each multi-output function, and a \" indicates that it is partially de ned. It gives its number of minterms #M, of prime implicants #P, of essential prime implicants #E, and the number

Acknowledgments

The authors would like to thank G. M. Swamy, P. McGeer, and R. K. Brayton for the private presentation they gave in June 1992 on the concepts of minterm and prime dominance and their use for cyclic core computation. This presentation introduced us to the 2-level 5

Name

#M #P #E 17=9 589824 338732 1270 30=28 8:12 e +09 17060286 79 9=9 403 5972 0 10=10 625 4955 0 8=30 1516 6139 0 10=10 1471 25888 0 8=63 7620 2532 28 10=6 3232 1278 14 9=21 3027 2635 9 21=33 13956096 15135 7 11=35 7122 109099 0 10=35 3543 41344 0 50=69 1:60 e +16 1758057 97 128=28 1:59 e +39 1:83 e +14 138 48=17 1:55 e +15 1:04 e +09 172 36=57 8:00 e +11 2496809 0 27=54 3:55 e +09 87692 29 56=23 1:05 e +18 6:49 e +09 3 94=43 4:14 e +29 1:12 e +15 3 35=14 2:61 e +11 139103 13 16=40 120958 23231 2 19=16 4194304 165133 100 39=8 1:83 e +12 78735 104 83=94 1:74 e +26 3:30 e +14 2 47=72 4:13 e +14 836287 46 22=16 4194304 524280 128 82=56 8:84 e +25 1:14 e +16 2 66=15 3:50 e +20 566698631 378 41=73 1:08 e +13 15039 140 Table 1. The hard ESPRESSO Problems.

add8 cont bench1 exam test4 ex1010 ex5 max1024 prom2 t1 test2 test3 accpla ex4 ibm jbp mainpla misg mish misj pdc shift signet soar ti ts10 x2dn x7dn xparc

i=o

B

Name S=c row  col Mem Time add8 2519=3 00 1:6 0:3 cont 229=4 00 2:2 1:1 bench1 8=4 355  866 19:2 36:3 exam 0=4 458  1113 17:0 33:7 test4 0=2 1435  5117 79:1 1653 ex1010 0=3 1466  11568 68 492 ex5 29=4 686  974 44:8 209 max1024 50=5 916  904 6:4 9:4 prom2 28=12 1524  1813 36:3 154 t1 56=4 205  170 4:2 6:6 test2 0=3 7104  69096 103 53864 test3 0=3 3518  26461 81:2 15425 accpla 171=5 88 76:9 1279 ex4 269=4 20  20 4:3 4:8 ibm 173=2 00 8:5 8:9 jbp 93=6 324  209 44:9 118 mainpla 172=5 00 87:4 8612 misg 69=2 00 2:1 0:9 mish 82=2 00 4:3 4:2 misj 35=2 00 2:1 0:7 pdc 19=6 1498  1141 38:5 156 shift 100=1 00 8:5 9:7 signet 119=2 00 61:8 496 soar 208=5 22540  8927 2:5 65:7 ti 137=5 874  430 30:9 60:9 ts10 128=1 00 6:4 8:2 x2dn 104=4 00 6:4 8:3 x7dn 406=3 1968  664 38:5 110 xparc 232=4 224  149 31:9 65:6

? ? 125 63 104 246 67 267 287 102 995 491 175 279 173 122 172 69 82 35 121 100 119 352 213 128 104 538 254

Table 2. Solving the hard ESPRESSO Problems.

logic minimization, and is the starting point of our work on this domain.

[8] R. B. Cutler, S. Muroga, \Useless Prime Implicants of Incompletely Speci ed Multiple-Output Switching Functions", in Int'l Journal of Computer and Information Sciences, Vol. 9, No. 4, 1980. [9] S. J. Hong, S. Muroga, \Absolute Minimization of Completely Speci ed Switching Functions", in IEEE Trans. on Computers, Vol 40, pp. 53{65, 1991. [10] E. J. Jr. McCluskey, \Minimization of Boolean Functions", in Bell System Technical Journal, Vol 35, pp. 1417{1444, 1959. [11] P. C. McGeer, J. Sanghavi, R. K. Brayton, \Minimization of Logic Functions using Essential Signature Sets", in Proc. of VLSI Design'93, Bombay, India, January 1993. [12] W. V. O. Quine, \The Problem of Simplifying Truth Functions", in American Mathematical Monthly, Vol 59, pp. 521{531, 1952. [13] R. L. Rudell, Multiple-Valued Logic Minimization for PLA Synthesis, UCB technical report M86/65, 1986. [14] R. L. Rudell, A. L. Sangiovanni-Vincentelli, \Multiple Valued Minimization for PLA Optimization", in IEEE Trans. on CAD, Vol 6, No 5, pp. 727{750, September 1987. [15] G. M. Swamy, P. McGeer, R. K. Brayton, \A Fully Quine-McCluskey Procedure using BDD's", UCB technical report #UCB/ERL M92/127, November 1992. Also submitted to IWLS'93 and DAC'93. [16] S. Yang, Logic Synthesis and Optimization Benchmarks User Guide, Microelectronics Center of North Carolina, January 1991.

References [1] R. K. Brayton, G. D. Hachtel, C. T. McMullen, A. L. Sangiovanni-Vincentelli, Logic Minimization Algorithms for VLSI Synthesis, Kluwer Academic Publishers, 1984. [2] R. K. Brayton, P. C. McGeer, J. Sanghavi, \A New Exact and Heuristic Minimizer for Two-Level Logic Synthesis", in Proc. of Int'l Symposia on Information Sciences, Fukuoka, Japan, July 1992. [3] R. E. Bryant, \Graph-based Algorithms for Boolean Functions Manipulation", in IEEE Trans. on Computers, Vol C-35, 1986. [4] O. Coudert, J. C. Madre, \A New Method to Compute Prime and Essential Prime Implicants of Boolean Functions", in Advanced research in VLSI and Parallel Systems, T. Knight and J. Savage Editors, The MIT Press, pp. 113{128, March 1992. [5] O. Coudert, J. C. Madre, \Implicit and Incremental Computation of Primes and Essential Primes of Boolean functions", in Proc. of the 29th DAC, Anaheim, CA, June 1992. [6] O. Coudert, J. C. Madre, \A New Viewpoint on Two-o Level Logic Minimization", Bull research report N 92026, November 1992. [7] O. Coudert, J. C. Madre, \Towards a Symbolic Logic Minimization Algorithm", in Proc. of VLSI Design'93, Bombay, India, January 1993.

6