Sie sind auf Seite 1von 10

Synthesis of threshold-logic networks using Karnaughmapping techniques

S. L. Hurst, PhJD., M.Sc. (Eng.), C. Eng., F.I.E.E. Indexing terms: Logic design, Threshold logic ABSTRACT The potential future use of threshold-logic gates as an alternative to Boolean gates depends on the ability to synthetise given Boolean problems in an economical threshold-gate form. Mapping techniques for the engineering of threshold-logic networks are presented in the paper, based on the property that all linearly separable (threshold) functions are characterised by particular patterns when plotted on Karnaugh-map layouts. The canonic characteristic-vector, or Chow-parameter, tabulations are used to derive and catalogue the map patterns that are allowable. The advantage of this approach is that a visual buildup of the synthesis is maintained, thus enabling both completely and incompletely specified networks to be handled. Threshold gates of specific capabilities, as well as universal gates, may be incorporated in the procedures. NOTATION To differentiate between Boolean and threshold expressions, the following notations are employed: Boolean expressions employ [ ] for outer brackets, and ( ) for any necessary inner brackets. Within these defining brackets, + and . take the normal Boolean meaning of OR and AND, respectively. The latter may be omitted where no ambiguity results. Threshold expressions employ ( ) for outer brackets, and { } for any necessary inner brackets. Within these defining brackets, the normal arithmetic rules of addition and multiplication hold. 1 INTRODUCTION suitable design values for gate weights and thresholds to realise such functions. In these areas, the canonic characteristic weight-threshold vector tabulations, or Chow parameters as they are alternatively termed, 9 have emerged as supreme in quickly showing whether a given function is linearly separable, and in giving the minimum-integer gate design values for a single-gate realisation. The present disadvantage with such lookup tables is that they are not readily available for n > 7, but seven independent input variables are more than adequate for the vast majority of engineering purposes. Where linear separability does not hold, and multigate realisation is sought, the Chow-parameter tabulations do not directly provide enough guide into how the given function may best be decomposed into linearly separable (l.s.) parts. Certain semiheuristic approaches may be tried, e.g. (a) If any variable Xj is present in both true and complemented form, the decomposition
2

Linearly separable Boolean functions of n variables f(xj_, x 2 , . . . , xn) are those functions which may be realised by one single threshold-logic gate, such a gate obeying the input/output relationship n Gate output y = 1 iff a ^ tx = 0 iff where
a x

