Complete i-decomposition of Multiple-Valued Functions Using MIN and MX Gates ernd Steinbach TU ergakademie Freiberg steinb@informatik.tu-freiberg.de Christian Lang IMMS ggmbh Erfurt christian.lang@imms.de bstract In this paper we apply the bi-decomposition on multivalued functions and restrict the decomposition to MIN and MX gates. It is known from [4] that the MIN and MX bi-decomposition leads in general to small multi-level circuits, well understandable for humans. Unfortunately, there does not exist a MIN or MX bi-decomposition for each multi-valued function. In this paper we close this gap by the MX-MIN multi-decomposition. Experimental results show that our complete decomposition of a set of benchmarks requires approximately the same sum of gates and literals as the known incomplete approach and the number of logic levels could even be reduced in average by 20 percent. 1. Introduction There are two very simple multi-valued gates having two or more inputs and one output. These gates are called MX gate and MIN gate. The output value of the MX (MIN) gate is equal to the maximal (minimal) value of the inputs. These simple gates allow sometimes a complete MX/MIN-bi-decomposition [4]. The decomposer I- DECOMP-MV was suggested by Mishchenko, Steinbach and Perkowski in [4]. This decomposer is based on E- MDDs [5] as central data structure and generates netlists of functions in multi-valued logic (MVL). The generated netlists have two valuable properties. First, the netlists are compact because the algorithm exploits external and internal don t cares. Second, the netlists are well-balanced, which reduces the delay of the resulting circuit. Unfortunately this approach cannot decompose all MVL functions completely. Experimental results have shown that only eleven of twenty six MVL functions of the POLO benchmarks could be decomposed completely using the MX- and the MIN-bi-decomposition [4]. complete bi-decomposition of MVL functions can be done by the YDE decomposer [2]. Lang implemented the decomposer YDE like a framework of tools for different types of decompositions, where the user can select the decomposition strategy. It may be difficult for the user to find good setups of the YDE decomposer because many different algorithms are implemented. Experimental results have shown that YDE finds better networks than the bi-decomposer I-DECOMP-MV on average. It should be mentioned that for all test cases, YDE found better minimizations of the test functions than MVSIS [1]. However, I-DECOMP- MV found better results for some test functions, which emphasizes the power of the simple MX/MIN-bi-decomposition. For that reason we suggest simple complete approach for decomposition of multiple-valued functions based on the MX/MIN-bi-decomposition in this paper. ecause of the restricted space, we omit all proofs of lemmas and theorems in this paper. The proofs are given in [2]. The remainder of this paper is organized as follows. Section 2 introduces multi-valued function intervals and further basic definitions. In Section 3 we summarize the theory of the MX/MIN-bi-decomposition of multiple-valued function intervals. The completeness of the decomposition will be ensured by the MX-MIN multi-decomposition, explained in Section 4. Section 5 gives experimental results. The paper concludes with a summary in Section 6. 2. Preliminaries In order to reach the required completeness of the decomposition we deal with multi-valued function intervals (MFIs) which generalize of MVL ISFs [3, 4]. There are multi-valued function sets (MFSs) that can be described by MFIs but not by MVL ISFs. Definition multi-valued function interval (MFI) F() = [f l, f u ] with f l () f u () is the set of MVL functions F() = { f() f l () f() f u () }. (1) The function f l () is the lower bound, and the function f u () is the upper bound of the MFI.
f 1 (a, b) 0 0 0 1 2 1 b) F (a, b) 0 [0,1] [0,0] 1 [2,2] [1,2] 2 [1,1] [0,0] a) f 2 (a, b) 0 1 0 1 2 1 f 3 (a, b) 0 0 0 1 2 2 f 4 (a, b) 0 1 0 1 2 2 Figure 1. Maps of a multi-valued function interval. a) Interval representation. b) Enumeration of the included multi-valued functions. n MFI F() = [f l, f u ] can be visualized by a map. For a minterm i, the bounds f l ( i ) and f u ( i ) are shown as an interval [f l ( i ), f u ( i )] in the field i of the map. Example Figure 1 shows the MFI F(a, b) = [f 1, f 4 ], the lower bound f l = f 1 and the upper bound f u = f 4. The function value of F (0, 0) can be chosen from the interval [0,1] and the value (2) is forbidden in this case. The care set C is equal to {(0, 1), (1, 0), (2, 0), (2, 1)}. The function value of F (1, 1) can be chosen from the interval [1,2] and the value (0) is forbidden in this case. The problems of decomposition can easily be described in terms of the min- and max-operators over variables. There are several possibilities to extend the oolean differential calculus (DC) to MVL functions. The definitions of the k-times minimum and the k-times maximum of a MVL function are given in [3]. For later use we define two more operators. Definition Let x and y be multi-valued variables, then leq 0 (x, y) = is the leq0-operator and geq m (x, y)) = is the geqm-operator. { 0, if x y x, otherwise { m, if x y x, otherwise (2) (3) 3. MX- and MIN-i-Decomposition 3.1. The Problem Given an MFI F(,, C) = [f l, f u ] the MX-bi-decomposition problem consists in finding pairs of functions g(, C), h(, C) that satisfy max ( g(, C), h(, C) ) f l (,, C) and (4a) max ( g(, C), h(, C) ) f u (,, C). (4b) The sets and are called the dedicated sets. The set C is called the common set. If there exists a pair g(, C), h(, C) that satisfies (4), the MFI F(,, C) is called MX-bi-decomposable. dditional terms must be defined to describe the relation between the functions g(, C) and h(, C) if there is more than one pair that satisfies (4). The free set is the set G(, C) of all functions g(, C) for which there exists at least one function h(, C) that satisfies (4). The bound set H g0 (, C) is the set of functions h(, C) so that the pair g 0 (, C), h(, C) satisfies (4). Similar terms can be defined for the MIN-bi-decomposition by replacing the max-operator with the min-operator. 3.2. MX-Decomposition Test test condition for the MX-decomposability of MFIs can be derived from the upper bounds of the decomposition functions as specified in the following theorem. Theorem 3.1 The MFI F(,, C) = [f l, f u ] is MX-decomposable with respect to the dedicated sets and iff where f l (,, C) max ( g u (, C), h u (, C) ), (5) g u (, C) = min k f u (,, C) h u (, C) = min k f u (,, C). (6a) (6b) Example Consider the MX-bi-decomposition of the MFI F(a, b) from Figure 1 repeated in Figure 2. The functions g u (a) and h u (b) calculated by (6a) and (6b) are shown to the left and at the bottom of Figure 2 respectively. Comparison with f l (a, b) = f 1 (a, b) in Figure 1 shows that (5) is satisfied. dditional comparison with f u (a, b) = f 4 (a, b) from Figure 1 reveals that g u (a), h u (b) is indeed a MXbi-decomposition of the MFI F (a, b) = [f l, f u ]. The equality max ( g u (a), h u (b) ) = f u (a, b) is a coincidence.
F (a, b) g(a) = gu (a) 0 [0,1] [0,0] 0 1 [2,2] [1,2] 2 2 [1,1] [0,0] 0 1 0 h(b) = h u (b) F (a, b) g(a) = gl (a) 0 [0,0] [0,0] 0 1 [2,2] [0,2] 2 2 [1,1] [0,0] 1 2 0 h(b) = h l (b) Figure 2. Map of a MX-bi-decomposition. Figure 3. Map of a MIN-bi-decomposition. 3.3. Computation of MX-Decomposition Functions To apply MX-bi-decomposition in decomposers, it is necessary to compute the free and bound sets. First, a formula for the free set is derived in Theorem 3.2. Then the bound set is computed in Theorem 3.3. Theorem 3.2 Let the MFI F(,, C) = [f l, f u ] be MX-decomposable with respect to the dedicated sets and. Then the free set of the MX-bi-decomposition of F(,, C) is the MFI G(, C) = [g l, g u ], where g l (, C) = max leq 0 fl (,, C), min k f u (,, C) ) (7) g u (, C) = min k f u (,, C). (8) Theorem 3.3 Let the MFI F(,, C) = [f l, f u ] be MXdecomposable with respect to the dedicated sets and, and let the function g 0 (, C) be a decomposition function of F(,, C). Then the bound set of the MX-bi-decomposition of F(,, C) with respect to the function g 0 (, C) is the MFI H g0 (, C) = [h l, h u ], where h l (, C) = max leq 0 fl (,, C), g 0 (, C) ) (9) h u (, C) = min k f u (,, C). (10) Each combination of a pair of functions from the MFIs G 1 (, C) = [g 1, g u ] and H 1 (, C) = [h 1, h u ] is a decomposition. The functions g u (, C) and h u (, C) are computed by (6), and h 1 (, C) is computed by (9). If the function g 1 (, C) is decreased to g 2 (, C) the upper bounds g u (, C) and h u (, C) do not change. However, the lower bound of H(, C) increases to h 2 (, C), i.e. the bound set becomes smaller. The smallest possible value for g(, C) with a nonempty bound set H(, C) is the function g l (, C) computed by (7). It is possible to exchange the sizes of the sets G(, C) and H(, C). Increasing the MFI G(, C) (so that it contains more functions), reduces the size of the MFI H(, C) and vice versa. 3.4. MIN-Decomposition MIN-bi-decomposition is dual to MX-bi-decomposition. The results for MX-bi-decomposition are adapted and summarized for the case of MIN-bi-decomposition. The cardinality of the MFI F (,, C) is denoted by m F. Theorem 3.4 The MFI F(,, C) = [f l, f u ] is MIN-decomposable with respect to the dedicated sets and iff where f u (,, C) min ( g l (, C), h l (, C) ), (11) g l (, C) = max k f l (,, C) h l (, C) = max k f l (,, C). (12a) (12b) Theorem 3.5 Let MFI F(,, C) = [f l, f u ] be MIN-decomposable with respect to the dedicated sets and. Then the free set of the MIN-bi-decomposition of F(,, C) is the MFI G(, C) = [g l, g u ], where g l (, C) = max k f l (,, C) (13) g u (, C) = min geq mf fu (,, C), max k f l (,, C) ). (14) Theorem 3.6 Let the MFI F(,, C) = [f l, f u ] be MINdecomposable with respect to the dedicated sets and, and let the function g 0 (, C) be a decomposition function of F(,, C). Then the bound set of the MIN-bi-decomposition of F(,, C) with respect to the function g 0 (, C) is the MFI H g0 (, C) = [h l, h u ], where h l (, C) = max k f l (,, C) (15) h u (, C) = min geq mf fu (,, C), g 0 (, C) ). (16) Example Figure 3 explains a MIN-bi-decomposition. The MFI F(, ) in Figure 3 is slightly changed in comparison to Figure 1. The restriction of F(0, 0) from [0,1] to [0,0] inhibits the MX-bi-decomposition. The extension of F(1, 1) from [0,1] to [0,2] allows the MIN bi-decomposition.
The functions g l (a) and h l (b) calculated by (12a) and (12b) are shown to the left and at the bottom of Figure 3 respectively. Comparison with f u (a, b) in Figure 3 shows that (11) is satisfied. The MIN operation of g(a) = g l (a) and h(b) = h l (b) is indeed a MIN-bi-decomposition of F(a, b) = [f l, f u ]. The equality min ( g l (a), h l (b) ) = f l (a, b) is a coincidence. 4. MX-MIN Multi-Decomposition There are MFIs that are not bi-decomposable with respect to MX and MIN gates. Weak bi-decomposition is applied to simplify non-bi-decomposable oolean functions. Unfortunately, there are MVL functions that are neither bi-decomposable nor weakly bi-decomposable [5]. For that reason new decomposition principles are necessary to ensure complete decomposition of all MVL functions. Several approaches to solve this problem are given in [2]. Multi-decomposition of a non bi-decomposable MFI with respect to MX and MIN gates ensures complete decomposition of all MVL functions. The MX-MIN multi-decomposition splits an MFI by a MX gate into n MIN-bi-decomposable MFIs, where the number n is minimized. In contrast to the bi-decomposition, the MFIs of the first level of a MX-MIN multi-decomposition do not depend on fewer variables in general. Definition MX-MIN multi-decomposition of an MFI F(,, C) with respect to the dedicated sets and is a vector of n functions so that f(,, C) = [f 1 (,, C),..., f n (,, C)] (17) max ( f 1 (,, C),..., f n (,, C) ) F(,, C), (18) where the functions f 1 (,, C),..., f n (,, C) are MIN-decomposable with respect to the dedicated sets and. To compute MX-MIN multi-decompositions, another criterion for MIN-decomposability of MFIs is developed in extension of Section 3.4. This criterion can be used to determine the minimum number of functions for MX-MIN multi-decomposition. MIN-decomposability of an MFI can be checked locally by considering all applicable triple of function values. Theorem 4.1 formulates a MIN-decomposition criterion based on this observation. Theorem 4.1 n MFI F(,, C) = [f l, f u ] is MIN-decomposable iff for all 5-tuples of minterms i, j, m, n, C k there is min ( f l ( i, m, C k ), f l ( j, n, C k ) ) f u ( i, n, C k ). (19) Properties of MX-MIN multi-decompositions can be shown with the help of an incompatibility graph, which is a graph with one node for each minterm and an edge between minterms for every pair of minterms that does not satisfy (19). Definition The MIN-incompatibility graph of the MFI F(,, C) with respect to the dedicated sets and is a graph with one node for each minterm ( i, m, C k ). There is an edge between all pairs of minterms ( i, m, C k ) and ( j, n, C k ) with min ( f l ( i, m, C k ), f l ( j, n, C k ) ) > f u ( i, n, C k ), (20) where F(,, C) = [f l, f u ]. Nodes with f l (,, C) = 0 can be omitted from the MIN-incompatibility graph because for these nodes (20) is never satisfied. Lemma 4.2 Let F(,, C) = [f l, f u ] be an MFI. Then F(,, C) is MIN-decomposable iff its MIN-incompatibility graph does not contain any edges. Lemma 4.2 shows that MX-MIN multi-decomposition problem is equivalent to partitioning the incompatibility graph of an MFI into subsets so that there are no edges between the nodes of the same subset. This is the graph coloring problem, which assigns a color to each node so that no pair of nodes with the same color is connected by an edge. Theorem 4.3 n MFI F(,, C) = [f l, f u ] is MX-MIN multi-decomposable into n functions iff its MIN-incompatibility graph is colorable with n colors. The number of subfunctions of a MX-MIN multi-decomposition can be computed from the number of colors that are necessary to color the MIN-incompatibility graphs of MFIs. Consider three minterms located in the same row a i of the map, say f l (a i, b m ), f l (a i, b n ) and f u (a i, b n ). Obviously, (19) is always satisfied for such a triple of function values because min(f l (a i, b m ), f l (a i, b n )) f l (a i, b n ) f u (a i, b n ) (21) follows from f l (a, b) f u (a, b). Therefore, a coloring of the incompatibility graph is to color each row with a different color. Similarly a coloring of the incompatibility graph is to color each column with a different color. It can be concluded that the number of colors necessary to color the incompatibility graph is bounded by the minimum numbers of rows and columns. Theorem 4.4 The MIN-incompatibility graph of a MFI F(,, C) = [f l, f u ] with respect to the dedicated sets and is colorable with n min ( M, M ) colors, where M and M are the numbers of different minterms of the variable sets and respectively.
F (a, b) 0 [0,0] [0,0] 1 [2,2] [1,2] 2 [1,1] [0,0] a) F 1 (a, b) g(a) 0 [0,0] [0,0] 0 1 [2,2] [0,2] 2 2 [1,1] [0,0] 1 c) 2 0 h(b) b) 1,0 1,1 2,0 F 2 (a, b) g(a) 0 [0,0] [0,0] 0 1 [0,2] [1,2] [1,2] 2 [0,1] [0,0] 0 Figure 4. Maps of a MX-MIN multi-decomposition. a) Given multi-valued function interval. b) Colored MIN-incompatibility graph. c) MIN decomposable multi-valued function intervals of the MX-MIN multi-decomposition. Example Figure 4 explains a MX-MIN multi-decomposition. s in Figure 3 the restriction of F(0, 0) from [0,1] to [0,0] inhibits the MX-bi-decomposition. The created MFI is not extended anywhere so that no MIN-bi-decomposition is possible. Figure 4 b) depicts the MIN-incompatibility graph of the MFI in Figure 4 a). The nodes (0,0), (0,1), and (2,1) are omitted because the lower bound values are equal to zero. s mentioned above there are no edges between nodes of the same row or column. There is an edge between the nodes (2,0) and (1,1) because (20) becomes true for f l (2, 0) = 1, f l (1, 1) = 1, and f u (2, 1) = 0 so that min(1, 1) > 0. The MIN-incompatibility graph can be colored using two colors. The first color is indicated in Figure 4 b) the by one circle and the second color by two circles around the colored node. ased on the two necessary colors two MIN decomposable MFIs are created. These MFI F 1 (a, b) and F 2 (a, b) are shown in Figure 4 c). The lower bounds are unchanged for the nodes of of the associated color and replaced by zero otherwise. The MFI F 1 (a, b) is MIN decomposable as shown in Figure 3. In this special case the MFI F 2 (a, b) includes two functions that does not depend on the variable b. 5. Experimental Results The MX- and MIN-bi-decomposition, the MX-MIN multi-decomposition and further decomposition methods are implemented in the configurable decomposer for multivalued functions sets, called YDE. ll details of YDE are described in [2]. Note, this new decomposer YDE is completely different to the previous version of YDE [3]. The results of the MX- and MIN-bi-decomposition for 26 benchmarks were published in [4]. These benchmarks are available from den Portland Logic Optimization Group (POLO) [6]. We repeat the main results of the decomposer I-DECOMP-MV (DM) [4] in the left part of Table 1. Eleven of these 26 multi-valued benchmark functions could be decomposed completely using the MX- and MIN-bidecomposition only. Decomposition of the other 15 benchmark functions results in a total of 2453 non decomposable MVL functions. For comparison we calculated the decompositions of exactly the same 26 benchmarks. Due to the MX-MIN multi-decomposition all benchmarks could decomposed completely using MX and MIN gates only. We used the predefined strategy SEPLL3 of YDE [2] (YDE3). In this strategy independend variable are eliminated. fter that MX- or MIN-bi-decompositions are executed and if no such decomposition exist, MX-MIN or MIN-MX multi-decomposition is applied. The experimental results are listed in right part of Table 1. The column enchmark gives the benchmark name. The number of inputs and outputs are enumerated in the column I/O. DFC is the abbreviation of discrete function cardinality which is a measure of the complexity of a multi-valued function and is calculated as product of its input cardinalities. s measure of the delay specify the columns LL the numbers of logic levels of the designed circuit. The columns a MM enumerates the number of MX- and MIN-bi-decompositions. ND is the abbreviation of non decomposable and count how many multi-valued functions could not decomposed by MX- or MIN-bi-decompositions in the case of DM. The number of MX-MIN multi-decompositions are given in the column MMM and the number of required literals are specified in the columns Lit. The run time is listed in seconds for the YDE decomposer on a 2.4 GHz Pentium IV computer with 512 M memory in the column Time. Table 2 shows a summarized direct comparison between the decomposer DM [4] and the new YDE decomposer [2] using the strategy SEPLL3 (YDE3) based on benchmark set of Table 1. The most important improvement of YDE is that all non decomposable functions could be decomposed by YDE3. The sum of MX gates, MIN gates, and literals is approximately the same for DM and YDE3, even though DM does not decompose 2453 multi-valued functions. n additional benefit of YDE3 is
I-DECOMP-MV YDE - SEPLL3 enchmark I/O DFC LL MM ND Lit DFC LL MM MMM Lit Time audiology 69/1 23345 15 94 14 74 29027 13 94 19 83 1.1 balance 4/1 1889 20 121 0 115 1153 14 84 61 57 0.4 ballon1 4/1 8 2 8 2 0.1 breastc 9/1 987 10 51 7 38 312 9 36 19 46 0.3 bridges1 9/1 1469 11 47 5 38 1292 9 36 13 40 0.2 bridges2 19/1 1889 13 58 7 46 2319 13 61 23 52 0.3 car 6/1 372 10 31 0 30 535 11 36 13 23 0.2 chess1 6/1 1.7 10 6 64 5081 716 3493 1595385 36 4982 4105 4092 381.2 chess2 36/1 415 10 68 4 62 538 11 112 2 41 1.9 cloud 6/1 510 9 24 5 16 206 9 26 10 31 0.1 employ1 9/1 309 12 26 0 23 462 11 27 15 26 0.4 employ2 7/1 375 8 32 0 31 535 9 29 16 25 0.7 flag 28/1 2816 12 96 13 75 3226 12 108 35 90 0.7 flare1 10/3 1064 8 56 8 45 547 9 58 14 38 0.3 flare2 10/3 6129 12 113 17 85 2269 12 109 40 64 0.5 hayes 4/1 75 5 8 0 9 90 6 6 3 8 0.0 lung-cancer 56/1 174 8 16 2 14 189 8 18 4 19 0.2 mushroom 22/1 32 6 5 0 6 36 5 5 1 6 1.1 programm 12/1 3.6 10 5 49 11160 1502 6621 256649 28 6872 6053 489 121.6 sensory 11/1 4.5 10 4 27 633 109 442 55344 17 509 317 307 2.6 ships 4/1 201 8 12 2 8 217 7 10 7 15 0.1 sleep 9/1 366 8 17 0 17 265 6 12 3 14 0.1 sponge 44/1 41 5 5 0 6 41 4 4 1 6 0.1 tic-tac-toe 9/1 1942 17 274 42 208 1946 16 307 156 47 1.0 trains 32/1 8 2 8 2 0.0 zoo 16/1 195 6 8 0 9 244 6 9 1 10 0.0 Table 1. Experimental Results of I-DECOMP-MV and YDE - SEPLL3 Category DM YDE3 MIN/MX decompositions 18038 13552 Non decomposed functions 2453 0 MIN-MX multi-decomposition 0 10931 MIN/MX gates 18038 24483 Literals 11515 5633 Logic levels 357 285 Table 2. Comparison: DM - YDE-SEPLL3 that it needs 20 percent less logic levels. 6. Conclusion We suggested in this paper an approach that decomposes a MFI into a multi level structure of MX gates and MIN gates. This approach prefers the MX- and MIN-bi-decomposition for the strongest simplification. Completeness is ensured by MX-MIN multi-decomposition. References [1] M. Gao and R. rayton. Multi-valued multi-level network decomposition. In 10th International Workshop on Logic & Synthesis, pages 254 260, Granlibakken, US, June 2001. [2] C. Lang. i-decomposition of Function Sets using Multi- Valued Logic. Dissertation thesis, Freiberg University of Mining and Technology, Germany, 2003. [3] C. Lang and. Steinbach. Decomposition of multi-valued functions into min- and max-gates. In 31th IEEE International Symposium on Multiple-Valued Logic, pages 173 178, Warsaw, Poland, May 2001. [4]. Mishchenko,. Steinbach, and M. Perkowski. i-decomposition of multi-valued relations. In 10th International Workshop on Logic & Synthesis, pages 35 40, Granlibakken, US, June 2001. [5]. Mishchenko, C. Files, M. Perkowski,. Steinbach, and C. Dorotska. Implicit algorithms for multi-valued input support minimization. In 4th International Workshop on oolean Problems, pages 9 21, Freiberg, Germany, Sept. 2000. [6] Portland Logic and Optimization Group. POLO Web Page. Portland State University, Oregon, US. URL http://www.ee. pdx.edu/ polo/.