Sum of Products
Sum-of-products expresses a function as an OR of AND terms, read directly from the rows of a truth table that output 1.
The form
A sum-of-products, or SOP, expression is an OR (the sum) of several AND terms (the products). Each product is a group of inputs, some complemented, ANDed together. The whole function is 1 when any one product is 1.
Reading it from a truth table
For every row where the output is 1, write a product that is true only for that row: include each input plain if it is 1 in that row and complemented if it is 0. ORing these products reproduces the function exactly. Such full products are called minterms.
Worked example
| A | B | OUT |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
The output is 1 in two rows, giving OUT = (NOT A AND B) OR (A AND NOT B). That is exactly the XOR function.
Canonical versus minimized
- Canonical SOP lists one full minterm per 1-row; it is complete but often large.
- Minimized SOP merges minterms using algebra or a Karnaugh map to cut literals and terms.
- Both describe the same function; minimization only reduces the gate count.
Why it maps to hardware
SOP corresponds to a two-level AND-OR network: a bank of AND gates feeding a single OR gate. This regular structure is the basis of programmable logic arrays and is easy to reason about and to lay out.
Its dual, the product-of-sums, is read from the 0-rows instead and gives an OR-AND network.