x i f 1 (x 1 ,x 2 , . may be tried, to see if each of the reduced functions becomes linearly separable. (b) If the evaluated Chow parameters fit the published tabulations except for one term bj, again the function may be decomposed about this particular Xj, and the results tried. The published information on the synthesis of non-linearlyseparable Boolean functions13"16 is not coherent to date. Such papers as are available are generally of a theoretical or algorithmic nature, and do not yet offer an easy and generally acceptable practical way of resolving how a given function may best be realised. The usefulness of the Karnaugh-map format has not yet been extensively pursued for threshold synthesis. It has, however, been shown that l.s. functions are characterised by certain definite patterns on Karnaugh-map layouts, these patterns corresponding to the Chow characteristic parameter tabulations; 17 * 18 map patterns which are not included in these possible patterns must be for nonlinearly separable functions. It is this pattern principle, therefore, that will be built on in the subsequent Sections of this paper. 2 THRESHOLD PATTERNS

i i

x i = the independent binary gate-input variables, of value 0 or 1 a^ = real-number 'weight' associated with each independent Xj tx = real-number upper gate threshold t 2 = real-number lower gate threshold, t 2 < t x .

It has been shown1*2 that all linearly separable functions of n < 7 may be realised by integer values for the weights and thresholds. In this paper are employed the minimum integer values for the a^, and minimum integer thresholds with a gap length of unity,3 i.e. t x t 2 = 1*0, without loss of generality. The problem of threshold synthesis of any given Boolean function may be divided into the following subproblems: (a) Is the given Boolean function a linearly separable function; i.e. has it single threshold-gate realisability? (b) If it is linearly separable, what are the weights and thresholds required? (c) If it is not linearly separable, how may the given function be realised by two or more threshold gates ? Associated with the latter section of multigate synthesis is the problem of producing a solution which is optimum in some sense, such as using the smallest number of gates in the solution. As far as single-gate realisation is concerned, the subject has been extensively investigated, 1 " 13 both from the point of view of illuminating the general structure of linearly separable functions, and from the point of view of generating Paper 6725 E, first received 20lh August 1971 and in final form 17th May 1972 Dr. Hurst is with the School of Electrical Engineering, University of Bath, Claverlon Down, Bath BA2 7AY, England PROC.IEE, Vol. 119, No. 8, AUGUST 1972

The characterisation of all l.s. functions of n = 3 in Chowparameter form is shown in Table 1 (see Appendix 9), this Table representing all the possible different weight/threshold combinations of the n + 1 Chow parameters. The resulting Boolean and threshold functions are given in Table 2 (see Appendix 9) in a positive canonic form. Translating these functions into Karnaugh-map format results in six possible basic map patterns, as shown in Fig. 1. These map patterns may be positioned anywhere within the map, including the edge-edge adjacencies, and, with any of the four possible orientations, this cycling covering all the possible combinations of xlt xlt x 2 , x 2 etc. 1 8 The patterns shaded may represent the function output value 0 or 1. The parameter DM, the map pattern density, introduced in Tables 1 and 2, is merely the ratio of the shaded to the unshaded 1119

squares, or vice versa, in each pattern. The value of DM may be obtained directly from the Chow parameters by the relationship
DM

Exactly which map patterns are however generated for each tabulated standard l.s. function, depends upon how the function splits between the two 4-variable maps. Therefore for economic reasons, we will not attempt to catalogue here in detail all the possible sets of Karnaughmap patterns for n = 5, corresponding to the listings given in Tables 6 and 7. Instead, when the need for 5-variable maps arises, the appropriate patterns for the particular l.s. functions involved may be drawn, and reference back to the individual n = 4 patterns of Fig. 2 made.

= p/q p = V2 {|bo| + 2n}

where

This parameter will be used as a key identification parameter in later Sections.

or

or

Fig.l Karnaugh-map patterns for linearly separable functions f(xlt x2, x3)

Figure part
\

2 00

01

11

10

Table 1 pattern Pattern density

1
4/4

2 8/0

3 5/3

4 7/1

5
4/4

6 6/2

0 1
key

or
0/8

or
3/5

or
1/7

or
2/6

For five input variables, the l.s. function tabulations are listed in Tables 6 and 7.* However when it comes to the generation of the Karnaugh map patterns for these n = 5 functions, corresponding to Figs. 1 and 2 for n = 3 and 4, respectively, the problem arises of what form shall the n = 5 maps be drawn for optimum clarity of the l.s.functions? Experience shows that a pair of 4-variable maps is the best technique. Alternative formats all suffer from reduced clarity, and produce map patterns which are difficult to assimilate correctly. The further advantage of the double 4-variable map format is that no matter how the two maps and their columns and rows are identified, any l.s. function of n = 5 always plots to give a map pattern in the two maps, each of which corresponds exactly to one of the patterns for n = 4 shown in Fig. 2.

* Tables 6 and 7 are not included in the printed paper, but copies are available, on application and on payment of a charge of 40p,from the IEE Library, IEE, Savoy Place, London WC2R OBL, England. Please give a full reference to the paper 1120

Beyond n = 5, the number of l.s. functions and the difficulties of Karnaugh mapping become too great to be comfortably handled by the techniques discussed in this paper. Indeed, it may be argued that the need to handle Boolean functions of more than four or five variables decreases rapidly in normal engineering applications, and that the Karnaugh map for n = 4 caters for all but a minority of practical problems. Also, if a range of standard threshold-gate building blocks is envisaged, with which all threshold systems may be built up, it is extremely unlikely that a standard building block catering for n > 5 will be available. Standard building blocks catering for n = 3, n = 4 and n = 5 have been proposed,19 but the possibilities for n > 5 have been discounted owing to pin limitations in integrated-circuifpackaging and difficulties in realising the more arduous gate threshold performance necessary. Thus the subsequent Sections of this paper will in the main be confined to the synthesis of threshold networks involving a maximum of five independent input variables. While this
PROC.IEE, Vol. 119, No. 8, AUGUST 1972

limitation may be regrettable from the point of view of presenting a working design philosophy for any n, nevertheless it is hoped that little practical engineering significance is lost by this restriction.
\

various l.s. functions, the basic procedure being: (a) The given Boolean function is first plotted on a Karnaugh-map layout in the normal manner, and its map-density
value DM is noted. >M

1
^ V
_J

lill
i^ ^

ss^s

^
i ;]l^

liil
\

^ ii

a ^I ^^i ^I

I
i

n
/ m

11

I1

! yi | ni
i

