Improved variable-entered Karnaugh map procedures

Improved variable-entered Karnaugh map procedures

Comput. & Elect. Engng Vol. 13, No. 1, pp. 41-52, 1987 Printed in Great Britain. All rights reserved IMPROVED 0045-7906/87 $3.00+0.00 Copyright © 19...

576KB Sizes 0 Downloads 68 Views

Comput. & Elect. Engng Vol. 13, No. 1, pp. 41-52, 1987 Printed in Great Britain. All rights reserved

IMPROVED

0045-7906/87 $3.00+0.00 Copyright © 1987 Pergamon Journals Ltd

VARIABLE-ENTERED MAP PROCEDURES

KARNAUGH

ALl M . RUSHDI Department of Electrical Engineering, King Abdulaziz University, P.O. Box 9027, Jeddah-21413, Saudi Arabia

(Received for publication 16 June 1986) Abstract--An improved variable-entered Karnaugh map (VEKM) procedure for obtaining the minimal disjunctive form of a switching function and a dual procedure for obtaining its minimal conjunctive form are presented. These procedures apply to any general switching function of moderate complexity that can be incompletely specified with respect to all its variables. Existing VEKM procedures are compared to the new ones and are shown to be special cases of them. Various examples are given to illustrate the details of the new procedures and to demonstrate their efficiency and power.

1, I N T R O D U C T I O N

The switching-function minimization problem is a classic problem of switching theory that can'be stated simply as follows: given the TRUE (1) and FALSE (0) functional values corresponding to some specified input combinations for an n-variable switching function, determine a minimal (in some specified sense) form for this function [1]. Traditionally, the aim of the minimization process is to find a 2-level circuit implementation for the given function that has the minimum number of gates, as the primary objective, and the minimum number of connections as the secondary objective. Such an aim is satisfied by either the minimal disjunctive (sum-of-products) form of the function, or its minimal conjunctive (product-of-sums) form, or both [2]. With the introduction of various types of integrated circuits, the cost of logic gates has dramatically decreased, and the major emphasis has shifted from the minimization of gate/connection count to the minimization of package count. Nevertheless, there is still a reasonable degree of correlation between minimizing gate/connection count and reducing package count [3], enough so that minimization in the traditional sense remains very important. Out of the potpourri of methods available for traditional minimization, the method of Karnaugh mapping is distinguished as a quick manual method that provides the user with pictorial insight. However, the Karnaugh map approach suffers the limitation that the function treated can involve up to six variables only. Therefore, suggestions have been made to increase the variable-handling capability of the map [2]. The most important of these suggestions is that of allowing the map to be variable entered. Several procedures using the variable entered Karnaugh map (VEKM) for the traditional minimization of the disjunctive form of a switching function have been reported in the literature; mainly in textbooks [2-8]. Of particular interest are the procedures described by Muroga[2], Fletcher[3] and Rushdi[6]. The VEKM procedure reported by Muroga[2] is a slight extension by L. Dornhoff of the procedure in Refs [4,5]. This procedure requires that the map is entered with simple relatively few disjunctive forms that can involve products of several variables each. The procedure applies to a limited class of switching functions, namely functions that are completely specified or functions that are incompletely specified with respect to only a limited number of variables. Such variables are to be selected as map variables, so that the function treated is guaranteed to be completely specified with respect to all entered variables. None of the products entered in the map can subsume other products, with the exception that the product 1, that is subsumed by all other products, can be entered into the map. 41

42

ALl M. RUSHDI

