'L I B R.AFLY OF THE UNIVERSITY OF ILLINOIS 510.84- no.355-3G0 cop Z The person charging this material is re- sponsible for its return on or before the Latest Date stamped below. Theft, mutilation, and underlining of books are reasons for disciplinary action and may result in dismissal from the University. UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN NOV 1 1971 OCT 1 3 Re Co L161— O-1096 Digitized by the Internet Archive in 2013 http://archive.org/details/algorithmformini359chen / v-ey *^ Report No. 359 ho 3 if Ah- r/ t AN ALGORITHM FOR THE MINIMIZATION OF TWO-LEVEL MULTIPLE -OUTPUT NETWORKS by Frank Tuan-Lin Chen \\ •. l » x February, 1970 THE LIBRARY OF THE Report No. 359 AN ALGORITHM FOR THE MINIMIZATION OF TWO-LEVEL MULTIPLE -OUTPUT NETWORKS * by Frank Tuan-Lin Chen February 1970 Department of Computer Science University of Illinois Urbana, Illinois 6l801 This work was submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science in the Graduate College of the University of Illinois, February, 1970. ACKMOHLEDGMESHT The author expresses his grateful thanks to his thesis advisor, Professor Saburo Muroga, for his invaluable and continuous guidance, encouragement, and constructive suggestions during the preparation of this thesis. He also wishes to thank Mr. T. Nakagawa for his comments and suggestions, Mr. A. C. Tillman for his corrections in the first draft, his family and Miss Lily Chang for their encouragement throughout the entire course of the investigation of this thesis. Thanks are also extended to Mrs. K. Hicks who typed the most part of this thesis. The support of the Department of Computer Science, University of Illinois is also gratefully acknowledged. 111 TABLE OF CONTENTS PACE 1. INTRODUCTION 1 1.1 Introduction 1 1.2 Definitions and Notations 2 1.3 Cost Function 6 2. PRELIMINARY CONCEPTS 8 2.1 Introduction 8 2.2 Some New Definitions 8 2.?, Heuristic Remarks lU 2,k Properties of MO Elements 22 3- THE ALGORITHM kO 3«1 Introduction kO 3.2 The Generation of the Basic Set of MO Elements UO 3o The Generation of the Sufficient Set of MO Elements U8 3. k The Selection of a Minimal Covering 53 3.^.1 Integer Linear Programming Formulation for the Minimization of a Single Output Network 5k 3.^.2 The ILP Formulation for the Minimization of Multiple- Output Networks Under a Specified Grouping Pattern . . 55 3- h.3 Techniques to Reduce the Size of the ILP Formulation . 67 3-h.k The ILP Method for Finding the Optimal Grouping Pattern 72 k. MINIMIZATION OF A NETWORK WHICH HAS INVERTERS 77 k.l Introduction 77 k.2 Minimization with Cost-Free Inversions 79 k.3 Algorithm 86 k.k Minimization with NOT Gates Available 91 5. MINIMIZATION WITH DON'T-CARES 9k 5.1 Introduction 9^ 5.2 Definitions 95 5-3 Theorems 97 5.k The Generation of D- and T-Basic Sets of MO Elements .... 101 LIST OF REFERENCES 118 APPENDIX A. AN EXAMPLE FOR SECTION 2.3: HEURISTIC REMARKS 121 B. BRANCH-AND-BOUND METHOD FOR FINDING AN OPTIMAL GROUPING PATTERN 122 VITA 135 IV AW ALGORITHM FOR THE MINIMIZATION OF TWO-LEVEL MULTIPLE- OUTPUT NETWORKS Frank Tuan-Lin Chen, Ph.D. Department of Computer Science University of Illinois, 1970 Quine-McCluskey's minimization technique of 2-level multiple -output networks has been widely accepted in the field of logical design. Their approach is based on a special restriction of a 2-level AND-OR network, i.e., all AND gates in the first level and all OR gates in the second level. If such restriction is removed, their approach will no longer be able to reach the minimality. This dissertation presents an algorithm which is an improvement of the classical Quine-McCluskey minimisation technique when the above restriction on a two-level AND-OR network is removed. A minimal network which is less costly than that obtained by Quine-McCluskey's method can be obtained by this new algorithm. The new approach is based on the refinement of the classical multiple -output prime implicant (mopi) . Tnis refinement enables us to consider all the possibilities of cost saving in a two-level AND-OR network. Some of the algebraic properties of such refinement are explored. Properties of the minimal network obtained by this new approach are also investigated. A theorem which corresponds to the McCluskey multiple -output prime implicant theorem is presented. The integer linear programming method is employed to solve the minimal covering problem. From the solution of the minimal covering problem the minimal network is to be constructed. The inclusion of inversions which can be obtained with and without extra cost is investigated, and the minimization procedure when inversions are included is also presented. Finally, the minimization with don't-cares is presented which is a modification of the minimization without don't-cares, . INTRODUCTION 1.1 Introduction It is not uncommon that a logical circuit designer encounters problems of logical network design for several outputs rather than a single output. Under a certain cost criterion, the design of multiple -output networks of the least cost is much more difficult than the design of single -output networks of the least cost. The reason for this is that the complexity of gate inter- connections within a multiple -output network makes the minimal realization difficult to reach. It is unlike the design of a single-output network whose least cost network can be achieved if the simplest Boolean expression of such a function can be found and if the network is to be realized within two levels with AND and OR gates. In the design of a multiple -output network, even if the simplest Boolean expression of each individual function is used, the network which combines the single-output networks corresponding to these expressions is still not necessarily of the least cost because of the possi- bility that more than one output can share a gate in a multiple -output network. There are some well-known methods for finding a minimal multiple -output network, where the minimality means the least cost under a specified cost (22) criterion. Among them, the McCluskey minimization method which employs the concept of prime implicant to design a minimal two-level multiple -output network is most widely known. His two-level networks are restricted to a special type of gate configuration in two levels, in which the first level gates are all AND gates feeding to all OR output gates. The minimality may be improved if such restriction on gate configuration is removed; that is, the network may have a mixture of AND and OR gates in its first level as well as in its output level. In this paper an approach is described for solving the problem of designing a minimal two-level, multiple -output network without such restrictions on the gate configuration. This approach may be 1 2 considered as an extension of McCiuskey's method because his prime implicant concept is used and extended. The term "network" used throughout the text of this paper will mean a loop -free combinational multiple -output network of two levels. The logical elements used in the construction of a network are restricted to AND and OR gates. The network designed with the inclusion of NOT gates will also be discussed. It is assumed at this point that no restriction is placed on the number of fan-in' s and the number of fan-out's for any gate in a network. There are three cases which will be treated in this paper: 1. Minimization of a network for a given set of output functions which are all completely specified with no inversion inside the network. The inversions are allowed only at the inputs. Chapters 2 and 3 will be devoted to the discussion of the minimization method for this case. 2. Minimization of a network for a given set of output functions which are all completely specified, permitting the use of inversions inside the network. The inversions are obtained either through the use of NOT gates or through a special type of AND/OR gates which provide complemented as well as uncomplemented outputs. This is treated in Chapter k. 3- Minimization of a network for a given set of output functions which are incompletely specified with no inversion permitted inside the network. This is treated in Chapter 5. 1.2 Definitions and Notations A Boolean function f of n-variable x., , x^, . .., x is denoted by f(x) 1 2 n where x = (x,, x , . .., x ). f(x) and x., i = 1, 2, ..., n are either 1 or 0. If more than one Boolean function is encountered, the notations f . , f_, .... f will be used. The letters f and f. will be exclusively 12m l used as outputs of a network. Thus, f and f. are also called output functions. The complement of a variable x. is written as x. . The complement of a function f . is written as f . • The letters x. and x. are called literals 1 1 11 for any i = 1, 2, . . . , n. x. and x. are two different literals, x. and x. ' 11 11 are used as inputs of a network. Thus, they are also called input variables. The star sign (*) is used to denote a complemented or uncomplemented variable or function. For example, f* = f. or f. and x* = x. or x.. r l l l ill The disjunction (symbol v) and the conjunction (symbol ^ , or • ) of variables are as defined conventionally. They are realized by an "OR" gate and an "AND" gate, respectively. Boolean functions are also defined by Boolean forms, which are denoted by capitol Greek letters $. . A Boolean function f . defined by a Boolean form . is denoted as f . = $. . There may l rf l l l a be many Boolean forms which define the same Boolean function. For example, two Boolean forms $ = x x ^ x x, and <£>' = x (x v x, ) define the same function f. Some basic definitions which will be used later are given in the following: Definition 1.2.1 : A term is a product of literals where a literal for each variable appears at most once. An alterm is a disjunction of literals where a literal for each variable appears at most once. Definition 1.2.2 : A term denoted by T is said to subsume another term denoted by Tp if T has all the literals of Tp. An alterm denoted by A is said to subsume another alterm denoted by Ap if and only if A has all the literals of A Z 13 ^ For example, a term x n x x_ subsumes another term x.. x . and an alterm 12 3 1 3 x v x ^ x subsumes another alterm x v x . T or T. will be used exclu- sively to denote terms, and A or A. to denote alterms. In some special cases, T or T. may be a single literal teim* A or A. may be a single literal alterm. It should be noted that the complement of a term T (i.e.,T) is an alterm, and that the complement of an alterm A (i.e., A) is a term. For example, if T = x x is a term, then T = x ^ x is an alterm; and if A = x v x v x is an alterm, then A = x x p x~ is a term. Definition 1.2-3 : An OR -JO INT is a Boolean form which is a disjunction of terms, and/or alterms. An AND -JOINT is a Boolean form which is a conjunction of alterms, and/or terms. If $ is an OR-JOINT, then $ can be expressed as $ = T, ^ . . . v T . ^ A, ^ . . . ^ A . , 1 i 1 3 where T.. , ..., T. are terms and A.,, ..., A. are alterms. If is an AND-JOINT, 1 l 1 3 then can be expressed as = A. * . . . a A. ^ T n * . . . * T ., 1 i 1 3 where A_ , ..., A. are alterms and T.. ..., T. are terms. 1 l 1 3 For example, the Boolean form x x p ^ (x v- x, ) is an OR-JOINT, which is a disjunction of a term x x p and an alterm (x^ ^ x> ), and the Boolean form x x (x v x . ) is an AND-JOINT which is a conjunction of a term x p x and an alterm (x ^ Xi ). In the following, the structures of a term and an alterm will be defined, and then the structures of an OR-JOINT and an AND-JOINT are defined. Definition 1.2.4: The structure of a term T = x* x* . . . x* means an X l X 2 X k "AND" gate with inputs x* , x* , . . . , x* and output T. The structure of X l a 2 \ an alterm A = x* v x* ^ . . . v x* means an "OR" gate with inputs x* , x* , X l X 2 \ 1 1 X 2 . . . , x? and output A. X k Definition 1.2.5: The structure of an OR-JOINT <$> = T.. v ... v T. v A ,v ... v A. means an "OR" gate with inputs T , ..., T. A , ..., A. and output , where T ,..., T. are outputs of the structures of terms T , ..., T. and A , ..., A. are outputs of the structures of alterms A,, ..., A., respectively. Definition 1.2.6: The structur. of an AND- JO INT , where A.,, ....A. are the outputs of the structures of alterms A., ..., A. 1 i ^ 1 i and T , ..., T. are the outputs of the structures of terms T.., ..., T., respectively. Based on the above definitions of the structures of a term, an alterm, an OR- JOINT and an AND- JOINT one can define a two-level, multiple -output network. Definition 1.2.7 : A two-level, multiple -output network realizing a given set of output functions f _ , f_, .... f is denoted by ti (_ , , .... $ ) where jt 2_> 2 m " • v 1 2 m f. = $. for i = 1, 2, .... m, and each $. is either an OR-JOINT or an AND- 11 ' l JOINT. The network consists of AND and OR gates in two levels with x , x , Xp, x ? , ..., x , x as inputs and f , f p , ..., f as outputs. The redundant gate is defined in the following. Definition 1.2.8 : An AND (OR) gate in a network is said to be redundant if there exists another AND (OR) gate in the same network whose output is identical to that of the former one. A network is said to be irredundant if there exists no redundant gate within that network. Definition 1.2.9 : A function f is said to imply another function g if when- ever f = 1 implies g = 1. It is denoted by f 5 g- f and g are said to be comparable if either f 5 g or f £ g holds, f and g are said to be incomparable otherwise. As mentioned before this study is confined to two-level, loop-free combinational networks. The "two-level" here means that the maximum number of gates over all strings of gates from the inputs to the outputs of a network is two. 6 1.3 Cost Function The objective of any simplification or minimization procedure is to obtain a circuit which performs the desired logical operation at the smallest cost under some minimality criteria. Different criteria of minimality have been defined by different authors, e.g., 1. The total number of gate-inputs, i.e., the sum of the number of inputs of all gates in a network. 2. The total number of logical gates in a network. Many other criteria have been used as minimality criteria, such as, the minimization of the total number of packages if the circuits are con- structed with standard gate packages which are prewired for a fixed number of inputs, and the minimization of the total number of diodes if the circuits are to be built by interconnecting diodes and resistors. At the advent of integrated circuitry, the following criteria may be important. 1. The total length of interconnections among gates. This effectively influences the physical size and the complexity of an integrated circuit chip. 2. The number of cross-over interconnections on an integrated circuit chip. 3. The total number of input terminal pins on an integrated circuit chip. However, it is very hard to incorporate the above criteria all at one time into any minimization procedure, especially in the design of multiple- output networks. For simplicity sake, only two of them will be incorporated into the minimization procedure of this study, i.e., the total number of gate- inputs and the total number of logical gates in a network. If the number of gate -inputs is N and the number of gates is N p , then the cost function of the minimization procedure can be defined as VL N + W p N p where W and W p 7 are weight factors. For all practi ;al purposes W = W ? = 1 will be set. The cost function is then simply N, + N p . This may roughly represent the construction cost of a network and meanwhile simplify the minimization pro- cedure which will be described later. A minimal network of multiple -output under the cost function defined above is defined in the following. Definition 1.3«1 : A network realizing a given set of output functions is said to be a minimal multiple -output network if it realizes the same set of output functions with the minimum sum of the total number of gate -inputs and the total number of gates in the network. It is obvious that in a minimal network of AND and OR gates there is no gate with a single input and that every minimal network must be an irredun- dant network. 2. PRELIMINARY CONCEPTS 2 . 1 Introduction The procedure for minimization of a two-level logical network has been investigated by many authors. A new procedure will be presented in this paper which is primarily motivated by the paper entitled "Discussion of Some Flaws in the Classical Theory of Two-Level Minimization of Multiple -Output Switching Networks" ^' by Weiner and Dwyer. The restriction of gate configuration (i.e., all AND gates in the first level and all OR gates in the second output level) existing in the classical two-level minimization technique is removed in the new procedure. This is done by redefining and refining the "prime implicant" which is the key concept upon which the classical two-level mini- mization technique is based. 2.2 Some New Definitions (33) A two-level network minimization procedure derived first by Quine (21) and improved by McCluskey^ ' is widely known in switching theory. Their approach is based on a set of prime implicants which are generated from a set of given functions. Prime implicants are generated in such a way that a minimal network can be designed. However, if the restriction (i.e., all AND gates in the first level and all OR gates in the second level) is removed, their approach does not lead to an optimal network as has been pointed out by Weiner and Dwyer. In order to illustrate this an example is given in the following. A switching network of three outputs f , , f ? , f~ is obtained by the McCluskey method and is shown in Figure 2.1. A realization which has a fewer number of gates and gate-inputs is shown in Figure 2.2. In Figure 2.1, the network consists of 8 gates and 28 gate-inputs, and the cost is 36. In Figure 2.2 however, the network consists of only 7 gates and 18 gate-inputs, and the cost is 25- 8 X. AND j- AND \ x X2__i- *6 ? X U -x 5% OR OR x l x ? x '8 x^ j — \ ; AND Y AND AND Figure 2.1 OR x l x 2 x 3 _7 x 8 OR OR and\ AND 1— ' OR £> AND fl Figure 2.2 10 Figure 2.2 shows that the OR gate producing the alterm (x. ^ x_ ^ x_) is shared by f and f , the OR gate producing the alterm (x. ^ x_ ^ x ,-) is shared by f and f , and the AND gates producing x Xq and x Xn, respectively, are shared by two functions. Those gates shared by more than one output function do not exist in Figure 2.1. Therefore, in order to take into account the possibility that gates can be shared by more than one output function, new definitions for the prime implicant as stated in the paper by Weiner and Dwyer should be introduced. The following definitions are given to facilitate the design procedure with the consideration discussed above. Definition 2.2.1 : A term T = xf xf . . . xf is called a prime implicant X l X 2 X k of f if the following two conditions are satisfied: (1) T implies f, i.e., whenever T = 1, f = 1. (2) If any literal in T is removed from T, then the remaining term no longer implies f. Definition 2.2.2 : A term T = xf xf . . . xf is called a multiple -output X l X 2 \ prime implicative term of the set of functions f , , f p , ..., f if T is a prime implicant of the product of functions, either f. ^ f . ^ . . . ~ f . 3 1 J 2 3 £ or f * f *. ... /\ f for some set {j , j , ..., j .} e {1, 2, ..., m} , J-i Jo dp ■*- *- " and i > 1. Note that the only difference between the conventional mult iple -output prime implicant and the mult iple -output prime implicative term defined above is the inclusion of the product of complemented functions in the definition. Definition 2.2.3: An alterm A = xf ^ xf v . . . v xf , k > 2, is called a multiple -output prime implicative alterm of the set of functions f , , f p , ... f if m (l) alterm A implies some product of functions, either f . ^ f . ^ J l °2 ...f. orf. * f /\ ... "» f , where [j , j Q , ..., j J is a subset Jo J-]_ J2 J p ■*■ ^ " 11 (1, 2, .... m} , and (2) there exists no other alterm of more literals which subsumes A and also satisfies the above condition (l). Note in the above definition if k = 1, the definition becomes the case of Definition 2.2.2. In Figure 2.2, for example, (x. v x v x^) is a multiple -output prime implicative alterm of f , f p , f~ for the following reason. (x, v x,_ v x,~) satisfies condition (l) with respect to f_ ^ f p , because (x. ^ x ^ x^-) implies f^ f 2 = (x^ v x v X g) v ^ v Xg v x ) (x x Q ) v x x g . (x^ v x v X g) also satisfies condition (2) because there is no other alterm of more literals which subsumes (x. ^ x v x,0 and also implies the product of functions f • f_. Definition 2.2.4 : A term T = x* x* . . . x* is called a multiple -output X l L 2 \ implicative co-term (the abbreviation of the correlated term ) for a set of output functions f n , f_, .... f if there exists two disjoint subsets of 12m functions (f. , f. , . . . , f. ) and (f , f , .... f ) of (f_, t n , ..., f ) J-L J 2 V P l P 2 P q 12' m ; such that (1) the term T implies the product of functions f. • f. • ... • f . , and J l °2 3 Z (2) the alterm T implies the product of the complemented functions f * f • . . . • f for some I > 1, q > 1. P l P 2 P q " " In the above definition the conditions Z > 1 and q > 1 are necessary. The conditions Z > 1 and q > 1 are equivalent to the conditions q < m and Z < m. The condition Z < m must hold because if T implies f _ fL . . . f of condition ^ 12 m (l), then the product in condition (2) becomes null. The condition q < m must hold because if T implies f , f _ . . . f of condition (2), then the 12m product in condition (l) becomes null. 12 Also, note that if q. = 1, tie above condition (2) of Definition 2.2.U can be simply stated as "the term T is implied by f " since "T implies P l f " is equivalent to "T is implied by f . " P-L ?! As an example, the term'x x« in Figure 2.2 is a multiple -output implicative co-term since x^ Xq implies the function f p , and x ^ Xq implies the complemented function f . Here, the product of functions f. * f. • ... Jt Jo f . in Definition 2.2.U is simply f , the product of the complemented functions f * f • ... • f is simply f„, and i = 1, q = 1. P l P 2 P q 3 Definition 2.2.5: An alterm A = x* ^ x* v . . . v x * f or k > 2 is called X l X 2 \ a multiple -output implicative co -alterm (the abbreviation of the correlated alterm ) for a set of output functions f n , f , ..., f if there exists two • -L ^ m disjoint subsets of functions (f., , f_. , ..., f.. ) and (f^ , f^ , . . . , f ^ ) of (f , f , ..., f ) such that h k h P l P 2 P q (1) the alterm A implies the product of functions f. -f. • ... * f. , and J l 3 2 3 £ (2) the term A implies the product of the complemented functions f f. P l P 2 f , for some £, q > 1. p ' — 1 P l As in Definition 2.2. k, the conditions i > 1 and q > 1, and accordingly I < m, q < m are also necessary. And, if q = 1, condition (2) of the above definition can be simply stated as "the alterm A is implied by a function f For example, the alterm (x v y v x ) in Figure 2.2 is a multiple -output implicative co-alterm since (x.. v x p ^ x„) implies f and (x v v v x_) implies f . Here, the product of functions f. * f. • ... * f. is simply ■J J-i Jp J n f, and f • f • ... • f is simply f_ in this example. 1 P l P 2 P q 3 The conditions given in Definitions 2.2.2 to 2.2.5 for the multiple -output prime implicative term and others will be explained in the next section. The motivation for introducing the concept of the multiple -output implicative co-term and co-alterm will also be discussed. As will be seen later, the multiple -output prime implicative alterms, multiple -output implicative co-terms and co-alterms can all be generated from the set of multiple -output prime implicative terms. Thus, we have the following definition. Definition 2.2.6 : The collection of all multiple -output prime implicative terms of the set of functions f n , f_, .... f is called the basic set of 12 m multiple -output implicative elements . For simplicity sake, multiple -output prime implicative terms and alterms will be abbreviated as MQPI terms and MO PI alterms , respectively. The multiple- output implicative co-term and multiple -output implicative co-alterm will be abbreviated as MQCQ term and MOCO alterm , respectively. The term " MO elements " will be used as a collective name for all of the above. Accordingly, the basic set of multiple -output implicative elements is abbreviated as the basic set of MO elements . The term "a MOPI term (or MOPI alterm) with respect to f . , f. , ..., f. J l J 2 J i (or f. , f . , ..., f . )" will be used to mean that f. , f. , ..., f. _ J 1 _ J 2 _ 3 £ °1 J 2 3 £ (or f. , f . , ..., f . ) is the subset of functions used in the definition of J l J 2 3 £ a MOPI term (or MOPI alterm). Similarly, the term "a MOCO term (or MOCO alterm) with respect to (f . , f . , ..., f . ) and (f , f , ..., f )" will be used 3 ± J 2 J £ V ± P 2 P q to mean that (f. , f. , ..., f. ) and (f , f , ..., f ) are the two subsets °1 J 2 H P l P 2 P q of functions used in the definition of a MOCO term (or MOCO alterm). Ik 2.3 Heuristic Remarks This section explains heuristically motivations of the concepts of MOPI term, MOCO term, MOPI alterm, and MOCO alterm. Consider the possibility that an AND/OR gate which produces a term/ an alterm may be shared by more than one output function in a two-level AND-OR minimal cost network. The "minimal cost" here is important because this is what this study is interested in. There are three cases: Case 1. An AND/OR gate is shared by a set of output functions which are all expressed in OR-JOINT in a minimal network. Case 2. An AND/OR gate is shared by a set of output functions which are all .expressed in AND- JOINT in a minimal network. Case 3. An AND/OR gate is shared by a set of output functions which are all expressed in AND-JOINT and also by another set of output functions which are all expressed in OR-JOINT in a minimal network. Each of these three cases will be discussed and illustrated. The case for an AND gate and for an OR gate will be discussed separately. An AND gate in Case 1 is illustrated in the following Figure 2.3 which shows a part of a minimal network. AND \ OR OR rJ3> Figure 2.3 15 Here f , f . , . .., f are the s<.t of output functions in the minimal network which share the AND gate. Each of f . , f , ..., f is expressed in OR-JOINT. In this case, the term T produced by the AND gate must be a prime implicant of the product f. • f . • . . . • f . . This is because that J l °2 D £ whenever T = 1, the product f . • f . • . . . • f . = 1, and that if T is not J ] JL a prime implicant of the product f. • f . • . . . • f . , then some input of J l J 2 J i the AND gate can be removed and a network of lower cost results which is a contradiction since Figure 2.3 is a part of a minimal network. Thus, the term T produced by the AND gate is a MOPI term which satisfies the condition of Definition 2.2.2. For an OR gate in Case 1, it is illustrated in Figure 2.k which shows a part of a minimal network. OR A OR OR OR f_. Figure 2.k The OR gate produces an alterm A for the set of functions f . , f . , . . . , D l D 2 f . which share this OR gate. The alterm A must consist of all single literals 'i which imply every one of f . , f . , . . . , f . and accordingly the product 3 & J l °2 f . • f . * ... * f . . This is because that (l) whenever A = 1, f . • f. J l J 2 'I ... • f . = 1, and (2) if A does not consist of all single literals of the 16 product f. * f. ' ... ' f. , tlien there exists at least one literal which J l 3 2 'J is an input to all of the output gates (OR gates) of f. , f. , ..., f, . J l 3 2 3 & This common input to all OR output gates of f . , f . , . . • , „ can all be deleted and then added to the input of the OR gate which produces the alterm A. This results in a network of lower cost which is a contradiction since Figure 2.k is a part of a minimal network. Thus the alterm A is a MOPI alterm which satisfies the conditions of Definition 2.2.3- Figure 2.5 which shows a part of a minimal network is an illustration of an AND gate in Case 2. \ T and) andV ■J- Figure 2.5 The AND gate which produces the term T is shared by a set of output functions f. , f. , ..., f. which are expressed in AND-JOINT- »1 'I It is to be shown that the term T must consist of all literals which are simultaneously implied by all of the functions f. , f. , ..., f. • f 4 * • • • > f . is "the set of functions which share the OR gate J °1 3 2 'i that produces the alterm A. The alterm A must be simultaneously implied by f . , f . , . . . , f , J l J 2 'J because whenever any one of f . , f. , . .., f. is 1, A = 1. This means 3 l 3 1 °2 that the term which is the complement of A (i.e., A) must imply the pro- duct of the complement of functions f. f. , because f, 3 £ v . . • ^ f . l £ = whenever A = 0. It will be proved in the following paragraph that A must be a prime implicant of f . • f . • ... • f. . If °1 J 2 J £, so, A must be a MOPI term which satisfies the "OR" part of the condition of Definition 2.2.2. If A is not a prime implicant of f. • f. • ... * f. , then some J l J 2 J i literal(s) in A can be deleted such that the resulting term is a prime ... • f . . In other words, some in- '1 u 2 J i put(s) of the OR gate which produces A can be removed which results in a implicant of the product f . • f. network of lower cost. But, this is a contradiction since Figure 2.6 is a part of a minimal network. 19 Next, the use of the MOCO erm and the MOCO alterm which occurs in Case 3 will be discussed. For an AND gate in Case 3> Figure 2.7 depicts the interconnections among the AND gate and the output gates (OR gates and AND gates). OR AND y OR OR iJ< AND V AND AND \ f. , f 3 ± i Figure 2.7 , f . are the set of functions expressed in OR- JOINT and , f are the set of functions expressed in AND-JOINT which share the AND gate that produces the term T. From Figure 2.7, it is clear that the term T must imply functions f. , f J l ^ •> f. 'I and accordingly the product f . f . 'I Also, the term T must be simultaneously implied by functions f , f , . . • , f (i.e., f v- f ^ ... v f =0 whenever T = 0) and accordingly T implies P q ^1 P 2 Pq the product f • f • . . . • f . These are exactly what are required for a *1 P 2 \ MOCO term in Definition 2.2.4. Thus, T in Figure 2.7 is a MOCO term. A MOCO term does not necessarily be a MOPI term with respect to the set of functions f. , f. , ..., f. . Also, the complement of a MOCO term does J l J 2 3 £ not necessarily be a MOPI alterm with respect to the set of functions f , P l f , • • • , f • An example of a MOCO term which is not a MOPI term and an P 2 p q example of the complement of a MOCO term which is not a MOPI alterm are shown 20 in Appendix A. If the AND gate which produces T in Figure 2.7 is replaced by an OR gate, one has the last case that an OR gate is shared by two sets of functions, one set f. ,f. ,...,f. is in OR-JOINT, and the other set J l J 2 3 £ f , f ..... f is in AND-JOINT. A similar explanation to that for P l P 2 P q the case of Figure 2.7 can be made to show that the alterm produced by the OR gate which is shared by two sets of functions is a MOCO alterm which satisfies the conditions in Definition 2.2.5* Since an AND/OR gate can be shared either by a set of functions which is expressed in OR-JOINT, or by a set of functions which is expressed in AND-JOINT, or by both, the above discussion explores and exhausts all possibilities in which a gate can be shared by more than one output function in the minimal cost two-level network of AND and OR gates. Hence, the consideration of MO PI terms, MO PI alterms, MOCO terms, and MOCO alterms is equivalent to the consideration of all possible gates which can be shared by more than one output function. Thus, when we design a minimal two -level multiple -output network of AND and OR gates, one first generates all MO PI terms, MOCO terms, MO PI alterms, and MOCO alterms-, then among them a subset is selected which gives the minimal cost. The detail of this design scheme will be given in the next chapters. An outline is as follows. All MOPI terms, MO PI alterms, MOCO terms, and MOCO alterms can be generated from the basic set of MO elements, which are generated by the same scheme as the McCluskey tabular method for generation of prime implicants. All the complemented as well as uncomplemented functions are taken into consideration. From the basic set of MO elements, a sufficient set of MO elements is formed which is the collection of ».n MOPI terms, MOPI alterms, MOCO terms, and MOCO alterms, excluding those MOPI alterms which 21 satisfy the condition stated in Theorem 2.4.1 of the next section. A minimal network is designed, based on the minimal selection of the MO elements in the sufficient set of MO elements. One way of achieving this is by the integer linear programming method described in detail in Section 3-h. 22 2.k Properties of MO Elements Under the cost criterion defined previously, i.e., the minimum sum of the number of gates and the number of gate-inputs, some MOPI alterms which satisfy the condition stated in the next theorem need not be taken into consideration in designing a minimal multiple -output network. Theorem 2.U.1 : If A is a MOPI alterm with respect to some product of functions f . • f • ... • f . (or f . • f . • ... • f . ), and if k • £ < 6, then A J l ^2 3 £ J l J 2 3 £ need not be taken into consideration in the design of a minimal multiple- output network, where k is the number of literals in A and £ is the number of functions in the above product. Proof : From the discussion in Section 2.3* note that if A is a MOPI alterm with respect to the product of functions f. • f . * ... ' f . and if the OR gate which produces the MOPI alterm A is a part of a minimal network, then the OR gate (which produces A) can be shared by f . , f . , ..., f . , each of 3 1 3 2 3 £ which has an OR gate as its output gate; in other words, f. , f. , ..., f. J l J 2 3 £ can be written in OR- JO INT. The case in which A is a MOPI alterm with respect to the product of functions f. • f . • ... • f . will be proved in the following. The case J l J 2 3 £ when A is a MOPI alterm with respect to the product of functions f . • f . J l J 2 ... f . can be similarly proved by replacing all OR gates in the former case by AM) gates. There are three possibilities for k • £ < 6. Case 1. k = 1 and £ < 6, or I = 1 and k < 6. Case 2. k = 2 and £ = 2, 3. Case 3« k = 3 and. £ = 2. According to Definition 2.2.3, k and £ must be > 2; hence, case 1 does not exist. In case 2, A is an alterm of 2 literals. If i = 2, then the OR gate which produces A can be shared by two output functions. The more output functions share an OR (AND) gate the more cost saving can be attained in a network. So one needs only to prove that if the use of the OR gate which is shared by two output functions does not improve the cost saving, then the MOPI alterm A needs not to be taken into consideration in designing a minimal network. If A is shared by two output functions in a network as shown in Figure 2.8, then this alterm A has the cost of 5 which consists of h gate-inputs and an OR gate. x *1 OR £> f. l OR f . 3 Figure 2.8 Figure 2.8 is a part of a network whose cost can be reduced if one uses individual single literals x* , x* instead of the MOPI alterm A as shown in X l X 2 Figure 2.9, ,*1 TnoR x ii L i2 ! OR Figure 2.9 which at least reduces the total cost by 1. Thus alterm A need not be considered. If A is shared by three output functions in a network, no reduction of cost can be made as above, but no increase of cost results in the individual 2U single literals of A are used instead of A. This is shown and compared, in Figures 2.10 and 2.11. x.- 0R ; or OR OR Figure 2.10 x. x*l x 2 OR x* 3-2 OR x !2 OR Figure 2.11 In case 3, the MOPI alterm A is of 3 literals and can be shared by 2 output functions. As in case 2, if one compares Figure 2.13 where 3 single literals x* , x* , x* of A are used instead of the MOPI alterm A with i i 1 2 3 Figure 2.12 where the MOPI alterm A is used in a network, no increase of cost results. 25 la Cl 3 OR OR OR Figure 2.12 ilv?" *24? OR •^ ^ OR Figure 2.13 Since individual single literals of A always exist among the MO PI terms, the consideration of such A with k • £ < 6 does not give improvement of cost to a network; therefore, all those MOPI alterms need not to be taken into consideration in designing a minimal cost network. Q.E.D. Definition 2.U.1 : The collection of all MOPI terms, MOCO terms, MOPI alterms and MOCO alterms generated from the set of output functions f_, fp, . , f , excluding those MOPI alterms which satisfy the condition of Theorem m 2b 2.4.1 is called the sufficient sit of MO elements for the set of output functions f ., , f„, .... f and is denoted by P. 12m Not only every function f. for ie (1, 2, . .., m} can have a Boolean expression which is a disjunction/conjunction of terras and alterms from the sufficient set of MO elements of {f, , f~, . .., f }, but also a minimal two- 12 m level AND -OR network which realizes f . , f , .... f can be designed based 1' 2' ' m on the sufficient set of MO elements of f ., , f^, . .., f . The fact that the 12 m sufficient set of MO elements is all that need be considered in designing a minimal two-level multiple -output network is shown by the following theorem. Theorem 2.4.2 : Under the cost function defined previously (i.e., the number of gates and gate-inputs), there exists a minimal cost two-level network r| (■$ , $ p , . .., ) realizing a given set of output functions f , f , . .., f m where f. = 0. for all i = 1, 2, . . . , m, such that for all i either 0. or $. 11 11 is expressed in a disjunction of terms and/or alterms contained in the sufficient set of MO elements generated from the set of output functions f , f , ..., f . id m (MOPI terms, MO PI alterms, MOCO terms, and MOCO alterms contained in the sufficient set of MO elements correspond to the multiple -output prime impli cants in McCluskey's multiple -output prime implicant theorem. ) Proof : Since the output functions in a minimal network t| (<£>,, $ 2 , ..., $ ) are expressed either in OR-JOINT or AM)-J0INT, the set of output functions can be grouped into two disjoint subsets I and R such that f . =0. is an OR-JOINT for i € I, and f. = $. is an AND-JOINT for i € R. ii If 0. is an AND-JOINT, then $. is an OR-JOINT. Thus, i i . = T. v . .. v- T_, \/ A. v<...vA. ifiel and 11 i-u i 1, a be d $. = T. ^ ... v T. v A. v ... v A. ifi€R, a be d 27 where T. , .... T. are terms, Jid A. , . ... A. are alterms. 1 i, l i, a b c d It needs to be shown that T. , .... T. are either MO PI terms or MOCO a b terms and that A. , .... A. are either MOPI alterms or MOCO alterms in c d the sufficient set of MO elements. Assume for some i e I and j e (a, . .., b} that a term T. is neither a MOPI term nor a MOCO term. If T. is not a MOPI term, then according to Definition 2.2.2, T. is i . l . not a prime implicant of any product of functions in set I- This means that some literal(s) can be removed from T. and the remaining term denoted by TV is then a prime implicant of that product of functions. Then T. in $. J J for all i £ I can be replaced by TV . Let the $. after the replacement of T. by TV be denoted by V, where $V still represents f. But then the network r\ ($,, •.., $V, ..., <$ ) costs less than t) ($, , ..., 0., ..., $ ) since each TV in OV costs less than T. in $.. The network ti ($, , ..., l.i i.i ' 1 J J V, ..., ) still realizes f . , f~, .. = , f . This contradicts the i m 1' 2 ' m assumption that ti (<$., ,...,<$. , ... $ ) is a minimal cost network realizing 1 1 i m f l' f 2' •'•' f m' If T. is not a MOCO term, then according to Definition 2.2.^ both of the following conditions: (1) T. implies some product of £ functions in I. (2) T. implies some product of q complemented functions in R. do not hold simultaneously. The term T. must satisfy at least one of the above two conditions 1 j _ _ _ because either T. implies f. =0. if i e I or T. implies f. =0. if i € R. l . * 11 l . * 11 J 3 Assume that T. satisfies (l) but not (2). If so and if T. is not a MOPI l . l . J 3 term with respect to the product of £ functions in I, then some literal(s) in T. can be removed so that the remaining term is a MOPI term which results in a network of lower cost. This is a contradiction. If T. is a MOPI term, 28 we come back to the previous ca^e. Assume that T. satisfies (2) but not (l), i.e., T. implies some product of q complemented functions in R. If T. is not a MO PI altera with respect to this set of q complemented functions, then there exist some literal, say x* , which can have a disjunction with T. so that the resulting alterm T. ^ x* is a MOPI alterm with respect to the functions. It is 1.1, J k obvious then that x* must imply each of the q complemented functions. In x k other words, the q functions must simultaneously imply x* . If so, x* must x k X k be an input to all of the output gates (AND gates because f . = 0. is' an AND- JOINT for i e R) of the set of q functions. This common input x* for x k all of these output gates can be deleted after x* is connected to the gate x k whose output is T. . (i.e., T. is replaced by T'. = T. ^ x* = x* T. . ) J J 3 3 k k j This results in a network of lower cost which is a contradiction. Next, assume for some i € I, and k € (c, ..., d} that the alterm A. in X k 'V. is neither a MOPI alterm nor a MOCO alterm. l If A. is not a MOPI alterm, say with respect to a set of functions x k f . > f . , -.-, f . in the set I, then according to Definition 2.2.3 there J l J 2 3 £ exists at least one literal, say xf , which can have a disjunction with A. x k x k so that the resulting alterm A. ^ xf = A', is a MOPI alterm with respect x k x k x k to f. , f . , ..., f. since A. must satisfy the condition (l) of Definition J l J 2 J i x k 2.2.3 for otherwise f. J- $., i € {j , j 5 , ..., f. }. If this is so, then ii l ^ L x? must also imply f. , f. , ..., f. , and accordingly x* is an input to X k J l J 2 z i X k the output gates (OR gates) of f. , f. , ..., f. • This input xf can be J l J 2 3 £ x k deleted from the output gates of f . , f. , ..., f. after this input is connected to the gate whose output is A. . This results in a network of x k lower cost which is a contradiction. If A. is not a MOCO alterm, then according to Definition 2.2.5 both x k of the following two conditions: 29 (1) A. implies some product of I functions in I, and _ x k (2) A. implies some product of q complemented functions in R, 1 k do not hold simultaneously. The alterm A. must satisfy at least one of the above two conditions because either A. implies f . = 0. if i e I or A. implies f. = $. if i e R. x k x X \ X X If A. satisfies (l) but not (2), then A. can be replaced by a MO PI x k \ alterm which subsumes it. If A. satisfies (2) but not (l), then A. can be x k \ replaced by a MO PI term which is subsumed by it. In either case, a network of lower cost can be obtained since the situation that A. is not a MOCO x k alterm is analogous to that of T. being not a MOCO term after inter- changing the set of Z functions in I and the set of q functions in R. But this is a contradiction. The remaining case that every T.. , . . . , T. for i e R are either MO PI "a x b terms or MOCO terms and A. , . . . , A. are either MOPI alterms or MOCO x c 1 d alterms can be proved similarly. This will not be repeated here. Q.E.D. The above theorem assures that it is sufficient to generate all MOPI terms, MOPI alterms, MOCO terms, MOCO alterms for designing a minimal cost two-level multiple -output network. This is where the name "sufficient" set of MO elements which contains those MOPI terms, MOPI alterms, MOCO terms, and MOCO alterms comes from. The MOPI alterms which satisfy the condition of Theorem 2.4.1 and will never give any improvement in the network cost naturally need not be included in the sufficient set of MO elements. Properties of MO elements are to be explored in the remaining of this section. Essential MO elements will also be defined. Their properties are investigated at the end of this section. Theorem 2.4.3 : Assume that two functions f, and f p are incomparable. Then there exists neither a MOCO alterm nor a MOCO term for f and f p . 30 Proof : If there exists a MOCO ilterm A for f., and fp, then according to Definition 2.2. k, either A implies f_ and is implied by fp, or A implies fp and is implied by f . In the first case, f =? A => f , or f. ^ fg. This means f and f^ are comparable. In the second case, fp - A - f i> or f 2 - f l* This also means that f and f p are comparable. In either case, it is a contradiction. If there exists a MOCO term for f and f ? , then the same contradiction results. Q.E.D. An immediate result from the proof of the above theorem is stated in the following corollary. Corollary 2.4.1 : Let f and f p be two different functions. Then the existence of a MOCO term (or a MOCO alterm) for f 1 and f ? implies that f and fp are comparable. The above theorem can be extended to two sets of functions instead of two single functions. Corollary 2.4.2 : Let g = f. ■ f. • f. • . . . • f . and g_ = f. • f. • 1 i 1 i 2 i 3 i k d j 1 o 2 ... • f . be two products of functions. Then there exists neither a MOCO h term nor a MOCO alterm for g and g if g and gp are incomparable. Henceforth g and gp will be used to denote two different products of functions. The incomparability of g and g p is equivalent to the conditions: g l ' % C g l and g l " &2. C g 2* The checking of incomparability by the above two implication relations is easier. Thus, Theorem 2.U.3 and Corollary 2.4.2 can be restated in the following theorem. Theorem 2.k.k : If two different product of functions g. and gp have the property that 31 s l ' ^ C &2 and s l ' ^ C %' then there exists neither MOCO term nor MOCO eilterm for g and gp. For any two functions f. and f p where f ^ f_, either f ■ f _ ^ or f • ? 2 / or both should be true since if f ' • f 2 = 0, then f • f p ^ and if f ■ f_ = 0, then f • f p ^ 0. Thus, the following theorem can be derived. Theorem 2.k.5 : Let f, and f p be two functions, and f ^ f p . Then there exists at least one MO PI term for f and f p . Proof : Assume that there exists no MO PI term for f. and f p , then according to Definition 2.2.2 there is no term T which implies either f.. ■ f p or f ■ f p . But this is possible only when f.. • f p = and f • f p = which does not occur for f and f , where f / f p . Q.E.D. The above theorem holds also for two sets of products of functions g_ and g instead of f and f p . The existence of MO elements implies a certain implication relation between/ among functions as the following theorem shows. Lemma 2.4.3 : If a term (or an alterm) implies both f. and f p and is essentially neither of them, then the following implication relations hold: 1. f x • \ <= \ a*d t ± ■ \ = f ± 2. f 1 . ^c? lUld r i • f 2 <=f 2 Proof : Since f and f p are both implied by a term T, f and f p can be written as f 1 = T v . . . f 2 = T v- . . . where ... indicates some other terms and alterms. Clearly, f • f cjcf and f • f cz f by direct conjunction of f ± and f 2< Similarly, if the conjunction of f^ and fg is formed then 32 f • f c f . f c f . 1 2 1 2 2 The proof for the case of an altera is similar. Q.E.D. When the tera and altera in the above Lemma 2.4.3 are actually .MP PI term and MO PI altera, respectively, the following theorem follows. Theorem 2.h.6 : Let f and f be two output functions. Then the existence of a MO PI term (or a MOPI altera) with respect to f. and f_ implies the existence of the following implication relations: (1) f x • f 2 ef 2 ^^ • f 2 e fi (2) f 1 • f g c f i and f 1 • f 2 c f g . Theorem 2.4.7 : Let A be a MOCO alterm for a set of output functions. Then there exists at least one MOPI term which is subsumed by A for the same set of output functions. Proof : Assume that A is a MOCO alterm for the set of output functions (f , fp, ..., f ). Then according to Definition 2.2.5 there exist two non-empty disjoint subsets of functions (f. , f. , ..., f. ) and (f , 3 1 3 2 J i p l f , ..., f ) of (f_, f , ..., f ) such that P 2 p q ■ ' m' A implies f. • f . • . .. ' f . , _ J 1 _ J 2 Jg and A implies f ' f • . . . * f . P l p 2 \ There always exists a prime implicant of the product f * f * . . . * f which is subsumed by A. But according to Definition 2.2.2 this prime p q implicant is a MOPI term. Q.E.D. An immediate result followed from the proof of the above theorem is stated in the next corollary. Corollary 2.4.2 : The existence of a MOCO alterm implies the existence of a MOPI alterm which subsumes the MOCO alterm for a given set of output functions. Proof : There always exists an alterm which subsumes A and is a MOPI alterm 33 with respect to f . , f . , • - . , f . • J l J 2 £ Q.E.D. For a MOCO term a similar result can be obtained which is stated in the next theorem and corollary. The proofs are similar to the above. Therefore, they are omitted. Theorem 2.U.8 : Let T be a MOCO term for a set of output functions v then there exists at least one MOPI alterm which subsumes T for the same set of output functions. Corollary 2.U.3 : The existence of a MOCO term implies the existence of a MOPI term which is subsumed by the MOCO term for a given set of output functions. The distinguished fundamental product and essential MO element are defined, and related properties are presented in the following. Definition 2.U.2: Let F = {f n , f„, .... f } be a set of output functions 1' 2' m and P be the sufficient set of MO elements of F. A fundamental product p is called a distinguished fundamental product if p implies only one MO element of P. The MO element implied by a fundamental product is called essential MO element , or simply essential. Lemma 2.k.k : Neither MOPI alterm nor MOCO alterm in P is essential. Proof : If a MOPI alterm is essential, then there exists some fundamental product p which implies only this MOPI alterm denoted by xf v xf v . . . v i 1 i 2 xf . This means that some literal, say xf j e {1, 2, ..., k} , is implied by p. But xf is also a MOPI term in P from the definition of a MOPI term. Since xf ^ . . . ^ xf implies some product of functions because it is a X l X k MOPI alterm, xf also implies that product of functions. In other words p implies xf ^ . . . ^ xf and also xf . This contradicts the assumption 1 k j that the MOPI alterm is essential. 3k The proof for a MOCO alterm is similar to that of a MOPI alterm. Q.E.D. The above lemma shows that only a MOPI term or a MOCO term can be an essential MO element. The essential MO term is abbreviated as EMO term to mean an essential MO element . Lemma 2.k.5 : There exist no two EMO terms in P of F in which one is subsumed by the other. Proof : Since if a distinguished fundamental product implies an EMO term which subsumes another EMO term, then the latter is also implied by the same distinguished fundamental product. This is a contradiction. Q.E.D. A property of EMO term is shown in the following. Theorem 2.U.9 : Let r\ ($ , 3> , . .., ) be a minimal network realizing F = {f 2 , f 2 , . .., fj and t ± = <£._ for i e {1, 2, . . . , m) . If t\ (3^, $ 2 , . .., <£> ) is synthesized based on the sufficient set of MO elements of F, then all EMO terms which are implied by distinguished fundamental products of each f . (or f . ) must be contained in either <2>. or 0. . 11 11 Proof : Assume that some EMO term T which is implied by a distinguished fundamental product p of f. (or f. ) is not included in $. and . . But this * * l v 2. 11 is impossible since f . = <£. and f . = $. and p must be either in f . or f . . 1 i i l * 11 In other words, p must imply either . or $.. Q.E.D. In the following, the residual function of an output function is defined. The use of residual function with respect to a minimal network realization will also be explored. Definition 2.1+.3 : Let the disjunction of all distinguished fundamental products of f . be denoted by h (f . ), and the disjunction of all distin- guished fundamental products of f. be denoted by h (f. )• Then the 35 residual function r (f . ) of f . If defined such that v 1 i f. = r (f. ) v h (f. ), where r (f. ) * h (f. ) = 0. i v 2. 1 1 1 ' r The residual function r (f. ) of f. is similarly defined such that f . = r (f . ) v h (f . ), where r (f . ) * h (f . ) = 0. i l l l i Obviously, r (f. ) and r (f. ) are residual functions of f. and f , respectively, if and only if r (f . ) and r (f. ) contains all non-distinguished fundamental products of f . and f . , respectively. In the definition of a sufficient set of MO elements P for F = {f , 1 fp, ..., f }, it is implicitly implied that the sufficient set of MO elements P is formed with respect to the set of functions f ., , f , ..., f 1 2' m and their complements f , , f~, ..., f . Since r (f. ) and r (f. ) are the 1' 2 m l l residual functions of f . and f . , respectively, the set of functions r (f x ), r (f 2 ), ..., r (fj and r (f^), r (f" 2 ), ..., r (f" m ) is termed as the set of residual functions of F and is denoted by R . The sufficient set of MO elements which is formed with respect to Fr, i.e., r (f, ), r (f ? ), ..., r (f ) and r (f n ), r (f ), .., r (f ), will be termed as the m 1 d m sufficient set of MO elements for the set of residual functions Pr of F, and is denoted by F. The sufficient set of MO elements for F and the sufficient set of MO elements for R have the following relationship. Theorem 2.U.10 : Let F = {f_, f_, ..., f } be a set of output functions and • 1' 2 ' m E be the set of all essential MO elements of F Then P = F U E is a sufficient set of MO elements for F if and only if F is a sufficient set of MO elements for Pr where R^ is the set of residual functions of F. Proof : The "if" part. Assume that F is a sufficient set of MO elements for ET. Then according to Theorem 2.4.2 every residual function r (f . ) (r (f. )) in fr has a Boolean expression which is a disjunction of MO elements in F. But f. = r (f . ) v h (f. ) (also f. = r (f. ) v h (f. )). 36 The disjunction of the Boolean expression of r (f . ) (also r (f. )) and the distinguished fundamental products of f. (also f . ) i.e., h (f ) (h (f. )) is a Boolean expression of f. (f. ). But every distinguished fundamental product of f . (f. ) implies one MO element in E by the definition of the set E. Hence, the Boolean expression of f . (f. ) can be replaced by the disjunction of the Boolean expression of r (f.) (r (f. )) and those MO elements each of which is implied by a distinguished fundamental product of f. (f. ), i.e., the fundamental products of h (f . ) (h (f. )). This is true for i = 1, 2, . . . , m. By Theorem 2.U.2 the set F U E is thus a sufficient set of MO elements for the set of functions F = {f.,, f , ..., f }. 12' ' m The "only if" part. Assume that P is a sufficient set of MO elements JL # for F and F is not a sufficient set of MO elements for R . Then there exists at least one fundamental product p of some residual function in R which does not imply any member of F . This fundamental product p cannot be a distinguished fundamental product of f . (or f . ) of any i e {1, 2, . . . , m} since by definition FT contains no distinguished fundamental product of f . and f . . But p is a fundamental product of f . (or f. )• it concludes that F U E cannot be a sufficient set of F i because there is a fundamental product p of some function f . (f . ) which of F U does not imply any member of F U E. Consequently, not all functions f . e F (or f . ) can have a Boolean expression by forming a disjunction of some MO elements in the set F U E. This is contradictory to the assumption. Q.E.D. Let e (f. ) be the disjunction of all essential MO elements of f. and e (f. ) be the disjunction of all essential MO elements of f. . Note that e (f . ) is implied by each of the distinguished fundamental product of f . and e (f . ) is implied by each of the distinguished fundamental product of f. . i 37 The relationship between tw minimal networks, one realizing the set of output functions f , f p , • .., f and the other realizing the set of residual functions of f, ■ f», .... f , is stated in the following theorem. 1' 2 m Theorem 2.4.11: Let n ($_,, ,...,$ ) and n ($•,, $' , ...,*• ) be '12 m '12' m two multiple -output two-level AND-OR networks realizing F = {f_, f~, . .., f } and {r (f. ), r (f ), .... r (f )), respectively, where f. = $. and m 1 ' 2 ' ' m l l r (f. ) = $*. for all i € {1, 2, . . . , m} . Assume that r (f. ) is the residual function of f. and $. = <3>*. ^ e (f. ) (or 0. = $' ^ e (f . ) l i l i' i i i for some i) where e (f . ) and e (f. ) are the disjunction of all essential MO elements of f. and f . , respectively. Then t; ($',, ^'o* •••> $' ) nas the minimum cost if ri ($ n , $~, .... $ ) has the minimum cost. '12' m Proof: Assume that r\ (<£>_ , , ..., $ ) has the minimum cost and ti ($', '12m '1 0*, ..., <£>* ) has not. Then either some term or altera in some 0'. or 2' m l $*. can be replaced or deleted and results in a network of lower cost which still realizes {r (f ), r (f ), ..., r (f )}. If this is possible, then it is also possible to do the same replacement or deletion in <3>. since . = 1 . ^ e (f. ) (or $. for <£'. ^ e (f. ) for some i). This i 1111 11 results in a network of lower cost which realizes F. But this is a contradiction since ti ($_ , $_ , ..., ) is a network of minimum cost. ' 1' 2 7 m Q.E.D. The converse of the above theorem is not necessarily true except the case in which e (f. ) and/or e (f . ) is a single essential MO element, because if e (f. ) (or e (f. )) has more than one essential MO element, then their disjunction may be implied by some other term or alterm in *. (or 0*. ) for . = $*. v e (f. ) (or 0. = $*. ^ e (f. )). This implies that the network i l i' i i v i y ' * tj (5>, $ 2 , ..., ) is not a minimum cost network even though r\ ($\, fc'g, •••; f ) is a network of minimum cost. Thus the above theorem can be strengthened m to a necessary and sufficient condition when each e (f . ) and e (f.) consists 38 of only one essential MO element. Theorem 2.4.12 : Let t| ($,$,...,$ ) and i\ (<£>' , $*, ..,0' ) be two two-level AND-OR networks realizing F = {f , f , . .., f } and {r (f,), r (fp), . .., r (f )}, respectively, where f. = 0. and r (f . ) = $'. for all i e {1, 2, . .., m}. Assume that r (f. ) is the residual function of f. and $. = <£>'. ^ e (f . ) (or 0. = '. ^ e (f. ) for some i) and that i i i 11 i i each e (f . ) (or e (f. )) consists of a single essential MO element of f. (or f. ): then the network ti (3> , $~, .... ) has the minimum cost l i ' 1' 2' m if and only if the network r\ ($',, ^'p' '••> $' ) nas the minimum cost. Proof : The "only if" part is proved in Theorem 2.4.11. The "if" part is proved in the following. Assume that n (\, OV* • •.,<$' ) is a network of minimum cost and 1 1 2 m Ti (3> , o , .... ) is not. Then there exists at least one term or alterm ■12 m in 0. (or 0. for some i) for i € {1, 2, . .., m} which can be either replaced or deleted without violating f. = <£>. condition such that a network of lower cost can be achieved. If this is possible, then this term or alterm must be in 0'. of the expression 0. (or $'. of $. ) since otherwise e (f. ) l * ill l (or e (f. )) can not be essential. If this is so, then after such replacement or deletion r (f . ) = 0'. still holds and results in a network of lower cost. But this is a contradiction. Q.E.D. The above theorem provides a means to reduce a minimization problem of multiple -output functions to a smaller problem where only the residual functions are taken into consideration whenever the distinguished fundamental products and the EMO terms are found. The uniqueness of a minimal network of multiple -output under a certain special condition is stated in the following. 39 Theorem 2.4.13 : rj (<£.., $ ? , • .., <£ ) is a unique minimal cost network realizing F = (f.., f , . .., f } where f. ■ $. for all i = 1, 2, .. 12m 11 ' ' if all the residual functions of f. are the zero function. l rn ko 3. THE ALGORITHM 3«1 Introduction The algorithm is divided into four parts. 1. The generation of the basic set of MO elements. 2. The generation of the sufficient set of MO elements. 3^ The selection of a minimal covering, k. The drawing of the minimal network. The first part of this algorithm is an extension of McCluskey's technique for finding prime implicants by considering the complemented functions f _ , f p , . .., f as well as the uncomplemented ones, f..* f p , • .., f . The basic set of MO elements is found if all the multiple-output prime implicants of f _ , f_, . .., f , f_, 7 . . f are found. The second part I d m 1 d m of this algorithm is to detect the possible existence of MOCO terms, MOPI alterms and MOCO alterms from the basic set of MO elements obtained in the first part of this algorithm. The sufficient set of MO elements is formed by collecting all of the MOPI terms, MOCO terms, MOCO alterms, and MOPI alterms, excluding those MOPI alterms satisfying the condition in Theorem 2.U.I. The third part of this algorithm is to select a minimal covering set from the sufficient set of MO elements. This is done by the integer linear programming method whose objective function is the cost function of the network to be designed. The optimal solution of the integer linear programming problem guarantees that the network to be designed has the minimum cost. The last part of this algorithm is to write down the Boolean expressions (or the Boolean forms) of each output function and to draw the logic diagram of the two-level multiple -output network realizing the given set of output functions. 3-2 The Generation of the Basic S - t of MO Elements As has been mentioned before, McCluskey's tabular method for finding the multiple -output prime implicants will be extended to generate the basic set of MO elements. Readers are assumed to be familiar with the McCluskey tabular method for finding the multiple -output prime implicants. In his method, he uses binary characters each of which consists of two parts — the identifier, which is to identify the fundamental product, and the tag, which specifies which of the output functions f , f p , ..., f include the fundamental product specified by the identifier portion of the character. The binary character in McCluskey's method is denoted as e - (€_; e 'p)> where e and € p are the identifier and tag, respectively. Since the basic set of MO elements is simply the collection of all MOPI terms, the method for generating the MOPI terms will be described. The method is an extension of McCluskey's tabular method in which the binary character €* is used. €* consists of e and e* where e is the same as the above and the e* part is to specify which of the functions f _ , f_, ..., f 2 12m and f , f , ..., f include the fundamental product specified by the € part. Actually, the e* part can be written as (e' , e" p )> where e' is the tag part with respect to f ., , f_, ..., f , and e" is the new tag part with 12m 2 respect to the complemented functions f _ , f^, .... f . Thus, e* - 1 d m (e l5 e*) - (c 1 ; e' 2 , e" 2 ). If a fundamental product is included in f., this fundamental product will not be included in f . and vice versa. The e" p is formed by entering - or in its m positions whenever the corresponding position of e' is or -, respectively. The symbol in the i-th position of e' indicates that the fundamental product e is not included in an output function f . and the symbol - indicates that the fundamental product e, is included in an output function. For example, the fundamental product x, x^ x^ X^ X,- in the 1+2 Table 3-2 has a binary character e* = (0 1 1; - 0, - -) with respect to f_, f , and f . This fundamental product x Xp x x. x is included in f , f ? , and f but not in fp, f_ and f . McCluskey's tabular method for finding the multiple -output prime implicants is well known. So its detailed procedure will not be repeated here. Readers are referred to his book, Introduction to the Theory of Switching Circuits (22). The procedure for generating the basic set of MO elements for a given set of output functions f _ , f n , .... f are as follows. 12m 1. Write down the truth tables for f ., , f , .... f . 1' 2' m 2. Form binary character €* for each fundamental product and list in the order according to the number of l's in the identifiers. 3« Apply McCluskey's tabular method, i.e., combine every two rows which differ in only one component in €.. parts, for all binary characters e *'s formed in step 2. h. At the termination of the above step 3, the remaining identifier parts of the binary characters e*"'s are converted into terms. Each term is simply a product of literals x. , if the i-th component of the identifier part is 1, and x. if the i-th component of the identifier part is for i - 1, 2, ..., m. The collection of an such terms along with their associated e* parts is the basic set of MO elements for f .. , f , ..., f . Let us illustrate the above procedure in the following. The basic set of MO elements is shown in Table 3«3« Example: Three output functions f .. , f p , and f. are given: f l ^ X l' X 2' x 3' x h> x ^ = L (°' 2 > 5 ' "•' 31 ) f 2 (x 1 , x 2 , Xy x^, x ) = Z (1, k, ..., 31) f (x 1 , x 2 , x 3 , x k , x ) = Z (11, 19, 27.) U3 Step 1. The truth table for f , f„, f is formed in Table 3.1. Step 2. The binary character e* for each fundamental product is formed and listed in Table 3*2 according to the order of the number l's in the identifier € part. Step 3- Apply McCluskey's tabular method to £* s in Table 3*2. Step k. Write down each term corresponding to each binary character remaining in Step 3* List all terms along with their associated €t's. The basic set of MO elements is obtained which is found in Table 3-3- Table 3.1 The Truth Table. Fundamental Product Functions x l x 2 x 3 x k X 5 f f 1 z 2 f ! 3 ] 1 1 1 1 2 10 3 11 1 k 10 1 1 5 10 1 1 1 6 110 1 1 7 111 1 1 8 10 1 1 9 10 1 1 1 10 10 10 1 1 n 10 11 1 1 1 12 110 1 1 13 110 1 1 1 Ik 1110 1 1 15 1111 1 1 kk Table 3.1. (Continued) 16 1 1 1 17 1 1 1 1 18 1 1 1 1 19 1 1 1 1 1 1 20 1 1 1 1 21 1 1 1 1 1 22 1 1 1 1 1 23 1 1 1 1 1 1 2k 1 1 1 1 25 1 1 1 1 1 26 1 1 1 1 1 27 1 1 1 1 1 1 1 28 1 1 1 1 1 29 1 1 1 1 1 1 30 1 1 1 1 1 1 31 1 1 1 1 1 1 1 ^ Table 3.2. The Binary Characters, e*. 'I Decimal Number 1 2 k 8 16 3 5 9 17 6 10 18 12 20 2k 1 11 19 13 21 25 ll+ 22 26 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x l 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _ k6 Tabl* 3*2. (Continued) 28 1 1 1 15 1 1 1 1 23 1 1 1 1 27 1 1 1 1 29 1 1 1 1 30 1 1 1 1 31 1 1 1 1 1 - hi Fundamental Products (16, ..., 31) (8, ..., 15, 24, ..., 31) (4, ..., 7, 12, ..., 15, 20, ..., 23, 28, ..., 31) (0, 2, 4, 8, 10, 12, 14, 16, 18, 20, 20, 2k, 26, 28, 30) (0, l, k, 5, 8, 9, 12, 13, 16, 17, 20, 21, 2k, 25, 28, 29) (3, 7, 11, 15, 19, 23, 29, 31) (16, 17, 20, 21, 2k, 25, 28, 29) (8, 9, 12, 13, 2k, 25, 28, 29) (1, 5, 9, 13, 17, 21, 25, 29) (3, k, 8, 12, 16, 20, 24, 28) (0, 1, 2, 3, 4, 5, 6, 7) (6, 7, 14, 15) (3, 7, 19, 23) (3, 11, 17, 27) (19, 27) (H, 27) (3, 7) (2, 3) (0, 2) Table 3.3. The Basic Set of MO Elements MO PI terms 1 _ 1 A 5 Xi.X 4*5 x,x 1*4 X 2 X 4 X 4 X 5 X 4 X 5 x l x 2 X 1 X 3 X 4 X 2 X 4 X 5 X 3 X 4 X 5 X,X„Xi.X 1*3 4 5 X 2 X 3 X 4 X 5 X 1 X 2 X 4 X 5 X 1 X 2 X 3 X 4 x 1 X 2 X 3 X 5 _ _ 1 _ _ - 11 1 - - 1 - 1 - - 1 0-11- -0-11 --Oil 1-011 -10 11 0-11 1- 0-0 e, 2 - - - - - - -00 - - - - 0-0 -00 - - -00 -00 -00 2 0- 0- 0- 0- 0- 0- 0- 0- 00- 0- 0- - - - - U8 3«3 The Generation of the Sufficient Set of MO Elements . After the basic set of MO elements is found, the MOPI alterms, MOCO alterms and MOCO terms can be found from the basic set of MO elements. Three procedures for detecting the existence of MOPI alterms, MOCO alterms and MOCO terms are given in the following. The procedure for the generation of MOCO terms is similar to the procedure for the generation of MOCO alterms. A. Procedure for the generation of MOPI alterms. 1. Form the disjunction of single literal MOPI terms in the basic set of MO elements whose e'„ parts are the same. The set of all disjunctions made for different €* 's is denoted by S . 2. Form the disjunction of single literal MOPI terms in the basic set of MO elements whose e" parts are the same. The set of all disjunctions made for different e" ' s is denoted by S p . 3. Since every alterm in S implies the product of functions which have dashes in the components of e' part, every alterm in S_ implies the product of the complement of functions which have dashes in the components of e" part, and every alterm in S and S has the maximum number of literals which imply a product of functions, the collection of S and S p is then the set of MOPI alterms. k. Write down the MOPI alterms and their associated e* parts, where €*„ = (e'p, €*'). The e* is formed according to the following process: Any e' part of the literal in a MOPI alterm is taken as the e' part of a MOPI alterm in S , and the e" part of a MOPI alterm in S is formed according to (a) a component of e" is if the corresponding components of e" of any literal in the MOPI alterm is 0. U9 (b) a component of e" is - if the corresponding components of €" p * of all literals in the MOPI alterm is -. The £* of a MOPI alterm in S p is formed in the same way as e* of a MOPI alterm in S n except the roles of e' and e" interchanged. B. Procedure for the generation of MOCO alterms. 1. Let A , A_, . .., A be the alterms in the S set of MOPI alterms. Assume that A. has £(i) literals. The e' part of A. is denoted as e' 2 (i). Set indices i = 1 and r = 1, where r-1 denotes the number of literals which have been removed from A. during this procedure. 2. Obtain the term T. = A. for an alterm A.. 11 i 3- Check whether or not T. subsumes /is a MOPI term in the basic set of MO elements whose e" part has at least one dash (-) which is not in the corresponding component of e' (i) of A.. (This condition on e" P part is due to disjointedness of functions in Definition 2.2.*f. ) If yes, go to 5- Otherwise, go to U. k. Set i = i + 1, and reset r = 1. If i < I then go to 2; otherwise, stop. 5> Record the pair of T. and T. and the associated e' (i) and e" part of the MOPI term just mentioned. (T. is A. in the beginning but becomes different from A. after step 6. ) 6. Generate new T. 's by removing one literal from T. for each new T. . i J to i i Set r = r + 1. If i(i) - r > 1, then go to 3» otherwise, go to k. Since every T. which is an alterm implies the product of functions which have dashes in the components of €' p (i) part (T. implies because A. is chosen according to procedure A. Note that T. may eventually contain fewer literals than A. in step 1. So does T. . ) implies the product of the 50 complements of functions which have dashes in the components of e" part of* this T. , the collection of all T. 's recorded in step 5 are then the M0C0 1 l alterms . C. Procedure for the generation of M0C0 terms. 1. Let A.., Ap, . .., A_ be the set of alterms in Sp of the MOPI alterms. A. has i(i) literals. The e" part of A. is denoted as e" (i). Set the indices i = 1 and r = 1, where r-1 denotes the number of literals removed from A. during the following steps. 2. Obtain the term T. = A. , for an alterm A.. 11 l 3. Check whether or not T. is a MOPI term/or subsumes a MOPI term in i — ' the basic set of MO elements whose e' has at least one dash (-) which is not in the corresponding position of e" (i) If yes, go to 5» otherwise, go to h. h. Set i = i + 1 and reset r = 1. If i < I, go to 2-, otherwise, stop. 5. Record this pair of T. and T. along with the associated €*' (i) and e' parts of the MOPI term just matched. 6. Generate new T. *s by removing one literal from T. for each new i J to l T.. l If i(i) - r > 1, then go to 3; otherwise go to h. At the termination of above six steps, the collection of all T. 's recorded in step 5 is the set of all MOCO terms. This is because every T. implies the product of functions which have dashes in the components of e' part of T. and T. implies the product of the complement of functions which have dashes in the component of e" (i) of T. . Next exclude MOPI alterms whose k • I < 6 as stated in Theorem 2.4.1, where k = the number of literals in the MOPI alterms and & = the number of dashes in its associated e* part or e" part whichever is bigger. Then 51 Then we have the sufficient set of MO elements which is the collection of all MO PI terms, MOCO terms, MOPI alterms, and MOCO alterms. In order to illustrate the above procedures, an example is given which is shown in Table 3-k. Table 3.k. Example From the basic set of MO elements shown in Table 3-3 obtained from the previous example, the following MOPI alterms, MOCO terms and MOCO alterms are obtained after the procedures A, B and C are applied (the numericals correspond to the step in each procedure. ) Applying procedure A to check the existence of MOPI alterms, one has 1. alterm (x ^ Xp ^ x ) with e' = (- - 0) in S, , and 2. alterm (x v x. v x ) with e" = (0 -) in S ? . 3« The collection of alterms in S and S p is the set of MOPI alterms which are: (x 1 ~ x 2 v x ) e* = (- - 0, 0) (x 3 v x k n/ x 5 ) eg = (0 0, -). Applying procedure B to check the existence of MOCO alterms, one has 1. The alterm A = (x v- x ^ x ) with €'=(-- 0) as the only one in S . Thus I = 1, and ^(l) = 3. 2. Set r = 1 and i = 1. 3- Obtain T = A = x Xp x . k. x x 2 x subsumes a term x Xp in the basic set of MO elements of Table 3.3. 5. Thus (x v x 2 v x ) is a MOCO alterm whose e* = (- - 0, -)• 6. Literal x is removed from T , x x p is obtained. Set r = 2. By removing x and x , we get new T *s i.e., x ? x and x x . But these will be rejected in step k. h. (second time) x x p is a MOPI term in the basic set of MO elements of 52 Table 3.3. 5. (second time) Thus x v x is a MOCO alterm whose * = (- - 0, ■). 6. (second time) Since i(l)-r =1^1 and i + 1 = 2^1, the procedure terminates. Two MOCO alterms are found. They are: (x 1 v/ x 2 ^ x 3 ) e* = (- - 0, -) (x ] _ v x 2 ) e* =T- - 0, -). Applying procedure C to check the existence of MOCO terms, one has 1. The alterm A = x v x. v x with e" = (0 -) is the only one in Sg. Thus I = 1 and i(l) - 3. 2. Set r - 1 and i = 1. 3. Obtain T = A = x x, x . k. x x, x subsumes a term x. x in the basic set of MO elements of Table 3.3. 5. Thus x x, x is a MOCO term whose €* = (- 0, -). 6. Literal x„ is removed from T n , and x, x c is obtained. 3 14? Set r = 2. By removing x< and x from T , we get new T *s i.e., x. x. and x x . But these will be rejected in step h (second time). h. (second time) x. x is a MO PI term in the basic set of MO elements of Table 3.3. 5. (second time) Thus x. x is a MOCO term whose e* = (- 0, -). 6. (second time) Since i(l)-r = 1 ^ 1 and i + 1=2^1=1, the procedure terminates. The MOCO terms are: x 3 x^ x^ e* = (- 0, -) x k x 5 £*=(-00,00 -). Therefore, the sufficient set of MO elements is obtained, which contains: MO PI terms: as shown in Table 3.3. 53 MOCO terms: x x^ x r , t* = (■ 0, -)• X[f X 5 , e* = (- 0, -). MOCO alterms: x^^vx 6* = (- - 0, -). x 1 ^x 2 , £* -- (- - 0, -)• MO PI alterms (x v x ? ^ x,,) and (x v x. ^ x ) are not included in the sufficient set of MO elements because of Theorem 2.^.1. 3»^ The Selection of a Minimal Covering The minimization of a single Boolean function can be converted into a covering problem after the set of prime implicants is found. McCluskey and Cobham et al formulated the covering problem by the integer linear programming method. The solution of the integer programming problem guarantees that the solution of the covering problem has the minimum cost under some specific cost function. The application of the integer linear programming method to the minimization of multiple -output functions is an extension of that to the minimization problem of a single output function mentioned above. However, the following should be incorporated into the formulation of an integer linear programming problem. 1. Since an output function can either be in 0R-J0IM 1 or be in AED-JOIM, all possible grouping patterns of all functions into OR- JOINT and AMD- JOINT must be taken into consideration. 2. The consideration of all MOPI terms, MO PI alterms, MOCO terms, and MOCO alterms. 3. The cost consideration of each MOPI term, MOPI alterm, MOCO term, and MOCO alterm. k. The cost consideration of the objective function of the integer linear programming problem in terms of the cost function of the network to be designed. 5U In the following, the idea of minimization of a single Boolean function formulated in the form of an integer linear programming problem is first presented. Then, the extension to the minimization of multiple- output functions is given. It will be seen later that the integer linear programming problems for the minimization of multiple -output functions are a special class of all integer linear programming problems, because the solution vector of our integer linear programming problem for the minimization of multiple- output functions is a binary vector of 1 and 0. Furthermore, the coefficients of our integer linear programming problem are all integers. Those features should be taken into consideration when one is attempting to devise an efficient computational algorithm to solve this type of integer linear programming problem. ?>.k.l Integer Linear Programming Formulation for the Minimization of a Single Output Network . ^ 10 ' 23 ' An example in the following is used to illustrate the integer linear programming formulation for the minimization of a single output network. Let A, B, and C be three prime impli cants of a function f which consists of three fundamental products denoted by #1, #2 and #3. The implication relation between a prime implicant and a fundamental product is shown in the next table, where an entry 1 is placed whenever the fundamental product in a row subsumes the prime implicant in a column. Fundamental rijj UC JJUJ-U-X 1 under constraints y f y p y^ y 2 * y 3 > 1 y-^ y 2 > y 3 = 1 or °* The general form of an integer programming problem can be written as, To minimize z = c • y under Jk y > b y = binary vector of 1 and 0. Corresponding to the above example, Ik = 110 f \ 1 y i Oil K = 1 y = y 2 10 1 1 y^ c = i The matrix A is called a covering coefficient matrix. For simplicity, ILP will mean "integer linear programming". ?>.k.2. The ILP Formulation for the Minimization of Multiple -Output Networks Under a Specified Grouping Pattern. As has been mentioned before, in the process of finding a minimal net- work realizing a set of output functions f , f p , ..., f , all possible groupings off,, f , ..., f into 0R-J0INT and AND- JOINT Boolean forms 12' ' m should be taken into consideration. Which of 0R-J0INT and AND-JOINT 56 Boolean forms each of f_, f , ..., f is put into is called a grouping pattern. A grouping pattern of f_, f ? , . .., f is denoted by a vector ct = (a-,, a , ..., ct ), where a. is either 1 or 0. a. = 1 if 1 2 7 m l l a function f. is in the group of OR- JOINT Boolean form, a. = if the function f. is in the group of AMD-JOINT Boolean form. There are 2 possible grouping patterns of f ., , f„, ..., f . Assume that a minimal two-level AND-OR network realizing f , fp, . .., f is designed. Let this network be denoted by r\ (<£> , Op, • .., )• Then let us call a grouping pattern corresponding to the network r\ ($_ , <£>p, ..., $ ) an optimal grouping pattern of f , f p , ..., f , denoted by a = (a -,, cr p, . .., o° ), where a° . = 1 if f. = $. is an OR-JOINT and o° . = if f. = . m" ill ill is an AND- JOINT. Although it is desirable to know a priori the optimal grouping pattern of the given set of output functions before starting to design a minimal network, the optimal grouping pattern will not be known until the minimal network is determined. In the conventional McCluskey minimization method, the optimal grouping pattern is always assumed to be (l, 1, ••*, l). The minimal multiple- output two -level network is then to be designed based on this presumed optimal grouping pattern. However, as already mentioned, the assumption of optimal grouping pattern (l, 1, •••, l) does not necessarily hold true in all cases. Two methods of finding the optimal grouping pattern will be given in Section S-^*^* In this section, the ILP method and its formulation for the minimization of a multiple -output network under a presumed grouping pattern (cr , , a p , •••, a ) for a. = either 1 or 0, i = 1, 2, . . . , in is to be described. This is a preliminary discussion which leads to the description of finding a minimal network by the ILP method given in Section 3'^«^« The network found by the ILP formulation in this section is not necessarily a truly minimal network in terms of the cost 57 function previously defined. Instead, it is a minimal network under the presumed grouping pattern. A truly minimal network can be found by the methods given in Section 3«^»^» In the following discussion, we assume that a minimal network is to be found under a presumed grouping pattern of the set of output functions. Let this presumed grouping pattern be denoted by (cr , cu, ..., a ) where a. = either 1 or for i = 1, 2, ..., m. The presumed grouping pattern presets the Boolean form $. of an output function f. to an OR-JOINT if a. = 1 and to an AND-JOINT if a. = 0. However, it is easier to formulate l l an inequality of our ILP problem in terms of OR-JOINT instead of AND- JOINT (i.e., in the case of a. =0 for same i). Hence, if a. = 0, f. i 11 will be taken into consideration, and if a. = 1. f . will be taken into ' l l consideration because the solution of the ILP problem gives only an OR-JOINT for either f. or f . . If this OR-JOINT is for f. (i.e., o. = 0), 11 11 then the output f. =0. is an AND-JOINT. Otherwise, the output f. = $. remains as an OR-JOINT. The notation ft will thus be used in this l section as a preset form of an output function-, ft = f . if a. = 1, and f* = f. if a. = 0. Only the M0 elements among the sufficient set of M0 i i i a elements which imply f. if a. =1 or f. if a. =0 for each i = 1, 2, ..., m 11 11 will be used in the discussion of ILP formulation. This is in contrast to that in Section 3« **■•*<■ where all M0 elements in the sufficient set of M0 elements which imply a product of functions (or complemented functions) including f. (or f . ) are used when a truly minimal network is desired. In the following, the formulation of the objective function will first be discussed. Then, the formulation of the set of inequalities which represents the main body of the ILP problem for the minimization of a multiple-output network is to be presented. The main difficulty of formulating the objective function of the 58 ILP problem for the minimis at io? of a multiple -output network lies in the determination of the cost of a MO element which can be shared by more than one output function. A MO element may be a MO PI term, a MO PI alterm, a MOCO term, or a MOCO alterm. The cost of such a MO element will be defined. There is a MO element which may possibly be shared by r different output functions. Let those r output functions be f. , f. , ..., f. . x l x 2 x r Introduce the variables y. . , where k e {l, 2, ..., n} , such that X k 3 k y. . is 1 when this MO element is connected to f. and otherwise 0. Vk \ If the number of literals of this MO element is £, then the cost £ + 1 when £ > 2 and when £ = 1 is assigned to this MO element, since £ gate-inputs and a gate (AND or OR) are needed to realize this MO element if £ > 2, and nothing is needed when £ = 1. The cost of this MO element in a network which realizes functions f. , f. , •.., f. and others is then expressed as follows. 12 r To add y. . + y. . + . . . + y. . + (£ f l) if £ > 2, 1 1 J 1 X 2 J 2 x r J r or y. . h y. .+...+ y. . if £ = 1 X 1 3 1 1 2 J 2 X r J r to the total (network) cost function, if y. . + y . - +.... + y . . > 1 . i 1 J 1 i 2 J 2 i r J r - (i.e., if the MO element is connected to any of output functions.) If the latter inequality is not satisfied, i.e., y. • = y. . = . . . = 0, Vl X 2 J 2 then no cost is added. Then introduce a constant 5 which is determined for each MO element; 6 = 1 if 4 > 2 and 5 = if i = 1. The above additional cost can be stated in a single expression, 7 ± , + y ± 1 + ... + y 4 , + (i + l) Ci- d-y. . ) (i-y. . ) ••• (l-y, . nR X 1 J 1 X 2 J 2 X r J r Vl X 2 J 2 Vr jj5 ' However, it is not linear. It can be expressed as a linear form by introducing a variable t, which is called a linearization variable. Ci-d-^^ ) d-y ± , ). ... (i~ . )], 1°1 "2 J 2 Vr which is expressed by the following two inequalities > V. . + V. . + . . . + y. , - t > i i ii i 1 — Vl X 2 J 2 r J r rt - (y, , + y . . f . . . « y , . ) > 1 1 J 1 X 2 J 2 r J r where t = either 1 or 0. Then the above cost of the MO element is expressed as, y. . + y. . + ... + y. . + (i + l) • t • s« Vl % J 2 Vr Hence, for every such MO element, the cost y + y + ... + y + (i + l) • t • B l d l 2 J 2 r J r is added to the objective function (or cost function) of our ILP formulation. And append two inequalities y. . + y. • +•...+ y. . - t > ^l X 2 J 2 Vr rt - (y. . + y. . + . . . + y. . ) > i 1 J 1 i 2 J 2 i r J r to the set of inequalities of our ILP formulation. For those MO elements which are shared by only one output function, its cost is simply (£ + l) y. . , if I > 2, and y. . , if £ = 1. No Vk 1 k J k inequality is needed in this case. Thus, the objective function of our ILP formulation is to sum up all the terms y + y + ... + y + (i * l) t« 6 l d l 2 J 2 r J r for MO elements which are shared by more than one output function, and y . (i + 1) or y Vk Vk for MO elements which are shared by only one output function in the set (fj, q, .... f*)- Two additional inequalities are generated for each MO element which are shared by more than one output function. For simplicity sake, a matrix notation CB y Q > 6o will be used to represent the s^t of inequalities which are generated for all the MO elements which are shared by more than one output function, where the vector y corresponds to the vector consisting of all y*s and t's variables assigned to those MO elements, and matrix B is a coefficient matrix. An example in Table 3-6 (b) shows the vector y and the numerical values of elements in IB. The set of inequalities By >0 shall be appended to the main body of the ILP formulation which is to be described next. Three notations are given in the following in order to facilitate the formulation of the set of inequalities of our ILP problem. Notation : The fundamental products will be denoted by FP , FP , . . . , FP 2 n -l, where the subscript j of FP. represents the decimal equivalence J of the binary representation of the fundamental product. For example, x.. x x x, is represented by 1 1 and denoted by FP . Notation : A MO element is denoted by PI. ., where the subscript i indicates that PI. . implies a product of functions including ft (i.e., either including f. or f. ), and j is a running index. The variable assigned to PI. . is y. .. Notation: The cost of PI. . is denoted by C. ., where ij J 10 ' C. . = if the number of literals of PI. . is 1. ij 10 = 1 + I if the number of literals I of PI. . is > 2. ij The covering coefficient matrix for an individual function should be defined first. Then the combination of all such covering coefficient matrices for all functions plus the set B y > o will represent the set of inequalities of the ILP formulation. Notation : The covering coefficient matrix for a function f* is Ik. = (a., ), 1 1 0-K where a.^ = 1 if FP of f* implies PI. . Jk k l * ij = otherwise. For a function f*, the set of inequalities which characterizes the covering problem is represented by ,U)- A i y i * 1 * where lk ± = (aj k ') and y. = (y ±1 , y ±2> . .., y ±s , . ..) and y^'s are the variables assigned to the PI. . *s of ft, and superscript T is to denote the transpose of a vector. The covering coefficient matrix Jk. is obtained in the same way as that in Section 3«^«1« Based on each Jk. formed separately, a matrix A; *1 Jk = Jkp Jk, Jk m is introduced. There are m suchl\. 's, one for each function in the set of 1 lf l' S 2< ■■■' *ff Similarly, -T /-T -T ^C tT n y = (y^ v 2 > •"> y m , t ), where y. , i = 1, 2, . .., m and t = (t , t , . .., t , ...) were already defined. The set of inequalities, ffiy >l combines with the set of inequalities B y Q > generated from those MO elements which can be shared by more than one output function as described before. Then, ^o y > r o 62 is formed where A o = B %'- The matrix inequality represents the complete set of inequalities of our minimization problem. In summary, the minimal covering problem (i.e., the minimization problem) for multiple -output functions can be formulated in the following integer linear programming problem: Minimize the objective function z=m+ Z C. . y. . + S (1 + I 5 ) t . in J ij r r r i, 3 ° ° r under the constraints A o y o ± V where A o = Jk IB Vr T %- and y. is the vector of (0, l) - variables, C. . is the cost of y. . and, ' ' ij ij 5 = 1 if I > 2, 6 = if I =1. t is a linearization variable. r r — ' r r r One will see in the following example that the majority of coefficients of Ik and IB are 1 and except a minor portion of IB which may be integers other than 1 or 0. The matrix A„ shown above is always decomposable into m + 1 submatrices. In order to show the procedure of the ILP formulation, an example is given in the following. This is the minimization problem of three functions f , fp and f under the preset grouping pattern (110). Thus f,, fp, and f 3 are used. 63 Assume that all MO elements tfhich imply f , fp and f are given as follows. For f 1 , the Pi's are PI^, PI^, EL^; for f 2 , PI 21 , PI 22 , and PI^; and for f_, PI and PI^p* The covering table of this problem is shown in Table 3«5« The variable assignments are at the bottom row. The complete ILP formulation in Z& y > b form is shown in Table 3*6 (a); the decomposed form is shown in Table 3*6 (b). 61+ FP, FP 1 FP, FP, FP, FP, FP, FP^ FP f FP^ FP 10 FP 11 FP. 12 FP FP 13 Ik Pi 11 FP 15 Variables Assignments y li Table 3.5. The Covering Table PI 12 1 1 '12 PI 13 y PI 21 pi 22 pi, 23 13 The following is assumed: 1 1 1 1 1 1 1 1 r 21 y. 22 y 23 pi 31 1 1 1 1 1 1 1 1 1 '31 pi 32 1 1 1 1 '32 PI = PIpo> P^no = pi oq are M0PI terms of 2 and 3 literals, respectively. PI,, = PIgp = PI„, are M0C0 terms of 2 literals. The linearization variables assigned to PI. .. = PI is t.. and to PI..» is tp. P^-io* PI oi > L 21 J PI^P have 3, 1, 2 literals, respectively. 65 Table 3-6 (a). ILP Formulation for the Problem in Table 3.5. Minimization of z = 3 + y 11 ^y-io + ^ot + yoo + yoo + y^ + 3y-, + 3t 12 '21 '22 23 '31 32 *rt. under 10 10 10 10 10 1 10 1 10 10 10 110 10 10 10 11 111 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 10 1 -1 -10 -1 -1 3 1 1 A 0-1 0-1 2 y 'li '12 r i3 21 22 23 r 31 r 32 Jk r 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . b 66 Table 3.6 (b). The J econiposed Form of ILP Formulation The matrix J7L. and vector y in Table 3*6 (a) are decomposed into the following forms: • ^0 = A, *2 Ik, y o = IB Then ZA y > 1 is decomposed into the following four submatrices: ffil yi > i v / n 10 l 10 ( N l 10 y ll y-^ > l 10 l 10 1 y i3 l 10 1 i k f >» / l 1 l 1 i l 1 1 1 1 1 1 1 1 1 1 *3 y 3 > i '31 r 32 > 1 1 1 1 1 1 1 1 1 1 1 1 1 10 10 10 110 10 10 10 10 111 10 IB y Q >0 y '21 r 22 23 > 1 1 1 1 1 1 1 1 1 1 1 1 1 -1 -1 -1 -1 3 1 1 -1 -1 -1 2 J ll y i2 y 13 y 21 y 22 y 23 y 31 t. > 67 3-^»3 Tecliniques to Reduce th Size of the ILP Formulation From the example just shown in Table 3*6, one discovers that the number of inequalities (i.e., the size of matrix A ) is large and that the number of redundant inequalities (e.g., the 2nd, 4th and 6th inequalities in Table 3-6 (a)) is also large. Both of these facts directly affect the computability for solving this type of ILP problems. Thus let us derive some reduction techniques to delete the redundant inequalities and accordingly to reduce the size of the matrix D\. . Three reduction techniques are to be given here. Each of them is described by a theorem. Some notations are needed before the theorems can be stated. Notation : The collection of PI. . for a particular i which are implied by the same fundamental product FP is denoted by C. (PI. . «- FP ). K 1 1J K Notation: The collection of all FP.'s of a particular f* which imply J i the same PI is to be denoted by C. (FP. -> PI.,). IK i J IK It should be noted that in C. (PI. . *- FP, ) the indices i and k are x io k fixed. For example, C. (PI. . «- FP, ) represents the set (PI. . , i 10 k y 1^' PI. . , ..., PI. . ), where each PI. . is implied by FP for s e (1, 2, ..., rl. Three reduction techniques stated in the following three theorems will be used extensively and repeatedly in reducing the size of the ILP formulation. Theore m $.k.l: Let C. (PI. . «- FP, ) and C. (PI. . *- FPj be two sets of 1 ij k 1 ij It, PI. . *s. If C. (PI. . <- FP. ) is a subset of C. (PI. . *- FPj, then the ij 1 ij k' 1 ij I" PI. . of this C. (PI. . *- FP„) implied by the fundamental product FP. can ij 1 v ij V * J I be eliminated. (i.e., PI. . *s located in column C. (PI. . «- FP.) and row ij 1 xj * FP. in Table 3.7. ) Proof : Since each PI. . in the set C. (PI. . <- FP. ) which is implied by ij 1 ij k' 68 FP is also implied by PP. if C. (PI. . +- FP. ) is a subset of K x i ij K. C. (PI. . *- FP„), the set C. (PI. . «- FP. ) is sufficient to cover the 1 ij S," 1 v 2.3 k y fundamental product FP as well as FP.. Q.E.D. Hence, the above theorem is to reduce the number of fundamental products and accordingly to reduce the number of rows of the matrix A n . The next theorem is to reduce the number of MO elements i.e., to reduce the number of columns of matrix A . Theor em 3^»2 : Let C. (FP. -* PI., ) and C. (FP. -* PI. .) be two sets of i j ik' i j ix fundamental products, and c. , c. be the corresponding costs of PI., IK 2-X IK and PI. ,, respectively. If C. (FP. -> PI. J is a subset of C. (FP. -* PI ) 2-X 1 J 2. X 1 J IK and c. „ > c, , then the entries in C. (FP. -* PI. n ) for this £ can be 2.X, ik' 1 J 2.X, eliminated. Proof : This is because that PI., also implies all fundamental products in C. (FP. -»• PI. n ) if C. (FP. -* PI. .) is a subset of C. (FP. -+ PI.. ). 2 J 2.X 1 J 2.X 1 3 lk 7 If c. „ > c. , the MO element PI. , can naturally be eliminated since 2.x ik' 2.X ^^ there is no need to use more costly elements. Q.E.D. The next theorem is to remove the essential MO elements from the matrix A_. But note that these MO elements must be included in a solution which will be obtained. Theorem 3«^«3 : If for a particular FP there exists exactly one element, K. say PI , in the set C. (PI. . «- FP ) (i.e., PI is an essential MO element), rs' i ij k' v ' rs " then this PI should be included in a solution, rs Proof: This PI must be selected in a solution since otherwise no other rs PI. . for some i implies the fundamental product FP, . 1 J K Q.E.D. 69 The reduction techniques tated in the above three theorems can be repeatedly applied to a problem (e.g., Table 3«5) before the inequalities are formulated and until none is applicable. By repeated application of the above three reduction techniques all redundancies (of fundamental products and MO elements) are checked and eliminated. The above reduction techniques are summarized in the following. 1. Assume that the set of PI. . are given and that the fundamental products for each of the functions are known. 2. List the collections of C. (PI. . «- FP ) in the increasing order of k 1 1J K FP) in a table according to the following format. f f FP k C ± (ELy ^FP k ) C 2 (PI 2 . «- 2 FP k ) f c (pi .' m mj FP o FP FP 2 FP 3 PP 2 n-l 3- Do the elimination according to Theorem 3«^«1« If FP is eliminated, then the entries in row FP, and column C. (PI. . «- FP, ) are removed, k l ij k where i is the index of f . which contains FP . i k h. Do the elimination according to Theorem 3«^'3- Record those PI. .'s -'-J which are eliminated because they must be contained in a solution. 5« For each PI.. , cost c. is assigned. ik' lk 6. List the collections of C. (FP. -* PI. n ) in the increasing order of k i j ik' in a table of the following format. No PI. . eliminated in steps 3 and ij k are considered. 70 ik k C n (FP. - PI_. ) c nl C Q (FP. - PI.. ) c_, C (FP, - PI , ) c . 1 j lk y Ik 2 j 2k 2k m j mk' mk 1 2 3 It 7- Do the elimination according to Theorem 3 •^••2. If PI., is eliminated, then all the entries in row k and column C. (FP. -* PI.. ) are removed i J ik' from the table. 8. Steps 2, 3 , ^, 6, 7 are repeatedly applied until none of Theorems 3.^.1, 3«^»2, and 3»^«3 is applicable. 9« The remaining FP and PI. . are used to form a new covering table such as shown in Table 3»5« 10. An ILP problem is to be formulated based on this covering table. An example is shown in Table 3*7 to illustrate the use of reduction techniques to the example in Table 3«5» 71 Table 3.7. (An example to illustrate the use of reduction techniques to the example shown in Table 3*5) Step 1. FP 's and PI. . f s are given as in Table 3*5. Step 2. A table is formed from Table 3.5 as follows. FP k c i (PI u - P V C 2 (PI 2j - F V C 3 (PI 3j - FP k ) FP o V1 12 PI 31' n 32 FP PI 12 PI 31' PI 32 FP 2 PI 21 PI 31 FP 3 PI 21 PI 31 FP J+ PI 11 PI 22 PI 32 FP C 5 PI 31' PI 32 FP 6 PI 11 PI 21' PI 22 FP ? PI 21 PI 31 FP 8 PI 31 FP 9 PI 31 FP 10 PI 21 PI 31 FP 11 PI 21 PI 31 FP 12 PI ll' PI 13 PI 21 FP 13 n 31 FP lU PI 11' PI 13 PIo-i^ PIpo' 23 FP 15 PI 21 PI 31 Step 3. By applying Theorem 3.4.1, the following PI. . *s are removed from the above table. In row FP : PI 31 , PI 32 - FP : PI 12' PI 31' FP : PI 21 , PI 31 - (because C (PI <- FP. ) is a subset of (C 3 (PI 3j ^FP ^) PI 32 . 72 FP C : 2 PI 31' PI 3£ FP g : H,!, PI 21 , Efc. FP : PI 21 , PI 3l- FP 8 : PI 31 . FP 9 : PI 31 . FP : 10 PI 21 , PI 3r FP : U PI 21 , PI 31 . FP : rr 12 K ll' PI 13 , PI 22 - FP : 13 PI 31 . FP i : Ik PI 11> PI 13' PI 21 , FP : 15 PI 21> PI 31 . l 22 , r± 2 y Step k. Essential MO elements: PI,,, PI.,,, in column C, (PI n . «- FP. ) 11 12 1 lj k' PI 21 , PI 22 in column C 2 (PI *- FP R ) PI on , PI 00 in column C (PI_ . <- FP. ) 31 32 3 3j k' are removed to be included in a solution, Theorem 3«^«3« Step 5- No more PI. . and FP left. The algorithm thus terminates. lj k 3.^.*+ The ILP Method for Finding the Optimal Grouping Pattern Two methods for finding the optimal grouping pattern are to be given in this section. The first method is a semi -exhaustive method which employs the branch-and-bound method developed for the solution of ILP problems to find the optimal grouping pattern. A small number of branchings is to be constructed. Each branching represents a presumed optimal grouping pattern, upon which the minimal network (This is the minimal for each branch, in other words locally minimal. But it may not be globally minimal over all branches. ) is designed by the ILP method described in Sections 3«^«2 and S'^'S* If the cost of a newly found network (i.e., the minimal network for each branch) is less than the lowest cost previously found, it is stored, replacing the latter 73 cost; otherwise, the latter is st_ll stored. Each branch is tested by the same way until no branch is left. The number of branches should be kept as small as possible in order to make this method computationally feasible. Details are described in Appendix B. The second method which is to be described later is straight -forward. The grouping pattern a = (a,, a p , • .., a ) is transformed into a set of binary variables which in turn are incorporated into the ILP formulation for finding a minimal covering as described in Sections 3«^«2 and 3«^«3« A solution of the ILP problem so formulated not only gives an optimal grouping pattern of the set of output functions to be realized but also gives the structure of the minimal network realizing the set of output functions. The difference between the above two methods is as follows. The first method is to employ a series of small size ILP problems to find the optimal grouping pattern. The small size ILP problems may not be too time consuming to be solved by using the technique described in Appendix B. The second method is to employ a single relatively large size ILP problem to find the optimal grouping pattern and the structure of the minimal network. The solving of this single large size ILP problem may prove to be computationally infeasible if the number of (input) variables and the size of the sufficient set of MO elements are large. The comparison of the two methods has not been computa- tionally tested. In the following, let us describe the second method. The solution of the ILP by the second method not only gives the desired grouping pattern of the output functions, but also gives the structure of a minimal network. The ILP method is straight forward after the sufficient set of MO elements is found. The optimality of the network to be designed by this ILP method is always guaranteed. The number of inequalities of this ILP program is m x 2 n . For large m, the number of given output functions, and for large n, the number of input variables, the solvability of the ILP program by computers poses a major drawback to this method. Let FP be a fundamental product of f . , and PI , PI., , ..., PL, be members of the sufficient set of MO elements which are implied by this FP of f . and which imply a product including f . . Also, let FP, be a fundamental product of f. and PI. . , PI. . , ..., PI. . be those MO elements in the sufficient set of MO elements which are implied by this FP. of f . and imply a product of complemented functions including f . . Variables y ik^ y ik2 ' '••' y ik ^ assi gn edto PI ik ^ PI ik2 > •'- PI ik ^ d variables y^ , y^ , ..., y are assigned to PI^ , PI^ , ..., PI^ , 1 2 q 12 q respectively. Then the inequality corresponding to this FP, is (1) y ik n + y ikp + ■•• f y ik ^ 1 *2 p and the inequality corresponding to this FP. is (2) y ii> + y ii> + •'• + y ii ^ 1 ' 12 q Since each f. in a minimal network r\ (<£> , $~, ..., $ ) is either l ' l 7 2' m in OR-JOINT Boolean form or in AKD-JOINT Boolean form, one needs only either inequality (l) or inequality (2) in the ILP formulation. If f. is an OR-JOINT Boolean form, then only those fundamental products of f . will be taken into consideration and the inequalities such as inequality (l) corresponding to those fundamental products will be used in the ILP formulation. If f. is in AM)-JOINT Boolean form, then only those fundamental products of f . will be taken into consideration and the inequalities such as (2) corresponding to those fundamental products will be used in the ILP formulation. The above "either or" statement can be simplified by introducing a new 75 variable Q^ , where Q= 1 if f. is in OR-JOINT Boolean form. = if f. is in AND-JOINT Boolean form. l Thus, inequalities (l) and (2) are stated as: If Q^ = 1, then y. + y., + ... f y M > 1 for FP^ e f. , and 1 J ik, -"ikg if Q. = 0, then y ±£ + y ±£ + ... + y^ > 1 for FP^ e f.. 12 q If the variable Q. is incorporated into the inequalities, the following two inequalities result: (3) y i kl + ^ + ••• + y xk p ± 1 - U • P i for FP k £ f i where P. = 1 - Q,. and Q,. = either 1 or 0. U is a very large positive integer. Further explanation of the use of the above two inequalities (3) and (k) is given in the following. Suppose that f . is found to be an OR-JOINT Boolean form in an optimal grouping pattern. Then P. = and Q. = 1. Then inequality (3) becomes, (5) y i kl + y ik2 + ••' + 7 ^ v - 1 which is a normal covering inequality for a fundamental product of f . . And, the inequality (k) becomes (6) 'u. + y u, + ••• + y ii ^ 1 " u 12 q which is always satisfied with (7) X^i^. = "• = X = °^ because of the minimization of the objective function. Thus, only the inequalities like (5) are actually retained in the ILP (program) since the other inequalities like (6) can be easily satisfied by a solution like (7). If f. is found to be in a Boolean AND- JOINT in an optimal grouping pattern^ then the roles of inequalities (3) and (k) are reversed. 76 Both types of inequalities (3) and (h) are included in the ILP formulation. The ILP problem itself will determine whether Q. = 1 or 0, which in turn determines whether the inequalities like (3) or (h) would be retained. There are 2 fundamental products for each function. Thus, each function has 2 inequalities like (3) and (k). For m output functions, the total number of inequalities is m x 2 in the matrix representation A y Q > 1. Solve the ILP problem for the minimization of a multiple -output network with the inequalities [h y n > 1 just formulated. The solution of the ILP problem not only gives the values of all y. .'s but also gives the values of all Q. 's. The values of y. .'s determine the structure of i ij the minimal network which realizes the set of m output functions. The values of Q. ? s determine the optimal grouping pattern of the set of m output functions. It should be noted that the above ILP method is applied only after the reduction techniques described in Section 3«^»3 have been exhausted. 77 h. MINIMIZATION 01 A NETWORK WHICH HAS INVERTERS U.l Introduction The minimization procedure described in Chapter 3 assumes that no inverter is available. This chapter presents a minimization procedure when inverters are available. Two cases will be considered. The first case is the minimization with inverters which are available free of charge, Inverters are built-in at each of AND and OR gates which thus produces a complemented output as well as an uncomplemented output. Each of AND and OR gates is represented by T AND respectively, where T and T are the complemented output and the uncomplemented output of the AND gate, respectively, and A and A are the complemented and the uncomplemented outputs of the OR gate, respectively. The second case is the minimization with NOT gates. The inversion is obtained through a NOT gate which is to be represented by -o- NOT Each NOT gate has a cost of 2, since one gate and one gate-input are required in each NOT gate. In order to use the algorithm developed in Chapter 3 with the least modification, the assumption will be made that a NOT gate does not constitute a "level" in a 2-level AND-OR network, i.e., NOT gates may be allowed between any first-level gate and any output gates. In the following, an example will be shown to demonstrate the differences in the cost functions and in the network structures between the case when cost-free inversions are available and the case when the inversions are not available. 78 Three output functions are given as, f x ( X]L , x 2 , x 3 , x k ) = Z (0, 1, h, 6, 12, lU) f 2 ( Xl , x 2 , x 3 , Xj+ ) = Z (2, 3, 5, 6, 7, 10, 11, 1^, 15) f 3 ( Xl , x 2 , x 3 , x h ) = Z (6, 7, 8, 9, 13, 1^, 15). A minimal network realizing f .. , f p and f is shown in Figure U.l, *2 1 X2 X2 x„ OR OR OR AND (x 2 Vx 1+ )(x 1 Vx 2 )(x 2 Vx 3 ) xi x2 x k AND V 0R x 3 V X lXg X u *2 *3 xi OR OR OR AND V (x 2 Vx 3 )(x 1 Vx 3 )(x 2 Vx 3 Vx 1+ ) Figure 4.1 when no inversion is available. But when cost-free inversions are available, a minimal network realizing the same f., f p , and f is shown in Figure 4.2, 79 x 2 x l x 2 X U x 2 *2 x 3 OR OR j qrJ) — Ci OR AND V AND OR OR (x 2 Vx^ ) ( Xi Vx 2 Vx 3 ) (x 2 V Xl Vx^ ) X 3 V X 1 X 2 X U x 2 x 3 Vx 1 x 2 x 3 Vx 1 x 2 x u Figure k.2 where some OR gates provide complemented outputs (with small circle o) and uncomplemented output (without small circle o) as well. In comparison of network cost, the first network has a cost 3^ and the second one has a cost 30* k.2 Minimization with Cost-Free Inversions In this section, the assumption is made that each of AND and OR gates provides a complemented output as well as an uncomplemented output. Thus, whenever a term like x* x* . . . x* is produced by an AND gate, an alterm x l x 2 x k x* v x* v- . . . v x* = x? x? . . . x* can be obtained through its X l X 2 x k X l X 2 x k complemented output. Similarly, whenever an alterm x* v x # v ... v x| x l x 2 x k is produced by an OR gate, a term x* x* . . . x* = x* ^ x* v . . . v x* x l x 2 x k x l X 2 x k can also be obtained through its complemented output. Those alterms and terms will be specially considered in addition to the MOPI terms, MOPI alterms, M0C0 terms, and M0C0 alterms as defined before. 80 Let us call a term T = x* x* . . . x* and an alterm A = x* vx* v,,, v x * = T a T-A pair if there exists an AND gate X l x 2 x k which produces T and A through its uncomplemented and complemented output, respectively. Similarly define an A-T pair if there exists an OR gate which produces A and T through its uncomplemented and complemented output, respectively. For example, in Figure h.2 A = x.^ ^ x~ ^ x._ and T = x x p x are an A-T pair. The number of literals k is restricted to k > 2. In the minimization with cost -free inversion, there are two different kinds of T-A pairs and two different kinds of A-T pairs which are defined in the following. Definition U.2.1 : A T-A pair is called a MO PI T-A pair for the set of output functions f . , f_, .... f if there exist two disjoint subsets of 1 2' m functions (f. , f. , ..., f. } and {f , f , ..., f } of h V H P l P 2 P q [f , f 2 , ..., f } such that (1) T is a prime implicant of the product of functions, f. • f. ' ... ' f. (or f . * f. * ... * f. ), and J l J 2 3 £ J l 3 2 3 £ (2) A implies the product of functions, f • f * ... • f (or f • f * ... • f ). P l P 2 P q p l p 2 P q Definition U.2.2 : An A-T pair is called a MOPI A-T pair for the set of output functions f , f p , . . . , f if there exist two disjoint subsets of functions [f. , f. , ..., f. } and (f , f , ..., f } of V J 2 H p l p 2 p q {f , f , • .., f } such that (1) A is a MOPI alterm of the product of functions, f. • f . • ... ' f . (or f. • f . •...*?.), and 3 1 J 2 3 £ J l J 2 3 £ (2) T implies the product of functions* f ' f • ... * f (or f • f * ... ' f ). P l P 2 P q P l P 2 P q 81 Definition U.2.3 : A T-A pair id called a MOCO T-A pair for the given set of output functions f , f p , . .., f if there exist two disjoint subsets of functions {f. , f. , • .., f. } and (f , f , ..., f ] such that h V H P l P 2 P q (l) T implies the product of functions, f. • £ • . . . • f . , and J l J 2 3 £ (2) A implies the product of the complemented functions, f • f • ... * f P l P 2 P q where &, q > 1. Definition k.2.k : An A-T pair is called a MOCO A-T pair for the set of output functions f _ , f_, . .., f if there exist two disjoint subsets of functions { f . , f. , .... f. } and { f , f , . . . , f } such that h J 2 H p l P 2 P q (1) A implies the product of functions f. • f. • ... * f. (2) T implies the product of the complemented functions f • f • ... • f . P l P 2 P q where i, q > 1. In Figure ^3 a network r\ (0.., Op, . .., 3v) is shown which has outputs f 1 = \ = x l x 2 x 3 " x 3 x k x 5 f 2 = 2 = (x x - xg v x 3 ) >/ x 6 - x k x 5 f 3 = $ 3 = (x 1 x 2 x 3 ) (x 3 v x^ ^ x 5 ) We see that the AND gate which has inputs x , x. and x produces a MOCO T-A pair where T = x_ x. x_ and A = x„ ^ x, ^ x c for f, and f_, D h ? 3 H" P -L 3 respectively. The T-A pair, T = x x. x and A = x ^ x, v x , is a MOCO T-A pair because T = x x. x produced from the uncomplemented output of the AND gate implies f, and the alterm A = x_ ^ x. v x,. produced from the complemented output of the AND gate is implied by f . 82 x l x 2 x 3 x 5 *5 mdJ- { AND )~[^ OR AMD J- OR OR AND \ OR Figure h.3 A Network t) (0,, $ 2 , <2>~, $, ) It should be noted that if the alterm A of a MOPI T-A pair and the term T of a MOPI A-T pair were never used for any output function in a network, the MOPI T-A pair and MOPI A-T pair are then simply degenerated to and considered as a MOPI term and a MOPI alterm, respectively. Some properties concerning the existence of a MOPI T-A pair, a MOPI A-T pair, a MOCO T-A pair, and MOCO A-T pair are given in the following lemmas. Lemma U.2.1 : Let { f . , f. , ..., f. } and { f , f , . . . , f } be two *1 J 2 *£ ?! p 2 \ disjoint subsets of output functions. Then the existence of the following implication relations, either f . .. • f . 3 f • f H~ p i l • • . j. , p orf. • f . • . . . • f . =>f • f • . . . • f J l J 2 H " P l P 2 \ implies the existence of a MOPI T-A pair for the set of output functions {f, , f, , ..., f, , f^ , f^ , ..., f }. p q J l' J 2 H P l' P 2 83 Proof: Iff. • f . ' . . . • f , 3f • f ' ... ' f , then there exists h J 2 h ~ P l P 2 P q a term T such that f . • f . • . .. ' f . 3TDf • f • ... • f . J-L J 2 i - ~ P-l P 2 P q The first half of the above implication relation gives f. • f. • ... • f. =J T, and the second half gives f • f • ... • f c t J l J 2 J i" _ P l P 2 P q" which results inf • f • . . . • f 3 t = A. By definition, this T-A pair P l P 2 P q" is a MOPI T-A pair. The proof for the other part is similar. Q.E.D. Lemma 4.2.2: Let {f. , f. , .... f. ) and {f , f ..... f } be two V J 2 H P l P 2 P q subsets of output functions. If there exists a MOCO T-A term with respect to these two subsets of functions, the g.. • gp c g-. and g • g_ c a } where g, = f . • f . • . . . * f . and go = f • f • . . . * f . 1 3 ± 3 2 H ^ P X P 2 P q Proof : By definition, this MOCO T-A pair and these two subsets of functions have the following relations: T 5 f . • f . ' . . . • f = g J l J 2 Z l L A => f • f • ... * f =&. " P l P 2 \ ^ _ where T and A is the MOCO T-A pair, and A = T. The results follow immediately by multiplying g and g^. Q.E.D. Lemma U.2-3 : Let {f. , f. , ..., f. }, (f. , f. , ..., f. } and X l X 2 \ 3l V J q {f, , f, , ..., f } be three disjoint subsets of output functions. If K l *2 r there exists a MOPI T-A pair with respect to the first two subsets of functions where A is also a MOCO alterm with respect to the last two subsets of functions, then this T-A pair is also a MOCO T-A pair with respect to the first and last subsets of functions. Proof : By Definition U.2.1, if a T-A pair is a MOPI T-A pair with respect to the first two subsets of functions, then the T-A pair has the following 8U properties: (1) T is a prime implicant of the product of functions, f. • f. • ... * f. , and _ 12 p (2) A = T implies the product of functions, f. • f. • ... • f. . _ J 1 J 2 J q. If this altera A = T is also a MOCO alterm with respect to the last two subsets of functions, then (1*) A implies the product of functions f. • f. ... • f , and J l J 2 J q (2') A = T implies the product of the complemented functions f. • f . * ... ' f. . k l *2 k r But a prime implicant always implies the function from which it is derived. Hence, by the condition (l) and (2*) above, and by Definition U.2.3 this T-A pair is a MOCO T-A pair with respect to two subsets of functions (f , f , ..., f } and (f , f , ..., f }. i 1 i 2 i p K x K^ K r Q.E.D. Actually, concerning the above three disjoint subsets of functions and the existence of the MOPI T-A pair, the MOCO T-A pair and the MOCO alterm, a stronger relation can be established as stated in the following lemma. Lemma k.2.k : Assume that there exist a MOPI T-A pair, a MOCO T-A pair, and a MOCO alterm, where the MOPI T-A pair and the MOCO T-A pair have the same T-A pair and the A of this T-A pair is the MOCO alterm. Then among these three, the MOPI T-A pair, the MOCO T-A pair, and the MOCO alterm, the existence of either two implies the existence of the other one. Proof : If the MOPI T-A pair and the MOCO T-A pair have the same T-A pair and the A of this T-A pair is the MOCO alterm, then there exist three disjoint subsets of functions, \> v -' V V V '"' V' aBd V v •••• V 85 such that the following three conditions hold: (1) The T of this T-A pair is a prime implicant of f. • f. • ... • f . . X l X 2 p (2) The A = T of this T-A pair implies f. • f. • ... • f . _ J 1 _ J 2 _°q (3) The A = T of this T-A pair implies f • f • ... • f . 1*2 r Lemma 4.2-3 proves that the existence of the MOPI T-A pair and the MOCO alterm implies the existence of the MOCO T-A pair. Other two cases will be proved in the following. Conditions (l) and (2) gives that the T-A pair is a MOPI T-A pair. From condition (l) and (3) it follows that the T-A pair is a MOCO T-A pair. Hence, the existenceof the MOPI T-A pair and the MOCO T-A pair gives conditions (2) and (3) simultaneously, which implies the existence of a MOCO alterm (i.e., A). Since the existence of the MOCO T-A pair and MOCO alterm A (which is identical to the A part of the MOCO T-A pair) only gives that (1*) T implies f. • f. • . . . ■ f . (satisfied by the MOCO T-A pair.) 1 1 X 2 X P (2) A = T implies f. • f . • ... • f. (satisfied by the MOCO alterm.) J l J 2 J q we cannot immediately conclude that there exists a MOPI T-A pair. However, we can always find a prime implicant of f . • f . • . . . • f . which is x l X 2 \ implied by T. Let this prime implicant be T*. Then the T'-A pair satisfies: (l") T ! is a prime implicant of f. • f. ' . . . * f . , and X l 1 2 \ (2») A' = T' implies f. • f. ■ ... • f. . J l J 2 J q By definition, this T'-A* pair is a MOPI T-A pair. Hence, the existence of the MOCO T-A pair and the MOCO alterm does imply the existence of a MOPI T-A pair. Q.E.D. Also, among the above three subsets of functions, two implication relations as shown in the following lemma can be established. 86 Lemma 4.2. 5 : If a T-A pair is a MOPI T-A pair and also is a MOCO T-A pair, then there exist three disjoint subsets of functions [f , f , ..., f }, (f , f , ..., f }, and {f , f , ..., f }, X l X 2 x p J l J 2 °q *1 *2 r such that f. • f. • ... • f. ^ f . • f . • ... • f . X l X 2 1 p ^l J 2 J q f . • f . • . . . • f . 3 f • f • . . . • f °1 J 2 J q *1 *2 r hold. Proof : If there exist such a MOPI T-A pair and a MOCO T-A pair, then three conditions (l), (2), and (3) in the proof of Lemma 4.2.5 hold. The condition (2) and (3) gives, f . • f . • . . . * f . => A ^ f • f • . . . • f , • 3 1 J 2 °q K l K 2 r The condition (2) also gives A = T => f . • f. • ... ' f . , J l 3 2 J q which in combination with condition (l) results in f. • f. • ... • f. => T = A => f . • f . •...*?.. X l x 2 X p J l J 2 J q Q.E.D. The above Lemma 4.2.5 could also have the following set of implication relations. f. • f . •...*?. => f . • f . • ... * f . X l X 2 \ J l J 2 J q f, • f . * ... ' f. => f . • f. • ... • f. , k n 1^ k — i. i i 1 £ r 1 2 p if the MOPI T-A pair is obtained through the set of complemented functions as parenthesized in the conditions of Definition 4.2.1. 4.3 Algorithm An algorithm for' generating MOPI T-A pairs, MOPI A-T pairs, MOCO T-A pairs and MOCO A-T pairs will be given in this section. The basic set of MO elements for the set of output functions f -, , f , ..., f is assumed to * I 7 2' m be found. From the basic set of MO elements, one can obtain two sets of alterms denoted by S and S p in the algorithm for generating MOPI alterms 87 in Section 3.3. The definitions of S. and Sp will be given here again. They will be used in the algorithms to be described next. The set S, is the collection of all disjunctions of literals which are single literal terms in the basic set of MO elements. Every term in a disjunction of S n has the same €' part. The set Sp is the same as S, except that the e* part is changed to its e'V, part. 1. Procedure for generating MO PI T-A pairs. (a) Denote the alterms in S. as A , Ap, ..., A_. Each A. has i(i) literals for i = 1, 2, ..., I. Set i = 1. (b) For each A., obtain a T. = A. . 1' 11 (c) Check whether or not T. is a MOPI term in the basic set of MO 1 — elements whose e' has at least one dash. If yes, go to (f); otherwise go to (d). (d) If £(i) > 3, then set i(i) to ^(i)-l and generate new T. *s by deleting one literal from T., one for each new T., and then go 1 1 to (c). Otherwise, go to (e). (e) Set i to i + 1. If i < I, then go to (b). Otherwise, stop. (f) Record this T.-A. pair which is a MOPI T-A pair. The e*'s 11 <± for the T. and A. are also recorded. 1 1 (g) Do steps (a) to (f) for the set Sp. Use e" instead of e*. 2. Procedure for generating MOPI A-T pairs. The procedure is the same as the one for generating MOPI T-A pairs except step (e) is modified as (e') Check whether or not T. subsumes/is a MOPI term whose e 'p has at least one dash in the basic set of MO elements. If yes, go to (f); otherwise, go to (e) 88 3« Procedure for generating MOJO A-T pairs. (a) Denote the alterms in the set S.. as A^, A^, • .., A 1I , and the alterms in the set S ? as A^, Agg, ..., Ap_ p . (b) Detect if any alterm i., j £ (1, 2, . .., I) either subsumes or is subsumed by any alterm Ap , k € {l, 2, . . . , p] . If A . subsumes Ap , then go to (c). If A. . is subsumed by A_ , then go to (d). Otherwise, stop. (c) Record Ap and its € U p along with the e' of A^ .. Then go to (e). (d) Record A . and its e'p along with the e"p of Ap . (e) Write down all alterms which are subsumed by either Ap in (c) or I. in (d) along with its €* of either Ap or A ., respectively. k. Procedure for generating MOPI T-A pairs. (a) Denote the set of terms in the basic set of MO elements as T nn , T no , .... T., whose 0. Among all inequalities in IB' jr' > 0, the generation of inequalities from MOPI T-A pairs is described in the following. The method of generation of other inequalities from MOPI A-T pairs, MOCO T-A pairs, and MOCO A-T pairs is similar and omitted here. Any function in the following procedure is a subset of the output functions f , , f , •.., f . Let T and A be the term and alterm of a MOPI T-A pair, respectively, where T implies f. , f. , ..., f. and A implies f , f , ..., f . Also, J l J 2 J i p l p 2 p q let the variable assignments to T be y. > Y- > •••> y. a^d. those to A be J l °2 3 £ y } y > • • • > y • Then the portion of the objective function corresponding p l p 2 p q to this MOPI T-A pair' is y. +y. + ... + y. + y +y + ... + y + ct , J l J 2 H P l P 2 P q 3 where c is the cost of the term T, and the inequalities corresponding to it are, d + y i + J l J 2 . . . + y - t > J l J 2 ... - y 3 £ > + y + P l P 2 • • . + y - t 2 > P l " \ " ... - y > *1 + t 2 -t 3 > 2t - t ± - t 2 > where y , y , . . . , y , y , y , . . . , y , t , t , and t are variables 3 1 3 2 Ifr Pi P 2 P q -J- ^ 5 whose values are 1 or 0. t , t ? and t_ are the linearization variables of the term T, the alterm A, and the T-A pair, respectively. J l 3 2 z l The first inequality shows that if y^ = y., = . . . = y_. = 0, then , • • • , 3 2 H t, = 0. The second inequality shows that if any one ofy. , y. , ..., y, -^ Jt Jo J is 1, then t = 1. Similarly are the third and the fourth inequalities. 91 The last two inequalities feive t_ = 1 if at least one of t and t p is one, and t„ = 0, otherwise. If t_ = 1, then either T or A is used in a minimal network, or both. A cost ct_ = c is to be added to the network cost function. If t^ = 0, neither T nor A is used. No cost of this MOPI T-A pair is to be added to the total cost. Thus, six inequalities are generated for each of MOPI T-A pair, MOPI A-T pair, M0C0 T-A pair, and M0C0 A-T pair in the set of inequalities IB' ?' > 0. This set B 1 y" > is appended to the ILP formulation Jk~ y > b_ to form the ILP formulation when cost-free inversions are available. 1+.1+ Minimization with NOT Gates Available In the minimization when NOT gates are available, the procedure is the same as the one for the minimization with cost-free inversions in the last section, except the additional consideration of the cost of NOT gates. The T-A pair and A-T pair mentioned in Sections h.2 and U-3 are realized by an AND gate and an OR gate with an additional NOT gate, respectively. This is depicted in the following pictures. T( Term) ^ A( Aterm ) TOT Realization of a T-A pair. A( Alterm ) ""Ux>_ T( Term ) NOT Realization of an A-T pair. 92 From the above pictures it is clear that in the realization of a T-A pair if A (an altera) is never used for any output function in a network, the T-A pair is actually degenerated into a T (a term) and the inclusion of NOT gate (to realize the A) is superfluous. Similarly, the NOT gate in A-T pair realization is superfluous if the T (term) is never used in a network. The case that T (term) in T-A pair realization and A (altera) in A-T pair realization are not used is assumed not to occur since if it does, a realization of lower cost (simply an OR gate and an AND gate, respectively) can always be used. With the above consideration in mind, the formulation of the cost of a MOPI T-A pair, MOPI A-T pair, MOCO T-A pair and MOCO A-T pair is to be described. The generation of inequalities from MOPI T-A pairs, MOPI A-T pairs, MOCO T-A pairs and MOCO A-T pairs is the same as that given in the last section. The portion of the objective function corresponding to a MOPI T-A pair (as illustrated in the last section) when NOT gate is used is modified to y + y + ... + y + y + y + . . . + ct + 2 (t + t - t ) where c is the cost of the structure of the term T of this MOPI T-A pair and 2 is the cost of a NOT gate (one gate-input and one gate) in the realization of the T-A pair. The term ct + 2 (t + t p - t_) assumes the value shown in the Remarks T-A pair is not used. No NOT gate is needed. No NOT gate is needed. following. \ *2 *3 ct 3 + 2 • (t l + *2 " ■v 1 1 c 1 1 c 1 1 1 c + 2 A NOT gate and an AND gate are counted. 93 The above table shows that cost c + 2 is added to the cost function of a network if and only if the T (term) and A (alterm) of the MOPI T-A pair are both used, i.e., t.. = t» = 1. This is clear from the physical realization of a T-A pair. The cost function for a MOPI A-T pair, MOCO A-T pair, MOCO T-A pair can be established similarly. In conclusion, the inclusion of inverters (or inversions) increased the size of the ILP formulation because of the additional consideration of MOPI T-A pairs, MOPI A-T pairs, MOCO T-A pairs, and MOCO A-T pairs. In the case of minimization with cost-free inversions, the cost of any additional inverter is zero while it is 2 in the case of minimization with inverter of some cost. The inequalities generated from MOPI T-A pairs, MOPI A-T pairs, MOCO T-A pairs, and MOCO A-T pairs are the same in both cases. 5- MINIMIZATION WITH DON'T-CARES $.1 Introduction In the design of a switching network, given output functions are often incompletely specified, especially in design of multiple -output switching networks. There are certain input combinations for which the output can either be 1 or 0, or a certain number of input combinations never occur in some or all of the given output functions. The design of such multiple- output networks is known as the "don't-cares" problem. If a minimal multiple -output network is desired, the problem is a minimization problem with don't-cares. A number of authors have investigated the minimization problem with (2k) don't-cares. McNaughton defines a r-th order multiple -output prime implicant by taking the don't-care conditions into consideration. His method is primarily based on the concept of prime implicant and may be tedious and impractical if the number of output functions is large, because he practically considers all the products of all output functions and all (22) the disjunctions of all output functions at the same time. McCluskey treats don't-cares by assigning all 1 to find the prime implicants and then a minimal number of prime implicants are selected to construct a (of.) minimal multiple -output network. Su uses don't-care conditions to compress a truth table to a compact form; then minimization is done, based on this compressed truth table. But no minimality is assured. Several others have also treated the don't-care problems of a single (9) output function. Chu uses don't-cares to define the D-implicant and (19) D-implication relation. Lawler treats don't-cares by defining interval functions, and minimization is done with respect to the interval functions. (27) Motts uses don't-cares to define a weak prime implicant and then to solve the covering problem based on those weak prime implicants. 9^ 95 In this paper we will use uon't-care conditions to find a minimal multiple -output network of AND-OR gates in at most two levels under the cost function defined in Chapter 1. Basically, in the minimization with don't-cares, the existence of MOPI terms, MOCO terms, MOPI alterms, and MOCO alterms is again taken into consideration. The only difference between the minimization problems with don't-cares and the minimization problems without don't-cares is in the procedure that generates the basic set of MO elements. Hence, this chapter will describe a systematic way to generate the smallest set of MO elements on which the minimization is based. The rest of the minimization procedures are the same as the case without don't-cares once the basic set of MO elements is found. It should be noted that we want to use the don't-care conditions on one hand to achieve the minimal realization, but on the other hand don't want to make the size of the basic set of MO elements too big since this will greatly increase the computational complexity in finding a minimal covering set for constructing a minimal multiple -output network. The ILP method derived in Chapters 2 and 3 can be extended with modification to the synthesis of minimal multiple -output networks, no matter whether don't-cares are included or not. The design of a minimal multiple -output network when inversions are available (including the case of cost-free inversions and also the case of inversions of some cost) for incompletely specified output functions is a direct extension of that in Chapter k. 5-2 Definitions The set of given output functions {f,, f ? , ..., f } denoted by F is assumed to be incompletely specified in this chapter. Don't-cares occur in some or a ll of the functions in F. The occurrence of don't-cares in a function f . may or may not be the same as that in another function f . 96 for j j- i, although some don't-cares may appear in every f. for i e {1, 2, . . . , m} . The set of don't-cares of f. will be denoted "by d. which also denotes a Boolean expression of the set. The collection of all d. 's is denoted by D = {d_, d_, . .., d }. Note that d. in D is the counterpart -of f. in F. The union F U D is defined to mean the set tf^a^ f 2 -d 2 , ..., f m -d m ). In Section 2.2 the definitions were given for MO PI term, MOPI alterm, MOCO term, and MOCO alterm. In this section consideration will be given to two different types of MOPI and MOCO, in other words, the T-MOPI and the D-MOPI, and the T-MOCO and the D-MOCO, each of which is defined in the following. Definition $.2.1 : A term is called a T-MOPI term of F if this term is a MOPI term of F and there exists no don't-care in D which implies this term. A term is a D-MOPI term if this term is a MOPI term of the union FUD = (f. v i, L v l, .... f ^ d } . 1 1' 2 2 m m Definition $.2.2 : An alterm is called a T-MOPI alterm of F if this alterm is a MOPI alterm of F and is implied by no don't-care in D. An alterm is a D-MOPI alterm of F if this alterm is a MOPI alterm of the union of Definition $.2.3 : A term is called a T-MOCO term of F if this term is a MOCO term of F and is implied by no don't-care in D. A term is a D-MOCO term of F if this term is a MOCO term of the union F U D. Definition 5.2.k : An alterm is called a T-MOCO alterm of F if this alterm is a MOCO alterm of F and is implied by no don't-care in D. An alterm is a D-MOCO alterm of F if this alterm is a MOCO alterm of the union F U D. Definition $.2.$ : The collection of all T-MOPI terms of F is called T -basic set of MO elements of F. The collection of all D-MOPI terms of F is called D -basic set of MO elements of F. Similarly defined are the 97 T-sufficient set of MO elements .md the D-sufficient set of MO elements of F. Definition 5-2.6: Let 0. be either an OR- JOINT or an AND-JOINT Boolean i form which defines an output function f., f. =<£>.. . is called a 1111 T-Boolean form of f. if f. = <£>. and there exists no don't-care condition ill in d. which implies $. . 0. is called a D-Boolean form of f . if f . v d. = $. . i 11 l ill Definition 5.2.7 : A network r\ ( , <2> p , . .., ) is said to be a T-minimum cost network of outputs f .. , f~, .... f if each <£. is a T-Boolean .r -j. 7 2' m 1 form of f. for i = 1, 2, ..., m and there exists no other network t) ($'-,, ^'p' •••> $' ) which costs less than i\ ( , $ p , . .., $ ), where <$'. is also a T-Boolean form of f. for i = 1, 2, .... m. 1 1 ' ' ' Similarly, one can define a D -minimum cost network. Definition 5*2. 8: A network n ( , $„, .... $ ) is said to be a ■ 1' 2' m D-minimum cost network of outputs f n , f„, .... f if $. is a D-Boolean form e 1' 2' m 1 of f. for i = 1, 2, . .., m and there exists no other network r) (<$',, ^'p 7 "*' $* ) which costs less than ri ($.. , <$~, .... 3> ) and every $'. is also a m ' 1' 2' ' m 1 D-Boolean form of f. for i = 1, 2, ..., m. The proper implication relation and the inclusion relation are also defined. Definition 5*2.9 : Let P and Q, be two Boolean expressions (terms, alterms, or functions). Then P and Q are said to have proper implication relations if either P implies Q or Q implies P but P ^ Q. Definition 5.2.10 : A set S p is said to imply another set S 1 if each member of S is implied by some member of S p . 5.3 Theorems In this section, some properties relating to the existence of T-MO elements and D-MO elements are investigated, where a T-MO element may be a T-MOPI term, a T-MOPI alterm, a T-MOCO term, or a T-MOCO alterm. 98 Similarly, a D-MO element may be a D-MOPI term, a D-MOPI altera, a D-MOCO term, or a D-MOCC altera. If a function f. is incompletely specified, its complemented function f . is also incompletely specified. Both f. and f. have the same don f t-care conditions denoted "by d. . Then it is clear that f . • f . = d. which is in J x 111 contrast to the completely specified case where the right hand side of the equality is 0. The above basic property of an incompletely specified function will be used later. In the following, a relationship between T-MO elements and D-MO elements is given first. Theorem 5. 3.1 ; For any T-MOPI term of F, there exists at least one D-MOPI term of F which is implied by the T-MOPI term. Proof : Let T. be this T-MOPI term with respect to the product of the subset of functions in F, f. • f. • ... • f. . 3 1 a 2 3 £ By Definition 5-2.1, T. implies f. • f . • . . . * f . . Let the don't-cares of the product of functions f. • f. * ... • f. be °1 J 2 3 £ denoted by d. Then, there exists at least one prime implicant of the disjunction T. ^ d, say T 1 ., such that T 1 . is implied by T. . But according to the definition of the D-MOPI term, T'. is a D-MOPI term. 7 l Hence, the statement of the theorem is true. Similarly, the case that T. is a T-MOPI term with respect to the product of functions \ • f. • ... ' f. J l 3 2 3 l can be proved. Q.E.D. 99 In terms of T- and D-basic set of MO elements, we get the following theorem. Theorem 5- 3-2 : The T-basic set of MO elements of F implies the D-basic set of MO elements of F. Proof : According to Definition 5«2.5> the T-basic set of MO elements is the collection of all T-MOPI terms and the D-basic set of MO elements is the collection of all D-MOPI terms. But by Theorem 5-3-1 every T-MOPI term implies at least one D-MOPI term in the D-basic set of MO elements. Hence, the D-basic set of MO elements is implied by the T-basic set of MO elements. Q.E.D. Similar to Theorem 5- 3«1> there are the following three theorems. Theorem 5-3-3 : For any T-MOPI alterm of F, there exists at least one D-MOPI alterm of F which is implied by the T-MOPI alterm. Theorem 5- 3 -4 : For any T-MOCO term of F, there exists at least one D-MOCO term of F which is implied by the T-MOCO term. Theorem 5-3-5 : For any T-MOCO alterm of F, there exists at least one D-MOCO alterm of F, which is implied by the T-MOCO alterm. In summarizing the results of Theorems 5-3«l> 5*3-3 through 5-3-5> we get the following theorem. Theorem 5-3-6 : The T-sufficient set of MO elements of F implies the D-sufficient set of MO elements of F. Similar to Theorem 2.4.2, there is the following theorem. Theorem 5-3-7 : Under the cost function defined in Section 1«3> there exists a D- (T-) minimum cost two-level network r\ (0, , 3> 2 , ••-, $ ) realizing a given set of incompletely specified output functions f,, fp, . . . , f , where f . v d. =0. (f . = $. ) for all i = 1, 2, . . . , m such that every Boolean form, either . or $. , is expressed in disjunction of terms 100 and alterms contained in the D- (T-) sufficient set of MO elements of the set of output functions F = {f , f ? , ..., f ). Some relations between a D-minimum cost network and a T-minimum cost network realizing the same set of output functions F = (f_, f„, . .., f } are shown in the next two theorems. Theorem 5- 3- 8: Let $. be a D-Boolean form of f. in a D-minimum cost network ri (<£> , $_, .... $ ) and $'. be a T-Boolean form of f. in a T-minimum cost ' 1' 2' ' nr l l network r\ ($>\, ' , ...,$' ). Both ri (3> , c£> , . .., $ ) and ti ($', $*„> 1 1 2 m '12 m '12 . •-, $ f ) realize F = {f_, f_, .... f ). Then each term or alterm in m 1' 2 7 ' m either 0. or $. is implied by some term or alterm in either $'. or $*.. i l * J 11 Proof : Assume that there is a term T. in . which is not implied by any other term T., j / i, or alterm A, in $'.. Then, for some input combination, there is a case where either the term T . = 1 or the alterm A = 1, but T. = 0. l For this particular input combination one may have *. =1 and <£. = 0. This contradicts the assumption that <$>. is a D-Boolean form of the network T) ($,, $ , . .., $ ), since from $. = f. v d. and $». = f . , ill li $ ' . must imply $ . . The other cases can be similarly proved. Q.E.D. From the above theorem, the following important result can be stated. Theorem 5. 3*9 : If for a given set of incompletely specified functions F = {f , f , ..., f } there exist a T-minimum cost network and a D-minimum 12 m cost network, both of which realize F, then the cost of the D-minimum cost network is not greater than the cost of the T-minimum cost network. Theorem 5«3«9 gives the assurance that the solution of the minimization 101 problem with don't-cares will always yield a D-minimum cost network which has no greater cost than a T -minimum cost network realizing the same set of given output functions which are incompletely specified. This is all the reason why we want to study the minimization problem with don't-cares. 5*h The Generation of D- and T-Basic Sets of MO Elements This section describes the method of generating D- and T-basic sets of MO elements, which respectively are the collections of D- and T- MOPI terms for the given set of output functions f-, f p , . .., f which are incompletely specified. The generation of the T-basic set of MO elements for a given set of incompletely specified output functions is as follows: (1) Set the functional values for those input combinations which are don't-cares to 0. This is done for every incompletely specified function. The set of output functions are then made completely specified. (2) Apply the same generation procedure described in Chapter 3 to generate the basic set of MO elements for this set of output functions which are made completely specified. The procedure is not repeated here. However, the method of forming the binary character e* corresponding to the above step (l) is given. Let {f , f , . .., f } be the set of output functions which are incompletely specified. One can form the binary character e* = (e_: e' , e"p) for each input combination, where e. is the identifier part and e* = (e' , e" ) is the tag part. And, e, : The sequence of or 1 which represents the input combination. This is the same as that in Section 3*2. £' : Its i-th component is a dash (-) if € ] is a true input combination 102 or a don't-care of f . , where i = 1, 2, . . . , m. • H € pi Its i-th component is if £ is a true input combination or a don't-care of f . . Its i-th component is a dash (-) if € is a false input combination of f . , where i = 1, 2, . . . , m. After the formation of the binary character e* for every input combination, one can apply the McCluskey tabular method to obtain the T-basic set of MO elements. The procedure for generating the D-basic set of MO elements consists of two steps. The first step is to find the baset set of MO elements for a set of completely specified functions which are obtained from the given set of incompletely specified output functions. This differs from that in the generation of T-basic set of MO elements in the above in the way of obtaining the completely specified functions from the given set of incompletely specified output functions. Here, the functional values of all don't-cares are set to 1 for both f. (i.e., true input combinations) and f. (i.e., false input combinations) while they are set to for both f. and f. in the generation of the T-basic set of MO elements. The 11 & second step is to find a minimum set of MO elements to form the D-basic set of MO elements. This minimum set of MO elements must be implied by the T-basic set of MO elements. For the first step, as before, we form the binary character €* for every input combination first, where €* = (e_: €*) = (e_: e', €" ) and e_ : The same e part as that in the generation of T-basic set of MO elements. €' : Its i-th component is a dash (-) if the €.. part is either a true input combination or a don't-care of f., for i = 1, 2, . . . , m. Otherwise, the i-th component is 0. e" : Its i-th component is a dash (-) if the e part is either a false 103 input combination or a don't-care of f. for i = 1, 2, . .., m. Otherwise, the i-th component is 0. After the e* characters are formed, the McCluskey tabular method is applied to find the basic set of MO elements. An example given in Table 5-1 at the end of this chapter illustrates the procedure stated above. The T-basic set of MO elements is shown in Table 5.2, and Table 5-U shows the result of application of the first step above. Next, one wants to find a minimum D-basic set of MO elements from the result obtained in the last step. This is done by a scheme similar to that used in the minimum covering problem. An implication table is first set up (as shown in Table 5-5) to find the implication relation between the members of the T-basic set of MO elements (represented by the unprimed alphabet letters on the horizontal top line) and the members of the MO elements in the result of application of the first step (represented by the primed alphabet letters on the left most column). A cross (x) is placed in column k and row o' of the implication table if the following conditions hold: (1) the term represented by k implies the term represented by o'. (2) the e£ part of the term o* has a dash (-) whenever the e* part of the term k has a dash in the corresponding position. This is done for a.n columns and rows. The implication table is to be simplified by the following procedures. 1. Row selection. A row is selected if this row is the only row that has a cross (x) in a column. Whenever a row is selected to be included in a solution, this row is deleted and all the columns which have crosses in that row are also deleted. 2. Column elimination. A column can be eliminated if there exists another ioU column such that for each row there is a cross in the column whenever there is a cross in the other column. 3« Row elimination. A row can be eliminated if there exists another row which has a cross in each column whenever there is a cross in this row of the same column. The above procedure must be repeatedly applied until no more columns and rows can be eliminated or selected. If no more columns are left, the (22) implication table is "simplified", otherwise, a cyclic table results which can be solved by the following procedure. The procedure for solving a cyclic table is described in the following, which is similar to but differs from that of McCluskey's in two points: 1. Starting from a column, an arbitrary row is selected in McCluskey's method, while we use the existence of the distinguished fundamental product to determine whether a row is to be selected or not. 2. Every row must be tried for selection, one at a time, in McCluskey's method while we terminate the procedure for a column once a row is selected. Procedure for solving a cyclic table. (a) Write down the cyclic table which is the remaining part of the implication table after row selection, column elimination and row elimination. (b) Let us consider the first column of the cyclic table. One finds rows which have crosses in that column. For simplicity, assume that they are a', b', c', d', and so on, and without loss of generality, let d' imply c', c' imply b' which implies a'. (c) Compare the €* parts of d' and c'. Detect positions in the €* = (e', e" P ) parts of d' and c' which have dashes in the e* part of d' but not in the corresponding positions of c'. Let those positions 105 in €* portion of e£ part be i-th, j-th, etc., and that in the e" p portion be k-th, i-th, etc. (d) Remove the fundamental products which are donH-cares of f. • f ••• and those of f • f« ••• from the set of fundamental products which imply the term d'. Check if any one of the remaining fundamental products which imply d' is a distinguished fundamental product. If yes, then d' is selected and go to step (e). (Steps (b), (c), (d) will be repeated for the next column. ) Otherwise, d' is not considered. Then do steps (b), (c), (d) by treating d 1 and c' instead of c 1 and b', respectively. This is done for a ll a*, b 1 , c', ..., of this first column. Finally either some row is selected, or a' is selected if a' is the only one left after this step. (e) Delete all columns which have crosses in the row just selected. (f) Treat the next column by repeating steps (b), (c), (d) and (e), until no column is left, in which case the procedure terminates. The collection of all rows selected is the desired set of MO elements. In addition to this set, the set of MO elements obtained by "simplying" the implication table is then used to construct the D -basic set of MO elements. This is done by employing the following process. a. List all MOPI terms which remained in the implication table, even after elimination or selection. b. Check if any one of those MOPI terms is implied by some MOPI term of the MO elements set which are selected in the above procedure of simplying the implication table (including the cyclic table.) If yes, denote the former MOPI terms by o^s and the latter MOPI terms by q"s, otherwise, stop. c. If the e* (or e" ) of q* has a dash whenever the corresponding position of e' (or e" ) part of o* has a dash, then select o'. io6 d. Combine these MOPI terms obtained in step c and the MO elements obtained from the implication table, the D-basic set of MO elements results. For the example of Table 5.1, the implication table and the cyclic table are shown in Tables 5«5 and 5»6, respectively. Table 5*7 shows the solution of the implication table, and finally Table 5.8 gives the D-basic set of MO elements. The term with star sign (*) in Table 5*8 indicates that they are terms which are not included in Table 5«7« After the D-basic set of MO elements is found, the minimization procedure follows in the same way as described in Chapters 3 and k. 107 Table 5»1« Example The following functions are given: x ± , x 2 , x 3 , x k ) = z (2, 3, 5, 7, 8, 9, 10, 11, 13, 15) x x , x 2 , x 3 , x^) = E (2, 3, 5, 6, 7, 10, 11, lU, 15) x x , x 2 , x 3 , x^) = L (6, 7, 8, 9, 13, Ik, 15) x x , x 2 , x 3 , x^) = Z (0, 1, Ik) 1 , x 2 , x 3 , x^) = Z (i+, 8, 13) X x ± , x 2 , x 3 , x^) = E (0, 1, 3, 11) i x l X 2 X 3 x k f f 1 2 f 3' f i f f 2 x 3 d d d - d 1 1 a o d d - d 2 1 - - - U 1 d - d - 8 1 - d - d 3 1 1 - - d d 5 1 1 - - - 6 1 1 - - - 9 1 1 - - - 10 1 1 - - - 12 1 1 - - - 7 1 1 1 - - - 11 1 1 1 - - d d 13 1 1 1 - d - d lit 1 1 1 d - - d 15 1 1 1 1 _ _ _ e* = (e-jj e*) = (e-j.: e« 2 , e" 2 ) 108 Table 5.1. (continued) Table of €*- terms for Generating T-basic Set of MO Element fe l ) «', 2 e 2 i x l X 2 X 3 x k f l f 2 f 3 5 1 f f 2 3 - 1 1 - 2 1 - - - k 1 - - 8 1 - - 3 1 1 - - 5 1 1 - - - 6 1 1 - - - 9 1 1 - - - 10 1 1 - - - 12 1 1 - - - 7 1 1 1 - - - 11 1 1 1 - - 13 1 1 1 - - Ik 1 1 1 - - 15 1 1 1 1 _ _ _ 109 ' ible 5-2. T-Basic Set of MO Elements MO PI €' 2 e" 2 Symbols Terms Fundamental Products f l f 2 f 3 ? 1 \ h a * 3 (2, 3, 6, 7, 10, 11, Ik, 15) - b \*k (9, 11, 13, 15) - c Xp X._ (6, 7, 1^, 15) - - d X 2 X k (5, 7, 13, 15) - e X. i X h (3, 7, 11, 15) - - f X. L X 2 (8, 9, 10, 11) - g x 2 x 3 (2, 3, 10, 11) - - - h x l H x h (13, 15) - - i x l X 3 X U (11, 15) - - d X 2 X 3 X ^ (7, 15) - - - k X l ^ x 3 (10, 11) - - - 1 X l * 3 \ (9, 13) - - - m X 2 X 3^ (6, 1*0 - - - n X l X 2 X ^ (5, 7) - - o X l x 2 x 3 (8, 9) - - - P *2 X 3 X ^ (K 12) - - - q X l X 2 X i| (*, 6) - r X l X 2 x 3 (^ 5) - s *2 X 3 X ^ (2, 10) - - - t X l X 2 X 3 (2, 3) - - u X 2 ^ 3 > (1, 9) - V X l x 2 x 3 (0, 1) - - - w X l X 2 x 3 X h (5) - - - X x l x 2 x 3 x l+ (6) Q - - - y x l x 2 x 3 X h (9) - - - z x l x 2 x 3 x k (12) - - - 110 Table 5-3- Table of e*-terms for Generating D-Basic Set of MO Elements i x l X 2 x 3 x k f f f 1 2 x 3 f f X l 2 f 3 Check marks** - - - - - r 1 1 - - - - - r 2 1 - - - V k 1 0-0 - - - 8 1 M mm _ - 3 1 1 - - - - V 5 1 1 - - - 6 1 1 - - - Y 9 1 1 - - - • 10 1 1 - - - r 12 1 1 — — — 7 1 1 1 11 1 1 1 13 1 1 1 Ik 1 1 1 K 0- V 0-0 -00 • 15 1111 ___ 000V ** Check mark (/) is placed whenever the row is combined with some other row. Ill Table 5-4. Result of Step 1 of the Generation of D-Basic Set of MO Elements Symbols Terms Fundamental Products e ' 2 2 a X 3 (2, 3, 6, 7, 10, 11, Ik, 15) 0-0 b x 4 (1, 3, 5, 7, 9, 11, 13, 15) - c X 2 (0, 1, 2, 3, 8, 9, 10, 11) - a x l x 3 (10, 11, Ik, 15) - - e x l x 4 (9, 11, 13, 15) - - f x 2 x 3 (6, 7, 1^, 15) - - g X 2 X 4 (5, 7, 13, 15) - - h' x 3 X k (3, 7, 11, 15) - - - i 1 X 1 X J (8, 9, 12, 13) 0-0 y Xg x^ (4, 6, 12, 14) -00 k" X l X 2 (^ 5, 6, 7) 0-0 i' Xg x 3 (2, 3, io, n) - - 0- m 1 X 2 X 4 (1, 3, 9, 11) - - n 1 X 3 X 4 (0, k, 8, 12) 0-0 o" x 2 x 3 (0, 1, 8, 9) - - 0-0 P 1 x l x 3 (0, 1, k, 5) 0- q' x l x 2 (0, 1, 2, 3) - 0- r ' x l x 2 x 3 (1^, 15) - '- - s 1 X l X 2 X k (13, 15) - - - t" x l x 3 X 4 (10, 14) - - u 1 x l x 3 X 4 (9, 13) - - 0-0 v' x 2 x 3 x 4 (6, 14) - - -00 w' x 2 x 3 X 4 (3, n) - - - 0- x' X l X 2 X 4 (8, 10) - - y' X l X 2 X 4 (k, 6) 0-0 -00 z" X 2 X 3 x 4 (k, 12) 112 V x l *2 x 3 V x l X 3 *k V x l X 2 X k V *1 *3 *k V x l X 2 X 3 f l* X 1 X 2 X 3 X ^ •l' X 1 X 2 X 3 X ^ V 1 P x 3 x ^ V X_ Xp X 3 X ^ V X- Xp X 3 X ^ Table 'j.k. (continued) (k, 5) 0-0 0- (1, 5) - 0- (1, 3) - - 00- (o, 10 (0, 1) - - _ _ _ 0-0 - - 0- 0-0 0-0 113 Table 5.-.,. Implication Table Members of the T-Basic Set of MO Elements in Table 5.2. abcdefghijklmnopqrstuvwxyz a 1 x b» xx c* x d» x e* x x g' x x h* xxx M y x O H) g 1' XX XX o fl> „ I m H- °* XXX 3 — g P* x H 0) q l vn r r« v» x X y* Ilk Table 5.5- (continued) abcdefghijklmnopqrstuvwxyz a-' x b i c ] d i !i! f i s i "i h h X 115 Table 5.6. Cyclic Table b h q r term 6 ' 2 e " 2 FP b' x *k - (1* 3, 5, 1, 9, 11, 13, 15) e' x X X l\ - - (9, 11, 13, 15) y X X 2*k - (k, 6, 12, 1U) p f X x l x 3 0- (0, 1, 4, 5) s' X x l *2 X U - - - (13, 15) y» X x l x 2 x i»- 0-0 - [h, 6) -1' X X_ Xp x„ 0-0 0- (h, 5) The following notations are used in solving the cyclic table, Table 5«6 which is described below. 1. FP: fundamental product. 2. DFP: distinguished fundamental product. 3. Circled numbers in FP column are those fundamental products which are don't-cares. Steps in solving the above cyclic table, Table 5*6: 1. In column b, rows b' and e 1 : The FP 11 is a don't-care for f_ and FP 13 is a don't-care for fp, so FP 11 and FP 13 are deleted. Neither FP 9 nor FP 15 is a DFP. Hence, b' is selected. 2. In column h, rows e* and s*: The FP 13 in s* is a don't-care for fp, so FP 13 is deleted. FP 15 in s* is not a DFP. Hence, e' is selected. 3» In column q, rows j* and y*: The FP k in y' is a don't-care for fp, so FP k is deleted. FP 6 in y' is not a DFP. Hence, j ' is selected. h. In column r, rows p* and a~ ': The FP h in a- 1 is a don't-care for f 2 , so FP k is deleted. FP 5 in a* is not a DFP. Hence, p' is selected. 116 Table 5- 7* The Solution of the Implication Table lbols MOPI terms Fundamental Products « f 2 e 2 a» X 3 (2, 3, 6, 7, 10, 11, ll+, 15) 0-0 c« X 2 (0, 1, 2, 3, 8, 9, 10, 11) - e' X l X i^ (9, 11, 13, 15) - - f« X 2 X 3 (6, 7, 1^, 15) - - g' X 2 X i+ (5, 7, 13, 15) - - h* X 3 X U (3, 7, 11, 15) - - - y X 2 x k (4, 6, 12, l>f) -00 i» x 2 x 3 (2, 3, 10, 11) - - 0- 0« X 2 X 3 (0, 1, 8, 9) - - 0-0 p' x l x 3 (0, 1, k, 5) 0- u« x l x 3 x h (9, 13) - - 0-0 v» x 2 x 3 x k (6, 14) - - -00 z« x 2 x 3 X U (4, 32) - - - e l' "i ^p ^^ (0, 1) - - _ _ y x l x 2 x 3 x h (5) - - 0- JO PI terms X 3 x h h x l x 3 x l x i* X 2 X 3 X 2 X k x 3 x k x l x 3 x 2 x k X 1 X 2 X 2 X 3 x 2 x 3 x l x 3 X 1 X 2 x l x 3 x h x 2 x 3 X k X l X 2 X ^ X l X 2 X k X 2 X 3 X U X_ Xp x_ x l x 3 X h x l x 3 X 4 x ] _ x 2 x 3 x l x 2 x 3 x h 117 Table 5.8. The D-Basic Set of MO Elements Fundamental Products (2, 3, 6, 7, 10, 11, Ik, 15) (1, 3, 5, 7, 9, 11, 13, 15) (0, 1, 2, 3, 8, 9, 10, 11) (10, 11, 1^, 15) (9, 11, 13, 15) (6, 7, 1*+, 15) (5, 7, 13, 15) (3, 7, H, 15) (8, 9, 12, 13) (h, 6, 02, 1U) (^ 5, 6, 7) (2, 3, 10, 11) (0, 1, 8, 9) (0, 1, k, 5) (0, 1, 2, 3) (9, 13) (6, 1*0 (8, 10) (h, 6) (^ 12) (^ 5) (1, 5) (0, ^) (0, 1) (5) «'* €" e 2 0-0 -00 -00 - - - - - - - - - - - 0-0 -00 0-0 - - 0- - - 0-0 00- -00 0- - - 0-0 - - -00 - - 0-0 -00 - - - 0-0 0- -00 00- - o - - - 00- 118 LIST OF REFERENCES 1. Abhyanker, S., "Minimal Sum of Products of Sum Expression of Boolean Functions", IRE Transaction on Electronic Computers , EC-7, pp. 268- 275, December 1958. 2. Abhyanker, S., "Absolute Minimal Expressions of Boolean Functions", IRE Transaction on Electronic Computers , EC-8, pp. 3-8, March 1959* 3. Akers, S. B. Jr., "A Diagrammatic Approach to Multiple Level Logic Synthesis", IEEE Transaction on Electronic Computers , EC-l^, pp. 17^- 181, April 1965. k. Akers, S. B. Jr., "A Truth Table Method for the Synthesis of Combinational Logic", IRE Transaction on Electronic Computers , EC -10 pp. 60U-615, December 1961. 5. Bartee, T. C, "Computer Design of Multiple Output Logical Networks", IRE Transaction on Electronic Computers, EC-10, pp. 21-30, March 1961. 6. Bartee, T. C-, Lebow, I. L., Reed, I. S., Theory and Design of Digital Machine , McGraw Hill Book Company, N. Y . , 1962 . 7. Burke, R. E., and Van Bosse, J. G , "NAND-AND Circuits", IEEE Transaction on Electronic Computers , EC-lU, pp. 63-65, February 1965. 8. Caldwell, S. H. , Switching Circuits and Logical Design , John Wiley & Sons, Inc., N.Y., 1958. 9. Chu, J. T., "Some Methods for Simplifying Circuits Using Don't-Care Conditions", ACM Journal , pp. ^97-512, 1961. 10. Cobham, A., Fridshal, R., and North, J. H. , "An Application of Linear Programming to the Minimization of Boolean Functions", Symposium on Switching Theory and Logical Design , 196 1 . 11. Dietmeyer, D. L., and Schneider, P. R. , "identification of Symmetry, Redundance, and Equivalence of Boolean Functions", IEEE Transaction on Electronic Computers , EC-16, pp. 8C4-817, December 1967* 12. Ellis, D. E., "A Synthesis of Combinational Logic with NAND and NOR Elements", IEEE Transaction on Electronic Computers , EC-lU, pp. 701- 705, October 1965. 13. Ghazala, M. J., "irredundant Disjunctive and Conjunctive Forms of a Boolean Function", IBM Journal , April 1957« LU. Gimpel, J. F. , "The Minimization of TANT Networks", IEEE Transaction on Electronic Computers , EC-16, pp. 18-38, February 1967. 15. Gimpel, J. F-, "A Redundant Technique for Prime Implicant Table", TFiKfl Transaction on Electronic Computers , EC-14, pp. 535-5^1, August 1965. 119 16. Harris, B. , "An Algorithm for Determining Minimal Representation of Logical Function", IRE Transaction on Electronic Computers , EC-16, pp. 103-108, June 1957. 17. Hohn, F. E., Applied Boolean Algebra — An Elementary Introduction , The MacMillan Company, N.Y., 1966. 18. Karnaugh, M. , "The Map Method for Synthesis of Combinational Logic Circuits", AIEE Transactions , Vol. 72, pp. 593-598, 1953. 19. Lawler, E. L., "An Approach to Multiple -Level Boolean Minimization", Journal of ACM , Vol. 11, No. 3, pp. 283-295, Jul^r I96U. 20. Maley, G. A. , and Earle, J. , "Synthesizing Multiple -Output Switching Networks", 7th Annual Symposium on Computer and Data Processings, Denver Research Institute, Estes Park, Colorado, July 28-29, i960. 21. McCluskey, E. J., and Bartee, T. C, editors, Minimization Theo A Survey of Switching Circuit Theory , McGraw Hill, N.Y., pp. 67- 22. McCluskey, E. J., Introduction to the Theory of Switching Circuits , McGraw Hill, N.Y., 1965. 23. McCluskey, E. J., and Schorr, H. , "Essential Multiple -Output Prime Implicants", Symposium on Mathematical Theory of Automata, Polytechnic Institute of Brooklyn, April 1962. 2k. McNaughton, R. , and Mitchell, B. , "The Minimality of Rectifier Net with Multiple Outputs Incompletely Specified", Journal of Franklin Institute , Vol. 26k, No. 6, pp. 457-U60, December 1957- 25. Meo, A. R. , "On the Minimal 3rd Order Expression of a Boolean Function", AIEE Symposium on Switching Theory and Logical Design , Chicago, September 1962. 26. Miller, R. E. , "Switching Theory", Vol. I., Combinational Circuits , John Wiley & Sons, Inc., N.Y. 27. Motts, T. H. Jr., "An Algorithm for Determining Minimal Normal Forms of an Incomplete Truth Function", IEEE Transaction on Electronic Computers , EC -10, pp. 73-76, March 1961. 28. Mueller, R. K. , and Urbana, R. H. , "A Topological Method for the Determination of the Minimal Forms of a Boolean Function", IRE Transaction on Electronic Computers , Vol. EC-5> No. 3« > PP« 126-132, September 1959- 29. Phister, M. J. Jr., Logical Design of Digital Computer , John Wiley & Sons, Inc., N.Y., 1958. 30. Polansky, R. B. , "Minimization of Multiple -Output Switching Circuits", AIEE Transaction on Communication and Electronics , pt. 1, Vol. 80, No. 53 , pp. 67-73, March 196I. 120 31. Prather, R. , Introduction to Switching Theory — A Mathematical Approach , Allyn and Bacon, Inc., Boston, Massachusetts, 1967. 32. Pyne, I. B. , and McCluskey, E. J. Jr., "An Essay on Prime Implicant Tables", SI AM , No. k, pp. 60U-63I, December 1961. 33- Quine, W. V. , "A Way to Simplify Truth Functions", American Mathematics Monthly , Vol. 62, No. 9, pp. 627-631, November 1955* 3^. Roth, J. P. , "Minimization Over Boolean Trees", IBM Journal of Research and Development , No. k, 5> PP« 5^3-558, November i960. 35« Schneider, P. R. , and Dietmeyer, D. L. , "An Algorithm for Synthesis of Multiple -Output Combinational Logic", IKNE Transaction on Electronic Computers , EC-17, pp. 117-128, February 1968. 36. Su, Y. H. , and Dietmeyer, D. L. , "Computer Reduction of Two-Level Multiple -Output Switching Circuit", IEEE Transaction on Electronic Computers , EC-18, pp. 58-63, January 1969. 37« Torng, H. C. , Introduction to the Logical Design of Switching Systems , Addi son-Wesley Publishing Co., Inc., Reading Massachusetts. 38. Vandling, G. C. , "The Simplification of Multiple -Output Switching Networks Composed of Unilateral Devices", IRE Transaction on Electronic Computers , EC -9, No. h, pp. ^77-486, December i960. 39' Weiner, P., and Dwyer, T. F. , "Discussion of Some Flaws in the Classical Theory of Two-Level Minimization of Multiple Output Switching Networks", IEEE Transaction on Electronic Computers , EC-17, No. 2, pp. I&V186, February 1968. 121 APPENDIX A AN EXAMPLE FOR SECTION 2.3: HEURISTIC REMARKS This is to illustrate why in the definition of a MOCO term it is not necessary either for a MOCO term to be a MOPI term of a product of some functions or for the complement of a MOCO term to be a MOPI alterm of a product of some complemented functions. Let a minimum network be given for four output functions f , f , f , f, f = t> = • • • v x x x ^ x x ^ ' * ' OR- JOINT f = $ = * ' * v x x x n/ x X v • • • OR- JOINT f = $ = "• (*••) (x 1 x 2 x ) x^ AND-JOINT f k = ^1+ "* " ('"^ ^ x i x 2 X 3^ X l+ AND-JOINT where the term x.. x x is a MOCO term according to Definition 2.2. U. From the above Boolean expressions of f and f it is clear that x x ? x is not a MOPI term for f and f p since the MOPI term of f and f is x x (or possibly, x or x p because of other terms of f or f ). Similarly, from the Boolean expression of f and f. , x^ ^ x ? ^ x_ = (x x x ) is not a MOPI alterm of f f, since the MOPI alterm of f and f, is x ^ x ^ x„ ^ Xi . Neither the use of the MOPI term x x nor the use of the complement of the MOPI alterm x ^ x ^ x -^ Xi i.e., x x x x, , as a MOCO term will yield a network of lower cost for f , f , f , and f, . This shows that a MOCO term does not have to be a MOPI term of a product of some functions and that the complement of a MOCO term does not have to be a MOPI alterm of a product of some complemented functions. Similarly, one can show that a MOCO alterm does not have to be a MOPI alterm of some set of functions and the complement of a MOCO alterm does not have to be a MOPI term of some other set of the complement of functions. 122 APPENDIX B BRANCH-AND -BOUND METHOD FOR FINDING AN OPTIMAL GROUPING PATTERN ( SEE SECTION 3^-^) There are 2 possible grouping patterns for a set of m output functions. It may be computationally infeasible to find an optimal grouping pattern if all of the 2 possible grouping patterns have to be tested since each test requires many computations for solving the corresponding ILP problem. The scheme to be described here is first to find the smallest set of grouping patterns such that among them the optimal grouping pattern can be found. Then, a systematic testing of each grouping pattern in the smallest set by the branch-and-bound method which reduces the above computational difficulty to some extent is presented. The smallest set here simply means that no more grouping patterns can be removed from the set by any of the elimination rules to be described later. The symbol G is used to denote the smallest set of grouping patterns which can be derived from the sufficient set of MO elements. The reason why the sufficient set of MO elements is used to generate the smallest set of grouping patterns G is as follows. (1) Functions which are expressed in OR-JOINT Boolean form (AND-JOINT Boolean form) are correlated through the MOPI terms and MOPI alterms. For example, the functions f = T v ••• v- ••• (OR-JOINT) f r-. T V ... v ... (OR-JOINT) are correlated to each other through the term T.. .. which is a MOPI term. (2) Functions expressed in OR-JOINT Boolean form are correlated to functions expressed in AND-JOINT Boolean form through the MOCO terms and MOCO alterms. For example, the functions 123 f- = T.. ^ A_2 v • • ■ v • • • (OR-JDINT) f 3 = (A^) (T n ) (...) ... (AND-JOINT) are correlated to each other through the term T and alterm A p which are MOCO term and MOCO alterm, respectively. The optimal grouping pattern is likely to be the one such that the functions having the Boolean forms represented by this optimal grouping pattern are correlated through the largest number of MO PI terms, MO PI alterms, MOCO terms and MOCO alterms. Since the sufficient set of MO elements contains all the MOPI terms, MO PI alterms and MOCO terms and MOCO alterms excluding those MOPI alterms which satisfy the condition of Theorem 2.4.1, so the smallest set of grouping patterns G can be generated from the sufficient set of MO elements. In the following, two grouping patterns will be generated from each MOPI term and MOPI alterm, and one from each MOCO term and MOCO alterm. Rules for reduction of the number of grouping patterns generated from MOPI terms, MOPI alterms, MOCO terms, or MOCO alterms will be given. The notation PI. . is used to denote a MO element which is either a MOPI term or a MOPI alterm in Definition B.l, and is either a MOCO term or a MOCO alterm in Definition B.2. The tag part of the binary character of PI is denoted by e* (i, j) = (e' 2 (i, j), e" 2 (i, j)). However, PI. . and e* (i, j) will be denoted simply as PI and £*, respectively, if they are independent of i and j. Definition B.l: Let PI. . be either a MOPI term or a MOPI alterm, then ij the grouping patterns generated by PI. . are a' (i, j) and a' (i, j). •'-J a* (i, j) = (a* x (i, d), ct' 2 (i, j), •-., cr* m (i, j ) ) ?' (i, J) = (a\ (i, 3), a" 2 (i, j), ..., cr" m (i, j)), where 12H o\ (l, j) = 1, if the k-th component of 6' 2 (i, j) of PI,, is a dash (-)• = -, otherwise. a", (i, j) = 0, if the k-th component of e" (i, j) of PI. . is a dash (-). = -, otherwise. The a 1 (i, j ) corresponds to a grouping pattern in which the output functions whose corresponding components in o^ (i, j") are 1 are correlated through PI. . and are preset to 0R-JOINT Boolean forms. The a" (i, j) corresponding to a grouping pattern in which the output functions whose corresponding components in a" (i> j ) are are correlated through PI. . and are preset to AND- JO INT Boolean forms. For example, if a PI. . has e p (i, j) = (--0 0, -), then two grouping patterns generated by PI . are cT 1 (i, j) = (11 - -) and U a" (i, j) = (- - -0). The grouping pattern a* = (l 1 ) for PI. . means that this PI. . may be shared by f n and f^ which are in 0R-JOUTT ij " ± d Boolean form, and the grouping pattern ff"(i, j)=(---0) for PI. . means that this PI. . may be used by f. only which is in AM)- JOINT Boolean form. Since corresponding to each MOPI term and MOPI alterm in the sufficient set of MO elements two grouping patterns are generated, the number of such grouping patterns is naturally large. However, many of them can be eliminated according to the following rules. Elimination Rules : Rule 1 . Let ct 1 (i, j) (or a" (i, j)) °e a grouping pattern generated from a MOPI term or a MOPI alterm of the sufficient set of MO elements. Then cr 1 (i, j) can be eliminated if there exists another grouping pattern ~a % (k, I) (or a" (k, £)) generated from another MOPI term 125 or MOPI alterm of the same sufficient set of MO elements such that: 1. Whenever a component of o** (i, j) (or a" (i, j)) is 1 (or 0), the corresponding component of a* (k, i) (or a" (k, H)) is also 1 (or 0), and 2. Whenever there is a dash (-) in a component of a 1 (i, j) (or a" (i, j))> the corresponding component of o 1 (k, &) (or a" (k, £,)) is a dash (-) or 1 (or 0). This must be true for every component. For example, if a 1 (i, j ) = (1 1 - -) and 5* 1 (k, £) = (l 1 - 1), then ct 1 (i, j) can be eliminated. It should be noted that in the above Rule 1, the grouping pattern a* (k, &) (or a" (k, i)) has not fewer 1 (or 0) than that of a* (i, j) (or a' (i, j))« Accordingly, there are no fewer output functions in the grouping pattern a"' (k, H) (or a" (k, £)) than that in a' (i, j) (or a" (i, j ) ) which share a MO element. Thus, the grouping pattern o* 1 (i, j) (or a" (i, j)) can be eliminated. In Table B.l, a set of grouping patterns are generated from the sufficient set of MO elements obtained in the example of Section 3*2. The grouping patterns a** (i, j) generated from the MOPI terms in Table B.l are all eliminated except (ill) which is generated from x.. x x. x The grouping patterns a" (i, j) are all eliminated except (-0 0) which is generated from x n x x_ x._. 1^35 Definition B.2 : The grouping patterns generated by a MOCO term or a MOCO alterm PI. . are denoted by ff* M (i, j) = (ff'i 1 (i, d), ff , | l (i, J), •••, o'i 1 (i, J))> where 126 aV* (i> d) = 1 if the k-th component of e* (i> J) of PI., is a dash (-). = if the k-th component of e" (i, j) of PI. . is a dash (-). = - if both the k-th components of €* 2 (i, j) and e"p (i, j) of PI. . are O's. For example, the grouping pattern o ,,,t (i, j) = (110) in Table B.l is generated from the MOCO alterm x 1 v Xp ^ x- whose €* (i, j) = (- - 0) and e" 2 (i, j) = (o o -). It should be noted that the a* ' * (i, j) in Definition B.2 corresponds to a grouping pattern in which the output functions whose corresponding component in a ,,f (i, j) is either 1 or share the PI. . from which the cr ,M (i> d) is generated. The output functions whose corresponding component in Q* • • (i, j) is 1 are preset to OR-JOINT Boolean form and the output functions whose corresponding component in cr 1 * 1 (i, j) is are preset to AM)-JDIITT Boolean form. The Elimination Rule 1 can also apply to the set of grouping patterns a * ' * (i, j) which are generated from either MOCO terms or MOCO alterms. It is restated as Elimination Rule 2. Rule 2 . Let cT* f ' (i, j) and a* * * (k, £) be two grouping patterns generated from either MOCO terms or MOCO alterms. Then a* • ' (i, j) can be eliminated if the component of ex* * * (k, &) is 1 (or 0) whenever the corresponding component of J) to share a PI. . (either a MOCO term or a MOCO alterm.) Hence, the consideration of a"' (i, j) is not necessary and o^ 1 * (i, j) can be eliminated. 127 Table B-l Grouping Patterns Generated from the Sufficient Set of MO elements of the Example in Section 3«2. PI. . a ' (i, J) ?• (i, j) a ,M (i, j) Type of M0 element x l (1 1 -) (- - -) MO PI term X 2 (1 1 -) (- - -) MO PI term X 3 (1 1 -) (- - o) MO PI term x k (- - -) (- - o) MO PI term h (- - -) (- - 0) - MO PI term X l X 2 '- - -) (- - o) MO PI term \S (- 1 -) (- - o) MOPI term X U X 5 (1 - -) (- - -) MO PI term X U X 5 [1 - -) (- - o) MOPI term x l x l. (1 1 -) (- - o) MOPI term X 2 X k '1 1 -) (- - o) MOPI term X l X 2 x 3 X ^ [- - -) (- o 0) MOPI term X-. Xp x._ x 5 I [- - -) (- 0)* MOPI term x l x 2 x h X 5 ;i - -) (- - o) MOPI term x 2 x 3 x h X 5 (i 1 1) (- - -) MOPI term x l x 3 x k X 5 [i i i)* (- - -) MOPI term x l v *2 v x 3 (1 1 0)* MOCO altera x k x ^ (1 - o) MOCO term ^Grouping patterns which are not eliminated by Elimination Rules 1 and 2. 128 For example, the grouping patterns generated from the MOCO alterm x l v x 2 V x 3 anci the M3C0 te:m x h x 5 in Tatle B,:1 - are ( 110 ) and (1 - °)> respectively, (l - 0) is eliminated according to the above Rule 2. In Table B.l there are only three grouping patterns which are not eliminated and marked with stars (*) after the Elimination Rules 1 and 2 are applied to the grouping patterns cr* (i, j), a" (i, j) and a' 11 (i, j). For simplicity sake, the notation cr (i, j) is used to represent either cr' (i, j), ?' (i, j), or o'" (i, j)« cr (i, j) will be used in the rest of this appendix. It is understood that cr" (i, j) is generated from either a MOPI term, MOFI alterm, MOCO term, or a MOCO alterm. More grouping patterns can be eliminated by using the compatibility defined in the following. Definition B-3 : Let 9 = [o (i^ j^), a (ig, j g ), . .., a (i fe , d fc )} be a set of grouping patterns. 9 is called a compatible set of grouping patterns if and only if there exists no component which has 1 (or 0) in a grouping pattern and (or l) in another grouping pattern of 9. For example, 9 = {(1 - - 0), (-010 0)} is a compatible set of grouping patterns. For each compatible set of grouping patterns, a new grouping pattern can be generated which is a representative of the compatible set. cr (p, q), a representative of a compatible set of grouping patterns ® = {cr (i_, o_), o (i 2 > 3 2 )> •••> a (i k , d k )) is defined by: (1) the r-th component of 2 connecting to the same node g where r > i, , t € {1, 2, ..., k} , then disconnect a"U others except one 131 g . where (r-i.) is the minimum over H e (1, 2, . .., k} . if £ I If there are more than one such i*, then choose an arbitrary- one, and disconnect the rest. In the last example, G = {(l 1 0), (-0 0), (1 1 l)}. (- 0) is expanded into (1 0) and (0 0). Thus, G' = ((11 0), (l 0), (0 0), (l 1 l)} which is arranged in the following tree. g (no) g^dn) ,,go-,(000) The above process 2.5 is necessary in order to avoid the repetition of testing of each grouping pattern. For example, the branch connecting g and g^ of the following tree g (1100) gl2 (iooo) (1001) g^dlOl) and the branch connecting g and g of the following tree g (noo) gl2 (noi) g2i(un) are not connected (shown by broken lines) because of the above process 2.5. 3. Let us term the ILP problem formulated according to the method described 132 in Section 3«^.2 and based on the specified grouping pattern represented by the node g. . as "the ILP problem w.r.t. (with respect to) g. .." Let us formulate an ILP problem w.r.t. g first and solve it. Denote the value of the objective function of its optimal solu- tion as c (g )« Define the lowest bound of a network cost c, as the lowest network cost found so far. Set c, = c (g n )» h. Set i = 1 and j = 1. 5« A grouping pattern represented by g. . is then tested by the following means. Since g~ and g has only one component which is different, with no loss of generality, let it be in the k-th component of g and 1 in that of g . . Let the covering coefficient matrix JA- of the ILP problem w.r.t, g be (5-1) Bl, *2 Ik, \ IB Ik m 1 have a solution y' . This does not necessarily be an optimal solution. Then the initial solution of the ILP problem w.r.t. g is set to -O y\ -o -o where only the y vector in (5-2) is replaced by y* . From this solution (5-^) an optimal solution of the ILP problem w.r.t. g- . is obtained and written as: ?: ?\ 13^ whose objective function has a value c (g .)• Then set c b =c ( SlJ ) if c ( glJ ) 6, and 7 until all levels are tested. Let the final lowest cost bound c, = c (g ) where g is one of the nodes in the b pq. pq. tree. Then the optimal grouping pattern is the grouping pattern represented by the node g^ . The minimal network is the optimal solution of the LLP problem w.r.t. e . 135 VITA Frank Tuan-Lin Chen was born in Fuchow, Fuchien, China in June I9U1. He graduated from the Taiwan Provincial Taipei Institute of Technology, Taipei, Taiwan, in Electrical Engineering in June 1961. After his graduation he served in Chinese Air Forces as a reserved officer from July 1961 to September 1962. From September 1962 to May I96U he worked in the AIR ASIA Airline, Inc. In September I96U he began his graduate study at the Iowa State University, Ames, Iowa where he received his MSEE degree in November 1965* Since June 1966, he has been working as a research assistant with the project of ILLIAC IV computer in the Department of Computer Science, University of Illinois, Urbana. He has been a member of Sigma Xi, the Association for Computing Machinery, and Institute of Electrical and Electronics Engineers.