Fig. 2 Karnaugh-map patterns for linearly separable functions f(xx, x2, x3, x

Figure part

f
1 8/8 2 3 16/0 9/7 or or 0/16 7/9 4 5 15/1 or 8/ 1/5 6 10/6 or 6/10

I 9 11/5 or 5/11 10 11 13/3 or 8/8 3/13 12 12/4 or 4/12 13 10/6 or 6/10 14 12/4 or 4/12

Table 3 pattern Pattern density

7 14/2 or 2/14

8 9/7 or 7/9

15 11/5 or 5/ll

x1 x2 x3 A 4\ 0 0 01 x
A

11

10

00 01 11 10 key

SYNTHESIS OF THRESHOLD NETWORKS, n = 3 AND 4 With the availability of the Chow-parameter tabulations, the threshold realisation of arbitrary Boolean functions that are linearly separable is straightforward, the procedure producing integer weight and threshold realisations for any n ^ 7. The procedures following therefore relate exclusively to the realisation of Boolean functions which are not linearly separable, and which thus require more than one threshold gate in some 2- or more-level realisation, or, in a later Section, to functions which are not completely specified. Also, as the procedures for n < 3 are basically identical, but are simpler to handle than the procedures for n = 4, we will first consider here the network synthesis of arbitrary Boolean functions of four variables f(x1, x2, x 3 , x 4 ). The synthetising procedure will be based on the recognition of the standard Karnaugh- map patterns that identify the PROC.IEE, Vol. 119, No. 8, AUGUST 1972

(b) This plotted pattern on the Karnaugh map must now be covered by any chosen standard patterns, to give either a threshold-OR or a threshold-AND realisation, as desired. Restrictions may be imposed if desired on the standard l.s. patterns chosen to cover the given function, for example to utilise only the patterns corresponding to certain available threshold-gate building blocks. (c) Once the pattern of the given function has been exactly covered, its multigate threshold realisation is made up from the specific l.s. functions used in producing this cover. 3.1 Example 1

Given the arbitrary nonlinearly separable Boolean function


f (xj_, x 2 , x 3 , x 4 ) =
x4)

x2x3x4]

Fig. 3a gives the Karnaugh-map plot of this function. Its map-density value DM is seen to be 6/10. Confirmation that this function is not linearly separable is given by comparing this pattern with the l.s.-function patterns of same DM value, i.e. patterns 6 and 13 of Fig. 2. In examining the plot in Fig. 3a, it will be noted that there is 1121

a 45 or 'diagonal' adjacency present in the map. When such a feature is observed, the function may immediately be classified as nonlinearly separable. Similarly, if a plot with two or more patterns not touching at all is present, again such functions are not l.s. functions. The diagonals or gaps in the plotted patterns also provide an indication of a possible division of the given function into two (or more) parts, each of which may now have a threshold realisation. Hence, one possible threshold-OR realisation of Fig. 3a is shown in Fig. 3b, the diagonal adjacency in the map providing a key to the division of the function into two l.s. parts. Part A has a pattern density DM of 4/12; it may therefore be either pattern 12 or pattern 14 of Fig. 2. A quick check reveals that it is the unshaded portion of the latter pattern, and therefore
X

which plots as shown in Fig. 4a. Again, it may be rapidly confirmed that this plot, of DM value = 9/7, does not correspond to either pattern 3 or pattern 8 of Fig. 2, and therefore the function is not linearly separable. In looking for a threshold-AND solution, two (or more, though preferably two) plots, each of which are larger than the given plot, are sought. In this particular case, the ANDed terms must each therefore have a map pattern value DM greater than 9/7. As a guide to a reasonable choice of such terms, the following guidelines may be suggested:

x 3 x)
00
01

2 00
/

01

11

10

vx, X 2 x 3 xN fcQQj
00

01

11

10

01

11

11

10

10

A 31x2.

*3*1x2X 4-

X 4-

x2 3

Fig. 3 Threshold-OR realisations of (x

+ x4) + xxx2x3 + x2x3x4] (a) If the plot of the given Boolean function has any prominent pattern characteristic, this characteristic should be looked for in a covering map pattern of higher value D M . (b) The high-value DM patterns, such as the 15/1 or 14/2 plots of Figs. 2d and g, respectively, provide a powerful cover for one of the AND terms of the synthesis, as the gaps in such high-value DM plots may be positioned so as to amputate unwanted minterms from the other covering pattern(s) in the final solution. One possible threshold-AND solution for the above function is therefore as evolved in Fig. 4.
3.3

