Two Level Logic
Any logic function can be implemented with only
- AND, OR, and NOT functions
- Every input is either true or a complemented variable
- There are only two levels of gates and a possible inversion on the final output
Canonical Forms
- Literal = Boolean variable or complement of a boolean variable
- Positive literal
- Negative literal
- Product term: AND operation on literals
- Sum term: OR operation on literals
- Minterm: Product term where all variables appear exactly once
- Maxterm: Sum term in which all variables appear exactly once
- Normal Forms
- Canonical Disjunctive Normal Form (Sum of Products)
- Sum of minterms
- Unique for every truth table
- Canonical Conjunctive Normal Form (Product of Sums)
- Product of maxterms
- Not unique
- Different from normal two level logic because every inner term has to contain every variable
- Canonical Disjunctive Normal Form (Sum of Products)
Sum of Products
- Inner level AND, outer level OR
- Easy to construct from the truth table of a function
- AND the variables (inverted if their input is false) of each true row and then OR them together
- Used more often because of that
- Example
Product of Sums
- Inner level OR, outer level AND
- Derive by negating the sum of all products that are false and then applying DeMorgan’s theorem twice to get product of sums
- Example