Boolean Algebra
Table 1 -Logical Equivalencies
A digital signal represents a binary variable. The name of the signal is generally associated with the output terminal of the device from which it originates and is the name of the variable. A variable may be a function of other variables. One expression might be x = f(y, z). Every Boolean expression evaluates to a quantity 0 or 1. A variable may itself be a function of other variables. Or we may choose to represent a function by a single variable. Only three operations are permissible:
Canonical Forms
Given a table representing an expression we can easily derive canonical forms, either sum-of-products (designed to recognize a specific input combination for which the table of combinations requires a 1) or product-of-sums (designed to detect a specific input combination for which the table of combinations requires a 0).
|
x y z |
f |
|
0 0 0 |
1 |
|
0 0 1 |
0 |
|
0 1 0 |
1 |
|
0 1 1 |
0 |
|
1 0 0 |
1 |
|
1 0 1 |
0 |
|
1 1 0 |
1 |
|
1 1 1 |
1 |
Sum-of-products: f = x'y'z' + x'yz' + xy'z' + xyz' + xyz.
A disjunction of minterms.
Product-of-sums: f ' = x'y'z + x'yz + xy'z => f = (x'y'z + x'yz + xy'z)' = (x + y + z')(x + y' + z')(x' + y + z').
f = (x + y + z')(x + y' + z')(x' + y + z'). A
conjunction of maxterms.
Both of these functions are equivalent as they were designed from the same table of combinations.
Repeated application of Table 1 Theorem 10.b allows reduction of the above forms to simply: f = xy + z'
This minimization technique is easily applied using Karnaugh maps for variables numbering 4 or less.
The problem of synthesizing a gate network can lead to many equivalent circuits, some more complex than others. Consider the simple EXCLUSIVE OR, Å ,