has a threshold realisation of (2,1,1,1) 4 : 3 . The pattern position identifies the function as [x 3 ( x i x 2 which gives (2x3 +
X
H

2 X 4^

+ x 2 + x4> 4 : 3

Part B has a pattern density DM of 3/13, and will be found to correspond to pattern 10 of Fig. 2, giving a threshold realisation of (2, 2,1,1) 5 : 4 , the precise function identification thus being (2x1 + 2x2 + x 3 x 4 > 5:4

Example 3

Fig. 3c therefore gives the 2-level threshold-OR realisation directly from the results above. Various rearrangements of this solution are possible, particularly if threshold gates with true and complemented outputs are available. For example, the above two gates may be replaced, as shown in Fig. 3d, by
-r K T x 2 T X 4 / 2 ; 1

If gates of restricted capabilities only are available, as distinct from universal gates, 19 threshold realisation of both l.s. and non-1.s. functions may be undertaken as follows. Consider, say, the availability of the integrated-circuit threshold-gate package of Amodei et al., 2 0 which contains one 3-input majority gate plus one 5-input threshold gate of input weights 2, 2,1,1,1 and thresholds 4: 3. Both gates are provided with true and complemented outputs. Further, let us consider the arbitrary non-l.s. Boolean function f (xlf x 2 , x 3 , x4) =
x3x4) + x2x3x4 2x3x

and
x

x1x3x4]

+ 2x2 + x 3 + x 4 ) 2 ; 1

respectively (see patterns 14 and 10 of Fig. 2), and all may be further combined for example as shown by the development of Fig. 3c into Fig. 3e. Alternative ways of covering the original map pattern of Fig. 3a may yield alternative and equally valid solutions, precisely as in Boolean realisation problems.
3.2

Example 2 Covering the Karnaugh-map plot of a given function by means of a threshold-AND solution is equally possible. Consider the non-1.s. function 1122

It is first necessary to determine which of the l.s. patterns of Fig. 2 the two given gates will realise. Therefore, comparing the listings of Table 3 with the possible permutations of the available gate weights and thresholds, it may be seen that available l.s. patterns are patterns 1, 2,11 and 12 of Fig. 2 from the 3-input majority gate, and patterns, 1, 2, 6,11,12, 13 and 14 from the 5-input gate. Pattern 2 is the trivial allzero or all-one case, and thus the useful available patterns are pattern 1 D 8/8 M 6 11 10/6 8/8 or 6/10 12 13 14 12/4 10/6 12/4 or 4/12 or 6/10 or 4/12

PROC.IEE, Vol.119, No. 8, AUGUST 1972

The possibility of a 2-level threshold-OR solution is first considered. Fig. 5a gives the possible fits of the above available patterns onto the plot of the given function; patterns 1, 6 and 11 do not provide any valid contribution.
X

In viewing these covers, it will be noted that none of the patterns available covers the XjXgXgX^j minterm. Hence, it is concluded that it is not possible to produce a 2-level threshold-OR solution for the given function using the available threshold gates.
10 10

2 01 11 10

00
3 4

00

p]
a m

01

/
_ /

11
10

x2. 3X 4-

(x1,x2,x3,>

Threshold-AND realisation of [xxx2 + x2x4 + x3x4]


\

y
ass

y
y

1
(iii)

1 i
(v)
(vi)

i
(vii)

0)

x3x> 00
\

1X2

01

11

10

II
(i)

/ /

00
01 11 10
key

i
(ii)

/
j

C'i) c
(Hi)

(i)

Fig. 5 Threshold AND-0R realisation of fxx(x2 + x3x4) + x2x3x4 +

using specific threshold gates

a (i) Function {ii) Pattern 12 (Hi) Pattern 13 (iv) Pattern 14 (v) Pattern 14 (vi) Pattern 14 (vii) Pattern 14 b Available AND covering patterns (i) Pattern 14 (ii) Pattern 14 c Possible AND-0R cover (i) Pattern 13 = [xx(x2 + x3x4) + x2x3x4j = (2xx + 2x2 + x3 + x 4 ) 4;3 (ii) Pattern 12 - (xxx3] - (A^ + x3)2;1 (Hi) Pattern 12 =[x1x4] = {xx + #4)2.1 d Final 3-level realisation PR0C.IEE, Vol.119, No. 8, AUGUST 1972

1123

If a threshold-AND solution is now considered, it will again prove to be impossible to cover exactly the eight minterms of the given function. Hence a 3-level threshold AND/OR solution to the given problem must be sought in this case. Fig. 5c illustrates one possible solution, employing as its basis the good cover provided by pattern 13 over six of the eight minterms of the given function. The remaining two minterms are then covered by a threshold-AND made up from pattern 12. The separate Boolean AND and OR gates of Fig. 5c may be absorbed into threshold gates in the normal manner, giving a final solution using two of the given integrated-circuit packages, as shown in Fig. 5d.
SYNTHESIS OF THRESHOLD NETWORKS, n = 5 4.1 Example 4

linearly separable functions which decompose to give at least one pair of n = 4 l.s.-map patterns. However, with the particular example above, a further simplification is possible. From Fig. 6, it will be noticed that the Xj map pattern of x2(x3 + x5) is also contained entirely within the xx map pattern. Thus it is not necessary to select x1[x2(x3 + x5)] as one of the OR terms of the final realisation, as the minimised function [x2(x3 + x4)] is equally valid. Hence the two functions that form the threshold realisation of this chosen xlf xx decomposition can, in this case, be
[x 2 (x 3 + x 4 )] = <2x2 + x 3 + x 5 ) 3 . 2 and x x [(x 2 x 4 )] = x5)4: 3

Still continuing the synthesis of non-1.s. functions, consider the Boolean function f(xx, x 2 , x 3 , x 4 , x5) = [x1(x2 + x 4 + x5) + x 2 (x 3 + x5)] Its Karnaugh-map plots are given in Fig. 6, with all five possible map pairs being shown for completeness. In comparing these patterns with the 4-variable l.s. map patterns detailed in Fig. 2, it will be found that all map patterns except the x 5 map are l.s. patterns. Thus any of the Xj decompositions mapped in Fig. 6 except the x 5 pair are available as a possible threshold-OR solution. Suppose the first map pair xlt x-^is chosen. Then the xt map represents the Boolean function x1[x2(x3 + x5)], the l.s. map pattern corresponding to pattern 6 of Fig. 2, and the Xjinap pattern represents the function x-^Xg + x4 + x 5 ], this l.s. map pattern corresponding to pattern 7 of Fig. 2. Two approaches are now available to translate these Boolean results into threshold functions, the first being to form hybrid Boolean-threshold expressions for each term, the threshold part being read off from the 4-variable map patterns and tabulations in the usual manner. This results in