The variable-entered map procedure of Fletcher[3] applies to general switching functions that can be incompletely specified with respect to both the map and the entered variables. This procedure is basically restricted to the case when only a single variable is entered into the map. It can also be used when single-literal products involving few infrequently-used variables are entered into the map. Recently, Rushdi[6] proposed a new procedure of VEKM minimization that extends Muroga's procedure by allowing general subsumption and consensus relations among the entered products. This new procedure has a better variable-handling capability than Fletcher's procedure since it allows map entries to be multi-literal products of several frequently-used variables, rather than just single-literal products of infrequently used variables. If the function treated is completely specified or incompletely specified with respect to the map variables only, the procedure in Ref. [6] includes Fletcher's procedure as a special case. However, the procedure in Ref. [6] does not handle functions that are incompletely specified with respect to entered variables, while Fletcher's procedure does. In this paper, the procedure in Ref. [6] is improved to allow the treatment of general switching functions that can be incompletely specified in all its variables. In this respect, the present procedure is as general as that of Fletcher[3]. In fact, the present procedure includes Fletcher's procedure as a special case for all types of functions, beside being superior to it in its variable-handling capability. In addition to the improved VEKM procedure for minimizing the disjunctive form of a general switching function, the present paper introduces a novel dual procedure for obtaining the minimal conjunctive (product-of-sums) form. This latter procedure shares the merits of generality and good variable-handling capability, that the former one has. The organization of the balance of this paper is as follows: Section 2 explains how the VEKM can be plotted, i.e. how it can be used to represent a general switching function. Sections 3 and 4 explain how the VEKM can be read to obtain the required minimal forms. Several examples are given in Sections 2-4 to illustrate the details of plotting and reading the VEKM. One more example, that is given in Section 5, is intended mainly for demonstrating the power of the VEKM technique, rather than just illustrating its details. In this example, a 10-variable switching function is minimized, thereby leading to an efficient design of a residue mod 5 subtractor.

2. P L O T T I N G

THE VEKM

The purpose of this section is to explain a procedure for representing a switching function o f n variablesf(X~, X 2 , . . . , X,) via a map o f m variables, where 1 ~
f ( X , , X2 . . . . . X,,, X,,+ , . . . . . 3(,) = . ~ x 2 . . . . g " f o u £ , . ~ 2 . . . x , . f , u . .. u x, x 2 . . .x.,f2._,~

(l)

where

fo=f(O,O,...,O,X,,+,,...

,X,),

f~ = f ( 0 , 0 . . . . ,1,Xm+ I

. . . .

,Xn) .....

ft2,,_l)=f(1,1,...,1,X"+l,...,X,).

(2)

The expansion (1) expresses the n-variable function f in terms of 2" subfunctions f , i = 0 , 1. . . . . ( 2 " - 1 ) which are functions of the (n-m) variables X"+j,X"+2,.. , , X , (henceforth called entered variables). The subfunctions can be obtained in a variety of ways, e.g. (a) I f f is given by an algebraic expression, then its subfunctions f are deduced from it through appropriate assignments to the keystone variables according to equation (2).

Improved variable-enteredKarnaughmap procedures

43

(b) If f is expressed by a truth table (or equivalently by a decimal specification), then the table can be divided into 2" disjoint partitions each of which consists of 2~""~table lines that have the same values for the keystone variables. These partitions represent truth tables for the subfunctions. A useful consequence of the expansion (1) is that the function f c a n be represented by a VEKM that has m map variables XI, 3(2. . . . . X,, and therefore consists of 2mcells whose entries are the appropriate subfunctions in equation (2). Actually, the cell l~or which the product X1)(2... X,, equals the binary representation of the integer i has f as its entry. The above analysis includes other versions of the Karnaugh map as special cases. If the number m of keystone variables is chosen to equal n, Shannon's expansion reduces to the conventional minterm expansion and the VEKM reduces to a conventional Karnaugh map (CKM) whose entries are restricted to the constants 1, 0 and d. On the other hand, the choice m = ( n - 1) corresponds to the basic Fletcher's variable-entered map (FVEM) whose entries can include a single map-entered variable in addition to the aforementioned constants [3]. In general, the switching function f is assumed to be incompletely specified, i.e. it is defined through a pair (g, h) of switching functions g and h such that: {g = 1} implies {f = 1}, and

[{g = 0} n {h = 0}] implies {f = 0}.

Following the usual notation, f is written in the form: f -- g U d (h).

(3)

The subfunctions f o f f are given by:

f = g, U d (hi),

(4)

where gi and hi are the corresponding subfunctions of g arid h respectively. As a first step towards minimization of f, all the subfunctions gi and hl are written in minimal sum-of-product (s-o-p) forms by using standard algebraic or map techniques [2]. Products appearing in these forms will be respectively called asserted and don't care selected prime implicants of the corresponding subfunctions. The following two illustrative examples deal with switching functions of n --- 4 and n = 5 respectively. Such small values of n ensure simplicity of the examples, and are not intended to set the limit or typical value of n for which the VEKM is to be used. A more realistic n for the VEKM ranges from 7 to 12 [6].

Example 1 Consider the function f ( A , B, C, D) given by the truth table in Fig. 1, which is taken from Ref. [3], p. 165. Choosing A and B as keystone variables and C and D as entered variables, the table is partitioned into the 4 tables shown representing fo, f~, f2 and f3. Hence, the VEKM representing f is as shown in Fig. 2.

