A maxterm is the Boolean algebra expression formed by taking a row of a
truth table and forming an `or`

function where the
inputs are the input variables of the row.
Each maxterm variable will be negated if the same variable takes `1`

in the row, otherwise the variable is unnegated.
The maxterms are often numbered, one for each row, and named M_{i} for row i.
We can form an expression as a product of sums which is equivalent to the
function of the truth table by applying the `and`

function to all the maxterms whose function result is `0`

.

The truth table for the half adder, with a column showing the maxterm, is as follows:

` A ` | ` B ` | ` S ` | ` C ` | maxterm |
---|---|---|---|---|

`0` | `0` | `0` | `0` | M_{0} |

`0` | `1` | `1` | `0` | M_{1} |

`1` | `0` | `1` | `0` | M_{2} |

`1` | `1` | `0` | `1` | M_{3} |

If we were only interested in the sum output `S`

then we see that both maxterms M_{0} and M_{3}
give an output of `0`

for `S`

and this gives the sum of products equivalent of
`(A or B) and (not(A) or not(B))`

.
We know that the equation for `S`

is `S = A xor B`

, so our sum of products result is correct.

Mano, M. Morris, and Kime, Charles R. *Logic and Computer Design Fundamentals. 2nd Edition.* Prentice Hall, 2000.

Copyright © 2014 Barry Watson. All rights reserved.