The final threshold realisation of the given Boolean function is thus compiled from an OR connective of these two terms. The initial choice of an alternative pair of l.s. maps from Fig. 6 will produce other equally valid solutions to the given problem.

x.x\oo
00 01 11 10

^2X3

01

n J
y
11

11 10

^2X3

x4x\o
00 01 11 10

01

11 10 /

U 7 7
/
t y

y /

x4 Ax \ 0 0 A 5
00 01 11 10

01

10

1X3

v Xoo
00 01 11 10

01 11

10

y y

y
y

y y y

|7 "7 7
01 M I ^^ 10

and
X X

l[ 2 + X4 + Xsl = Xlt<X2 + X4 + X5>l:o]

The xx and xx variable may now be taken within each threshold bracket, the necessary AND condition being produced by heuristically allocating an appropriate weight to the xx variable and raising the gate thresholds appropriately. The final result is x1[(2x2 + x 3 + x5>3:2] = (2x1 + 2x2 + x 3 + x5>5: 5/5:4
and

x1 x 2 0 1 11 A x4 x5\ 0 0 J *7 00
A

TO

x45 N 0 0 x
00 01 11

y
y

01 11 10

J y

y y

y y

10

01

x1[<x2 + x4 + x5>1:0] = (3x1 + x 2 + x4

x5)4.3

However, it is not always immediately clear what weight to allocate to the xj variable taken within the threshold brackets in the above technique, and a preferable method of obtaining the final minimum integer 5-variable threshold result is as follows. The xx l.s. map of Fig. 6 has a pattern density DM = 6/10 within the domain of the four map variables x 2 , . . . , x 5 . However, in the domain of the five variables xx,..., x 5 , this map pattern represents a pattern density DM = 6/(10 + 16) = 6/26. Similarly, the xx map has a pattern density of 14/18 in the 5-variable domain. Referring now to Table 7, the standard l.s. functions of DM = 6/26 and 14/18, respectively, are examined to locate the two functions of above Boolean form. Table 7 will confirm that x1[x2(x3 + x5)] = < 2xx + 2x2 + x 3 + x 5 ) 5 : 4
and

x 3xS55.

o1r

01

11 10

\oo
01

11 10

(7 y 7
y y

01 11 10

y y

r
01 11 ;y:
" >

11 10

vX1X2

\oo
00 01 11 10

10

xA00
00 01

0 1 11 10

y y

y y y y y y y y y

,'j

11 10

xx[x2 + x4 + x5] = <3xx + x 2 + x4 + x 5 ) 4 : 3 The technique so far is universally applicable to all non1124

Fig.6
Karnaugh-map patterns for fx (x2 + x4 + x5) + x2(x3 + x$)] PROC.IEE, Vol.119, No. 8, AUGUST 1972

4.2

Example 5 In place of a threshold-OR synthesis of two l.s. maps, as in example 4, a threshold-AND solution is equally available. Consider the non-l.s. Boolean function + x 3 x 5 (x 1 + x 2 + x4)]

second map, as indicated in Fig. 7b. The final threshold-AND solution is now the AND of these two extended terms x3+[<2x1+x2 = <2x1 + x
and x 2 + x 4 + 2x 5 ) 3 : 2 ] 3x3
4

4x 3 + 2x4

3x5)4;3

If the five possible Xj, Xj maps pairs are plotted, it will be found that only the x3, x 3 maps are both linearly separable. These are as shown in Fig. 7a. Now a threshold-AND of these two terms may readily be formed by adding to each l.s. map the full pattern of the

+ 2x 5 > 3 . 2

made in the usual manner.