Example 2 A fairly complex 5-variable functionf (A, B, C, D, E) given in Ref. [9], p. 929 is defined algebraically by equation (3) and

g = 74B-~ UABE UTtD~ UTiCa, U B~DF, UACDE h = 71E UA~C~, UAB~E UB~DE. The three most frequently used variables o f f are E, A and B, so it will be viewed as f = f ( E , A, B, C, D). Figure 3 shows the expansion tree f o r f a b o u t the 3 variables E, A and B. The root of the tree is the functionfitself, while the next level of the tree contains the 2 subfunctions of f obtained by expansion about E. The lower levels of the tree correspond to expansions about A and then about B. The 8 subfunctions at the lowest level of the tree are the entries of the VEKM shown in Fig. 4.

44

ALl M. Rusrtl~l

I

Map

I Entered I variables

variables

A

B

I

C

D

f

0

0

d

0

1

d

1

0

1

1

0

o

o

1

0

1

1

I

o

I

0

"

I

0

0

0

0

I I I

o

0

II

fo

I I

0

1

0

1

0

1

0

1

I I I

1

1

0

1

0

I

0

0

0

0

I

0

1

0

1

1

1

1

0

1

0

1

0

I

I I I I

i I

I

f2

1

I . . . .

I. . . . . . . .

1

I

1

0

0

0

0

,

©

1

0

0

1

,

Q

I

1

1

I I

1

1

I

1

1

I

I

f3

I i

Fig. 1. Partitioning the truth table for f(A, B, C, D) to obtain its 4 subfunctions.

A

f o : C 5 ud(C)

B I

fl=~

ud I C D ]

f2 = C

f3 = CD ud (CD1

Fig. 2. A VEKM representingf(A, B, C, D) in Fig. 1.

45

Improved variable-entered Karnaugh map procedures

E =

A=

B=O

DuC

i

d (C)

~'O

d

d

1

C'D o d ( ~ )

Fig. 3. Expansion tree off(E, A, B, C, D) about its three most frequently used variables E, A, and B.

CuD

d (C)

E

1

CD

CD

u d (C)

A

I

Fig. 4. A VEKM off(E, A, B, C, D) in Fig. 3.

3. READING THE VEKM

The simplified (usually minimal) s-o-p expression for the VEKM function f is given by:

f = ~ P, Co(P~)= ~ Pr Co, (P~), r

(5)

r,$

where Pr is an asserted selected prime implicant of one or more of the subfunctions f of f, i.e. it is a product that appears asserted in at least one VEKM cell, and the union operator in equation (5) is taken over all the possible values of r. The minimal s-o-p contribution of P~ to f,

co(P,) = U Co,(Pr)

(6)

$

is a function of the map variables only, while P, itself is a function of the entered variables only. The following set of rules are used in the determination' of various contributions Co(P,) for the different values of r.

3.1. Order of processing the various Co(Pr) The expression of Co(Pr) can be affected by the existence of implicants subsumed by or whose consensus is Pr, and also the existence of P, can affect the contributions of asserted implicants that Pr covers partially. Therefore, one list of all asserted selected prime implicants and another for the don't care ones must be prepared. Note should then be taken of any element of the former list that subsumes or is the consensus of some elements

46

ALl M. RUSHDI

of both lists. Furthermore, the former list is to be sorted in the order to be used in further processing. Generally, the Pr's involving more literals should appear earlier, so that any P, will precede other asserted implicants subsdmed by it. Moreover, if P, is the consensus of some asserted implicants, it may prove useful if Pr is placed earlier to these implicants.

3.2. Rules for constructing a CKM for Co(Pr) A CKM representing CO(Pr) is deduced from the original VEKM through the following rules: 1. Regard as a d-cell any cell containing-a. an asserted or a don't care implicant strictly subsumed by P,. b. a don't care P,. c. two or more implicants (whether asserted or don't care) whose consensus equals Pr. As a consequence of this rule, any d-cell in the VEKM will be kept as it is. 2. Regard as a 1-cell any cell containing an asserted Pr. An exception to this (for which the cell is regarded a d-cell instead of a 1-cell) occurs when Pr has been already covered in the cell under consideration by the contributions of asserted implicants whose union equals P,. 3. Regard the remaining cells as 0-cells.

3.3 Interpretation of the CKM for Co(Pr) Once CO(Pr) is represented by a CKM, its minimal s-o-p representation is readily obtained by the standard map technique [2, 3]. However, in looping l's with d's, preference (for the same loop size) should be given to d's resulting from asserted implicant(s) that are covered partially by Pr and then to other d's. If asserted implicants Pr, P q , • • • subsume another P, such that their union totally covers it (i.e. Pr UPq U. . . . Pt), then in covering the maps for Co(P,), C o ( P q ) priority should be given to looping d-cells originating from Pt. If within a loop Co,(Pr) on the C K M representing Co(P,), P, can be unioned with a don't care implicant to form an implicant P,, subsumed by P,, then the term P, Cos (Pr) in equation (5) should be replaced by Prs Cos (P~), so that equation (5) is finally replaced by the minimal disjunctive form: . . . . .

f = ~ Prs Cos (P,).

(7)

r,s

Example 1 (continued) The subfunctions prime implicants that appear in the cells of the VEKM of Fig. 2 are asserted CD, CD, C, and C together with don't care CD, CD, and C. The contributions of the asserted implicants are obtained by the CKMs shown in Fig. 5. Since in the 2 cells of the loop .~ covering Co (CD), the product CD can be unioned with C/') (which is present as a part of C = C / 3 0 C D ) , then the product CO is replaced b y / ) . This replacement is useful in simplifying the map for Co(C), since now its cell AB is entered by a d rather than 1 in accordance with the exception of rule 2 in Section 3.2; the C in that cell is totally covered in the maps of Co(CD) and Co(D). The final expression for the function, f is:

f = CDB U D~I UCAJB,

(8)

which is the minimal s-o-p expression f o r f a s obtained in Ref. [3]. This minimal expression is also obtained when values of m other than 2 are used.

Example 2 (continued) The subfunctions prime implicants that appear in the cells of the VEKM of Fig. 4 are asserted CO, CD, C, D, and 1, and don't care C, C and 1. [The don't care 1 is written simply dinstead of d(1)]. The subsumption relations among them are: CO subsumes C and 1, CD subsumes D, C, and 1 and both C and D subsume 1. The contributions of the asserted

Improved variable-entered Karnaugh map procedures

A

I

d

d

[ d

' )

co(c6) :~=c (-D) Co(CD) = B

@

Co {c) = o

co (c) = AB

Fig. 5. The CKMs representing the contributions of the asserted implicants of the subfunctions given by the VEKM in Fig. 2.

E

I

I-°

I~A

I

Co (CD)= E *Co (D)

d

d

d

Co (C'D) - B

,)

0(0

d

d

Co (D) * A

I1 '1

al I~

Co (1) - B E u A B Fig. 6. The CKMs required for the function in Fig. 4.

47

48

ALl M. RUSFIDI

implicants are obtained by the CKMs shown in Fig. 6. The final expression for the function fis:

f = DEUCDBUCT~ UDA UBEU74B,

(9)

which is one of three minimal sums that the function f has [9]. Another minimal sum is also obtained by the present method, since as shown by the dotted loop in Fig. 6, Co(C) can be taken as/~ instead of ~, so that f becomes:

f = DE U CDB U CB U DA U B E U TtB,

(10)

The VEKM procedure is actually required to yield one minimal sum rather than all minimal sums. However, it can be used to clarify why a third minimal sum exists in the present case. If Co(C) is taken equal t o / / t h e n the 1 in the cell EAB is partially covered, and it is needed to cover only its C' part, which is easily done by an E loop. Hence, the third minimal sum for f is:

f = D E U C D B U C B UDA UCEU74B.

4. U S I N G T H E V E K M TO O B T A I N

MINIMAL

PRODUCT

(11)

OF S U M S

Use of the VEKM to handle product of sums is based on the product-of-sums (p-o-s) version of Shannon's expansion Ref. [2], p. 83, viz. f (Xl,

)(2 . . . . .

Xm, Xm+ l . . . . .

Xa) ~- ( f 0 U X l U X 2 U . . . U Xm)

(flUXlUX2U...UXm)...(f(2._l)UXlUX2U...Uz~m) ,

(12)

where the subfunctions f0,f~ . . . . f2m-~ are again given by equation (2) and are still the entries for the m-variable VEKM representingf The incompletely specified functionfcan now be defined through a pair (p,q) of switching functions such that: {p =0} implies {f=0},

and

[{p = 1}n{q = 1}] implies { f = 1},

so that f is written in the form:

f =pd(q).

(13)

The subfunctions f of f a r e given by:

f = p, d(qi ),

(1 4)

where p~ and q~ are the corresponding subfunctions o f p and q respectively, and should be written in minimal p-o-s forms. Sums appearing in these forms are to be respectively called, not-asserted and don't care selected prime implicates of the subfunctions f . Reading the VEKM in the present case yields the p-o-s form: f=

0 [/rU Co'(Ir)] = ~ [LU Co;(Z)],

(15)

'where L is a not-asserted selected prime implicate of one or more of the subfunctions f . Its minimal p-o-s oontribution to f i s Co'(L) and is obtained by following the procedure in Section 3, provided that any of the following words be replaced by the word trailing it in parentheses: asserted (not-asserted), implicant (implicate), union (intersection), unioned (intersected), s-o-p (p-o-s), 1(0), 0(1), term (alterm), P,(L), Co(Co'). The analogue of formula (7) will therefore be:

f = ~ [IrsUCo" (/~)], r,s

(16)

Example 3 The function given by Figs 1 or 2 can also be represented by the VEKM of Fig. 7, whose entries are in p-o-s form. The subfunctions prime implicates of the VEKM are, not-asserted

Improved variable-entered Karnaugh map procedures

49

,A (CuD) d (C)

I

C

(CuD)d (CUD)

D d (Cu D)

f (A,B,C, D)

]



Cg (CUD) =A

°}

Co'(C) = B

C(~(DI,Au§

Fig. 7. The p-o-s V E K M and corresponding CKMs of the function in example 3.

(C UD), C and D and don't care (t~ UD), (• UD) and C. None of the not-asserted implicates strictly subsumes or is the consensus of other implicates. The various CKMs of Fig. 7 yield the shown contributions, and hence the resulting p-o-s expression o f f is:

f = (C' U/5 UA) (C UB) (D UA. UB).

(17)

Which can be shown to be minimal and has the same gate/connection cost as that of equation (8). It is interesting to repeat the above work for m = 1. In this case, two of the not-asserted implicates in Fig. 8, viz. D and/5 subsume 0, and the symbol d stands for d(O), The various CKMs of Fig. 8 yield the shown contributions, and hence the same expression (17) is obtained for fi I d CF

A

I

5

D

Od(5)

Dd(O)

t

0 1

a

I

f (A, B,C,D)

d

d

d Co'(O) =AuB

id

Io

o)

d

C o ' ( D ) =A u~"

IO.

Co'(O)= B u C

Fig. 8. Treatment of the function in example 3 repeated for m = !. C,AEE

131--D

50

AH M. RUSHDZ 5. AN APPLICATION

The power of the VEKM technique can be demonstrated by showing its efficient handling of switching functions of moderate complexity. For example, the VEKM technique has been applied successfully for implementing the basic modular operations of addition, subtraction and multiplication in the Residue Number System (RNS). The following example illustrates the utility of the VEKM in the design of a mod 5 subtractor, a task involving 10-variable switching functions.

Example 4 Figure 9 shows the block diagram of a residue mod 5 subtractor [10,11]. The inputs X and Y are decoded simultaneously by producing the binary signals 0(~and #~ for i = 0, 1, 2, 3, 4 such that 0(i = 1 i# X = i; = 0 otherwise #i = 1 i# Y = i; = 0 otherwise.

X -= (OOCZ1 ~22ct3 a4 )

,,l Residue

Mod 5

Subtroctor

Z-(X-Y) 5 E [ZzZ 1 Zo]

Fig. 9. Block diagram for a residue rood 5 subtractor.

The output Z = (X - Y)5 is given by its 3-bit usual binary representation {Z2 Zj Z0 }. The problem of designing the residue mod 5 subtractor amounts to finding minimal representations for three 10-variable functions Z:(o4, fl;), j = 0, 1, 2 and i = 0, 1, 2, 3, 4. These functions are represented by the VEKM's of Fig. 10. Each of these VEKMs has 5 map variables #0, #t, #2, f13 and #4, and hence has all its cells except fiv.e being entered with d's thanks to the way the #{s are defined. The five cells that have non-d entries are cells for which a certain fl~ = 1 while the other four fl:'s are all 0. For example, the cell {fl0 = 1, #1 = #2 = ~3 = #4 = 0} has z = ( x - 0)5 = (X)5 = {~,, (~2 u~3), (0(, U 0(3)}

and hence the entries (0(~U0(3) in the Zo-map, (0(2U0(3) in the Z : m a p , and 0(4 in the Z2-map are obtained. Entries in other non-d cells of the maps are obtained similarly. The minimal s-o-p forms for the output functions are: Zo = 0(0#2U C(o#4 U ~lf13 U 0(lfloU 0(2#4U 0~2#I U ~3#0 U 0~3#2 U (~4#1 U ~4#3,

(18a)

Zl = 0(0fl2U go#3 U ~1#3 U ~1#4 U 0(2#4U Qg2#oU 0(3#0 U g3#l U 0(4fll U 0(4#2,

(18b)

Z 2 = 0~0# 1 U

(~1#2U 0(2#3U 0(3#4U ~4flo.

(18c)

While their minimum p-o-s forms are: Zo = (0~] U 0~3U flo) (0(2 U 0(4 U fll ) (0(3 U 0(0U f12) (0~4O ~1U f13) (0~0U 0~2U :4),

(19a)

Z, = (~-, U 0(3U/~'o) (c~3U oq U/~',) (0(4U 0(oU ~=) (~o U 0(t U,8"3) (oq U 0(2U fi,),

(19b)

Z2 =

(19c)

(0(4 U A ) (0(0 Ufl'l ) (0(1U:2) (0(2 U ~ ) (0(3 Ufl'4)"

Improved variable-entered Karnaugh map procedures 81

51

80

I

~sU a 0

d

d

d

d

d

d

d

O4U a I

d

d

d

aoU a 2

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

a2U 04

QI U Q3

I

(o) Z o

d

a 1 u a2

d

a s U 04

aZu

a3

a4 o a 0

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

d

1 a0 u a1

(b) ZI

d

QI

oo

a4

d

d

d

a3

d

d

d

d

d

d

d

d

d

d

d

d

d

a2

d

d

d

d

d

d

(c) Z2

Fig. 10. VEKMs representing the three output bits for the mod 5 subtractor.

The p-o-s implementation in equation (19) is more economical than the s-o-p implementation in equation (18). No NOT gates are really needed for the implementation in equation (19), since Y can be decoded in terms of/~:s instead of fi/s right from the beginning. The implementhtion equation (19) compares favorably in terms of speed (gate delay) and gate count with the one in Ref. [11]. The insight obtained from this VEKM experience allows the writing of minimal expressions for the outputs of a residue mod n subtractor, just by inspection. For example, the residue mod 7 subtractor is given by: Z° = i--~ (~1 + i U ~3 + i U c~5+ ~U ~i),

(20a)

Z1 ~ l'--~ (~2 + i U oc3 + i U ~6 + i U ~i),

(20b)

Z2 = ,=~ (~q+, U 0q+ ;U ~6+,U iT,),

(20c)

where the summations in the subscripts of equation (20) are to be calculated modulo 7.

52

ALl M. RUSHDI REFERENCES

1. V. Rhyne, P. Noe, M. McKinney and U. Pooch, A new technique for the fast minimization of switching functions. 1EEE Trans. Comput. C-26, 757-764 (1977). 2,' S. Muroga, Logic Design and Switching Theory. Wiley, New York (1979). 3, W. I. Fletcher, An Engineering Approach to Digital Design. Prentice Hall, Englewood-Cliffs, N.J. (1980). 4. R. Burgoon, Improve your Karnaugh mapping skills. Electron Des. 20, 54-56 (21 Dec. 1972). 5. C. R. Clare, Designing Logic Systems Using State Machines. McGraw-Hill, New York (1973). 6. A. M. Rushdi, Map derivation of the minimal sum of a switching function from that of its complement. Microelectron. Reliab. 25, 1055-1065 (1985). 7. C. H. Roth Jr, Fundamentals of Logic Design, (3rd edn) West Publishing, St. Paul, MN (1985). 8. A. E. A. Almaini, Electronic Logic Systems. Prentice-Hall, Englewood-Cliffs, N,J. (1986). 9. B. Reusch, Generation of prime implicants from subfunctions and a unifying approach to the covering problem. IEEE Trans. Comput. C-24, 924-930 (1975). 10. R. K. Arora and S. Kaushik, Conversion schemes in residue code. Comput. & Elect. Engng 9, 33-43 (1982). 11. S. Kaushik and R. K. Arora, Implementation schemes for basic modular operations. Comput. & Elect. Engng 11, 9-18 (1984).