Not covered in the latter examples is the case in which a given 5-variable non-l.s. function fails to map into two 4variable l.s. map patterns. Where two exact map patterns do occur, clearly it is meaningful to consider each 4-variable function as a component of the final solution. Information yet to be detailed, however, is the permitted combination of two 4-variable map patterns which arise when all the 5-variable l.s. functions of Table 6 are analysed. To date, one of the maps, either full or empty, has been utilised in the synthesis procedures, but these are but two particular cases of the full range of permitted combinations. Awareness of all the possibilities is desirable to guide a choice of cover in the cases where one or both of. the 4-variable map patterns is not linearly separable. Table 5 (see Appendix 9) details how the 63 l.s. functions of Table 6 decompose into pairs of 4-variable l.s. map patterns. It should be noted that: (a) The tabulation lists only the 5-variable functions with DM = 16/16; the dual of every line is also available, which * is obtained by merely reversing the DM value from p/q to q/p in all three columns per entry, the map-pattern reference numbers remaining unchanged. (b) Of the five pairs of 4-variable map patterns possible per l.s. function, Table 5 automatically specifies the pair in which one of the two maps is most nearly full, i.e.DM - 16/0, or most nearly empty if the dual of each line is being considered. Of particular significance from Table 5 are the following: (i) 27 of the 63 entries consist of one full map (DM = 16/0), plus all the possible l.s. map patterns of n = 4. If this result were not true, the synthesis procedure used in example 5 would be invalid. Also, as one map is full (or empty if the dual case is being considered), the position and orientation of the l.s. pattern in the other map is not constrained at all by the pattern position in the former, (ii) The following 16 entries consist of one map which is full (or empty) apart from one minterm. The position of this 'missing' minterm does now impose a 1 in 16 constraint on the possible positions of the l.s. pattern in the other map, as the two map patterns must maintain a specific relation-, ship one with another. (iii) The remaining 20 of the 63 entries have an increasing number of blank spaces in one map, up to a maximum of 5. 59 out of the 63 possible function patterns are however covered by map patterns which have three or fewer 'missing' minterms in one of the two 4-variable map patterns. The practical significance of the above is that, if a given Fig. 7 non-l.s. function does plot to give one l.s. map pattern only Threshold-AND realisation of [xx(x4 + x2x3) + in any of the pairs of 4-variable Karnaugh maps, it will be *3 X 5(*1 + X2 + **) + X 3 ^ 5 ^ 1 + *2 + ^4)] found that only in a small minority of cases can this cover a x3 Karnaugh map, DM = 9/7, = x3[(2xx + x2 + 2x4 + 3x5)4:3] be extended by the use of Table 8 to usefully cover a fracx3 Karnaugh map, DM - 10/6, = x3f(2x1 + x2 + x4 + 2x5)3:2J tion of the minterms in the second map of the pair. For example, suppose a 5-variable non-l.s. function is plotted to give b Augmented x3 and x3 maps, DM = 25/7 and 26/6, a pair of map patterns of DM = 3/13 and 10/6, respectively, respectively the former alone being an l.s. pattern. Now the only 5-variable l.s. functions which include a 3/13 pattern in their deX *1 2 composition are functions which have DM values of 16/0, 01 11 10 15/1,14/2,13/3 or 0/16 in the second map. (The latter is y \ 00 the dual of the 13/3 entry of Table 5.) The first four all pro00 vide too great a cover for the second map of the given function, and hence a threshold-OR solution with one 5-variable 01 term covering a fraction of minterms in this second map is not possible. In such a case, the minterms of the first map alone may be covered, as was done in example 4. 11
10

key PROC.IEE, Vol. 119, No.8, AUGUST 1972

It will also be found, in practice, that the vast majority of non-l.s. functions of 5 variables do plot to give at least one of the ten possible maps that is an l.s. map pattern. Hence, the following order of procedure for the Karnaugh mapping 1125

and subsequent threshold synthesis of 5-variable non-1.s. functions may be enumerated as follows: (a) Plot the given function on all five pairs of Karnaugh maps (for example, see Fig. 6). (b) If any pair of maps results in which both map patterns are linearly separable, proceed as in example 4 or 5. (c) If condition (b) cannot be found, choose any pair in which one of map patterns is a valid l.s.map pattern, if the choice of more than one such pair of maps is available, choose the pair in which the non-1.s. map pattern is most full or empty (DM - 16/0 or 0/16, respectively), in case a useful cover between the two maps can be found by the use of Table 5. (d) In the event of not one l.s. map pattern being available in any of the five pairs of maps, choose a pair in which one map is most full or empty (DM - 16/0 or 0/16). Build up a cover for the minterms in the other map by using two or more threshold functions in the usual manner. Check whether any useful cover can be found by the use of Table 5 between the terms used in this cover and the minterms of the first map. If no useful cover(s) can be found, proceed to cover independently the minterms in the first map in the usual manner.

CONCLUSIONS

The synthetising procedures presented in this paper depend very largely for their successful application on the remarkable pattern-recognitionperformance of the human eye and brain. With but little practice, it is possible to identify the l.s.patterns catalogued in Figs.l and 2, when they occur in any plotted Karnaugh maps,irrespective of the orientation of the resulting pattern,or whether the 'true' or complemented1 pattern is present. The Chow-parameter tabulations form the basis of the generation of the standard l.s.function patterns catalogued here. The compactness of the information content of the Chow parameters themselves is unsurpassed, but visual representation of the functions represented by these parameters is not available. Hence the less compact information content of the linearly separable Karnaugh-map patterns and the standard PN-function tabulations are preferable for synthesis procedures, where the given problems do not have single threshold-gate realisability. The Karnaugh-map pattern-density parameter DM introduced in this paper will be found to be a key parameter in the crosscorrelation between these l.s.map patterns and the standard function tabulations.

INCOMPLETELY SPECIFIED FUNCTIONS

The direct application of Chow parameters to the realisation of incompletely specified functions is not straightforward. If the completely specified minterms (0 or 1) happen to be precisely realisable by one threshold gate, the evaluation of the respective Chow-parameter values will provide a singlegate realisation in the usual manner. However, if this does not occur, no insight into how to include any of the 'don'tcare' minterms to produce a viable result is available from the Chow parameters themselves. With mapping techniques and the availability of the l.s.-map . patterns, the situation becomes clear. Further, the presence of 'don't-care' minterms in a problem normally affords a greater freedom to choose l.s. covering patterns than in the fully specified cases.

8
1 2 3 4 5

REFERENCES
MUROGA, S., TODA, I., and KONDO, M.: 'Majority decision functions of up to six variables', Math. Comput., 1962,16, pp. 459-472 WINDER, R.O.: 'Enumeration of seven-argument threshold functions', IEEE Trans., 1965, EC-14, pp. 315-325 LEWIS, P. M., and COATES, C. L.: 'Threshold logic' (Wiley, 1967) CHOW, C. K.: 'On the characterization of threshold functions' in 'Switching theory and logical design', AIEE special publication S. 134,1961, pp. 34-38 COATES, C. L., KIRCHNER, R. B., and LEWIS, P. M.: 'A simplified procedure for the realization of linearlyseparable switching functions', IRE Trans., 1962, EC-11, pp.447-458 DERTOUZOS, M.L.: 'An approach to single-thresholdelement synthesis', IEEE Trans., 1964, EC-13, pp. 519528 WINDER, R.O.: 'Properties of threshold functions', ibid, 1965, EC-14, pp. 252-254 TORNG, H. C : 'An approach for the realization of linearly-separable switching functions', ibid., 1966, EC-15, pp. 14-20 LEWIS, P.M.: 'Practical guide to threshold logic', Electronic Design, 1967, 22, pp. 65- 88 WINDER, R.O.: 'Symmetry types in threshold logic', IEEE Trans., 1968, C-17, pp. 75-78 HOWE, A. B., and COATES, C. L.: 'Logic hazards in threshold networks', ibid., 1968, C-17, pp. 238-251 LEVTNE, E.: 'On the characterising parameters of a threshold function', ibid., 1968, C-17, pp. 696-697 WINDER, R.O.: 'The status of threshold logic', RCA Rev., 1969, 30, pp. 63-84 COATES, C. L., and LEWIS, P. M.: 'A realisation procedure for threshold gate networks', IEEE Trans., 1963, EC-12, pp. 454-461 AKERS, S.B.: 'A diagrammatic approach to multilevel logic synthesis', ibid., 1965, EC-14, pp. 174-181 HOPCROFT, J. E., and MATTSON, R. L.: 'Synthesis of minimal threshold logic networks', ibid., 1965, EC-14, pp. 552-560 DERTOUZOS, M.L.: 'Threshold logic: a synthesis approach' (MIT Press, 1965) HURST, S. L.: 'Correlation between Karnaugh-map patterns and Chow parameters for 3-variable linearly separable (threshold) functions', Electron. Lett., 1970, 6, pp. 182-183 HURST, S. L.: 'Universal threshold gates for 3-, 4-and 5variable linearly separable (threshold) functions', ibid., 1970,6, pp.324-326 AMODEI, J.J., HAMPEL, D., MAYHEW, T.R., and WINDER, R.O.: 'An integrated threshold gate'. Digest of technical papers for international solid-state circuits conference, New York, 1967, pp. 114-115 PROC.IEE, Vol. 119, No. 8, AUGUST 1972

6 6 THRESHOLD NETWORKS, n > 5 7 8 9 10 11 12 13 14 15 16 17 18

For n = 6, four 4-variable Karnaugh maps are required to fully plot any given function. Further unit increases in n each again double the number of maps required. However, as in the n = 5 case, where difficulty was found in finding any useful cover between two n = 4 maps owing to the property of threshold functions of tending to divide into one map full (or empty), the other map having any n = 4 l.s. pattern; even more remote in n = 6 cases is the possibility of finding any useful cover between the four n = 4 maps now present. Thus, in theory, any given non-1.s. n = 6 function may be plotted on four maps, and a viable threshold realisation may be made by synthetising the resulting pattern in each separate n = 4 map. Each map pattern then represents - xd>ti:t2] where x^.. .x^ represents the respective map row and column variables, and x^, Xj the particular map designation. In practice, however, six sets of four maps may have to be plotted to find the best decomposition, i.e. the set of maps in which, ideally, all four maps show l.s. map patterns. A further practical problem is combining the Xj, Xj variables within the determined 4-variable l.s. functions to give the required n = 6 l.s. functions, which without the n = 6 DM tabulations corresponding to Table 7 may be tedious. However, with patience, it is possible to extend the techniques detailed above to this n = 6 case, if desired. Beyond n = 6, the number of Karnaugh maps involved becomes too great to consider. Further, it may be argued that the availability of any practical threshold gate to handle this number of inputs and resulting weight/threshold performance is unlikely, and that such problems are therefore beyond the requirements of a general synthetising procsdure. 1126

19 20

APPENDIX

Tabulation of standard positive canonic threshold functions of n 3 variables TABLE 1 LINEARLY SEPARABLE FUNCTIONS FOR n = 3 Chow-characteristic Weighting parameters \b\\ factors |aj| i = 0, . . . , n i = 0, . . . , n
8 6 4 0 2 4 0 2 4 0 2 0 1 2 1 0 1 1 0 1 1 0 1 0

Possible inputvariable weights


1 0 2 1 1 1 0 0 1 1 1 1 0 0 1 1 1 0

Corresponding gate thresholds t1: t 2 0:-l


2:1 1:0 1:0 1:0 or or or 2:1 or 1:0 3:2 3:2 2:1

L.S. Karnaugh-map Karnaugh-map pattern pattern density DM


1 2 3 4 5 6 8/0 5/3 7/1 6/2 4/4 or or or 4/4 or 0/8 3/5 1/7 2/6

TABLE 2 BOOLEAN AND THRESHOLD REALISATIONS OF LINEARLY SEPARABLE FUNCTIONS FOR n = 3

Karnaugh- map pattern density DM


0/8 1/7 2/6 3/5 4/4 5/3 6/2 7/1 8/0

Possible l.s. Karnaugh- map pattern


2 4 6 3 1 or 5 3 6 4 2

Realisation of l.s. function (standard canonic form) Boolean [0] (trivial case) [ a b cl [xaxbl
Lcl^b C'J [xj [x a x b + x a x c + x b x c ]
x x x

Threshold
<>i: 0 <XaHh x b + x c ) 3 . 2 <XaHh x b>2:i <2x a

+ xb + x c ) 3 . 2

<x a > ] :o <x a - x b + x c > 2 : 1 <2xa + xb + x c ) 2 : 1 < x a - h x b)i:o < x a -h <0>0: - 1

[xa + x b x c ] [ a + bl [xa + x b + x cl [1] (trivial case)


x x

xb + x c ) 1 : 0

x a , x b , x c = any permutation of x x or x 1} x 2 or x 2 , x 3 or x 3

TABLE 3 LINEARLY SEPARABLE FUNCTIONS FOR n = 4

Chow- characteristic parameters Ibil


i = 0,. . . , n 0 2 4 0 2 4 16 14 12 0 2 4 0 2 0

Weighting factors 1 a il = i = 0 > n 1 0 0 0 0 3 1 1 1 1 2 1 1 1 0

' Possible inputvariable weights


1 0 3 1 2 2 1 3 3 2 1 1 2 2 1 0 0 1 1 1 1 1 2 2 2 1 1 2 1 1 0 0 1 1 1 1 1 2 1 1 1 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1

Corresponding gate thresholds tx::t 2 0:-l


3:2 1:0 2:1 1:0 4:3 3:2 2:1 1:0 3:2 2:1 2:1 1:0 or or or 3:2 or or or or or 2:1 or or or or 1:0 4:3 4:3 3:2 3:2 5:4 5:4 5:4 2:1 4:3 4:3 3:2

Karnaugh- map L.S. Karnaugh- map pattern density pattern i


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 8/8

16/0 or
9/7 or

0/16
7/9

15/1 or
8/8

1/15 6/10 2/14


7/9

10/6 or 14/2 or
9/7 or

10

3 2 2 1

11/5 or 13/3 or
8/8

5/11 3/13 4/12 6/10 4/12 5/11


1127

8 8 6

8 8 6

8 4 6

0 4 6

0 4 6

1 1 1 0 0 2 2 1 1 1 1 1 1 1 1

12/4 or 10/6 or 12/4 or 11/5 or

PROC. IEE, Vol. 119, No. 8, AUGUST 1972

TABLE 4
bvariable 1.s. function Map pattern (Table 6) F i r s t 4-variable map Second 4-variable map

BOOLEAN AND THRESHOLD REALISATION O F LINEARLY- SEPARABLE FUNCTIONS FOR n = 4


DM
Map pattern (Table 3 and Fig. 2)

DM

Map pattern (Table 3 and Fig. 2)

DM

Karnauah-map

density DM

Possible 1.s. Realisation of 1.s. function (standard canonic form) Karnaugh- map pattern Boolean Threshold

(%, xb, etc. = any permutation of xl o r x, x2 or x2,etc.) ,

45

50 59
62

16/16 16/16 17/15 16/16

12 14 15 15

4/12 4/12 5/11 5/11

12 14 14 15

)12/4 1115

TABLE 5

DECOMPOSITION O F ALL n = 5 L.S. FUNCTIONS INTO n = 4 KARNAUGH-MAP PATTERNS