![]() |
VOOZH | about |
A Boolean function is a function that takes one or more Boolean inputs and produces a Boolean output. It can be represented using Boolean algebra, which involves operations such as AND, OR, NOT, NAND, NOR, XOR, and XNOR.
An algebraic equation that includes binary variables, the constants 1 and 0, and the logic operation symbols +,., and ', describes a Boolean function. A boolean function can have a value of 1 or 0 for any set of binary variable values involved. For example, we can use the three binary variables x, y, and z to define the boolean function F = x'y + z. In the event where x = 0 and y = 1 or z = 1, the function would equal 1.
A boolean function can be expressed in terms of the Truth Table or by an algebraic expression similar to the one that was previously discussed. A function can be expressed using a variety of algebraic expressions because they are all logically identical.
(A) Each function has ν = 3 variables named a, b, and c. The truth table specifies the value fμ(a, b, c) ∈ {0, 1} for each of the 2³ possible combinations of 3 binary inputs (columns). Combinations corresponding to fμ = 1 are called minterms. A function is identified by its designation number X = 11101010 (last row). More readable representations are the full (top) and minimized (bottom) disjunctive normal forms.
(B) Hypercube consists of a set of terms (nodes), minterms (gray nodes), and edges connecting the closest terms in the function.
(C) A feed-forward Boolean network (FFBN) is a directed network made up of logic gates and wires that implement the function. The figure shows the FFBN of minimal cost.
Now that we know what minterms and maxterms are, we can use them to construct boolean expressions. "A Boolean function can be expressed algebraically from a given truth table by forming a minterm for each combination of the variables that produces a 1 in the function and then taking the OR of all those terms." For example, consider two functions and with the following truth tables -
| x | y | z | f 1 | f 2 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 |
| 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 | 1 |
Example 1: Canonical Sum-of-Products (SOP) Form
Problem: Express the function F(A,B,C) = A + BC in canonical SOP form.
Solution: F(A,B,C) = A'BC + A'BC' + ABC + ABC'
Explanation: We expand the original function to include all minterms where F is true. This includes all terms where A is true (regardless of B and C) and the term where A is false but both B and C are true.
Example 2: Canonical Product-of-Sums (POS) Form
Problem: Express the function F(x,y,z) = x + y'z in canonical POS form.
Solution: F(x,y,z) = (x + y + z)(x + y + z')(x + y' + z)(x + y' + z')
Explanation: We find all the maxterms where the function is false and AND them together. The function is false only when x is false, y is true, and z is false.
Example 3: Algebraic Representation
Problem: Simplify the Boolean function F = AB + A'B + AB'.
Solution: F = A + B
Explanation:
F = AB + A'B + AB'
= AB + A'B + AB' + AB (adding AB doesn't change the function)
= B(A + A') + A(B + B')
= B(1) + A(1)
= B + A
= A + B
Example 4 : Express the function F(A,B,C) = A'B + BC' in canonical SOP form.
Solution: F(A,B,C) = A'BC' + A'BC + ABC'
Explanation: We expand the original function to include all minterms where F is true. This includes terms where A is false and B is true (regardless of C), and where B is true and C is false (regardless of A).
Example 5: Convert the function F(x,y,z) = x'y'z + xy'z' + xyz to canonical POS form.
Solution: F(x,y,z) = (x + y + z)(x + y' + z)(x' + y + z)
Explanation: We find all the maxterms where the function is false and AND them together. The function is false only when (x,y,z) is (0,1,0), (1,0,1), or (0,0,1).
Example 6 : Simplify the Boolean expression: G(a,b,c) = ab + a'c + bc
Solution: G(a,b,c) = ab + c
Explanation:
G = ab + a'c + bc
= ab + c(a' + b)
= ab + c(a' + b + ab) (adding ab doesn't change the result)
= ab + c(a' + b)
= ab + c
Example 7 : Express the function H(p,q,r) = p'q' + qr' in algebraic form using only NAND operations.
Solution: H(p,q,r) = ((p NAND p) NAND (q NAND q)) NAND ((q NAND (r NAND r)) NAND (q NAND (r NAND r)))
Explanation: We first convert OR to NAND using De Morgan's law, then replace AND with NAND, and finally replace NOT with a NAND of the variable with itself.
Example 8 : Express the function K(a,b,c) = (a + b')(a' + c) in canonical SOP form.
Solution: K(a,b,c) = a'bc + ab'c + abc
Explanation: We expand the expression and find all combinations that make it true. This includes when a is false, b and c are true; when a and c are true, b is false; and when all variables are true.
Problem 9 : Convert the function F(w,x,y,z) = wx + y'z + xyz' to Reed-Muller canonical form.
Solution: F(w,x,y,z) = 1 ⊕ y ⊕ z ⊕ wx ⊕ yz
Explanation:
Start with F = wx + y'z + xyz'
Replace y' with (1 ⊕ y)
F = wx + (1 ⊕ y)z + xyz'
Expand: F = wx + z ⊕ yz + xyz'
Combine xyz' and xyz: F = wx + z ⊕ yz + xy(z' ⊕ z)
Since (z' ⊕ z) = 1, we get: F = wx + z ⊕ yz + xy
Rearranging: F = 1 ⊕ y ⊕ z ⊕ wx ⊕ yz
The Reed-Muller canonical form uses XOR (⊕) and AND operations, with each variable appearing at most once in each term.
Example 10 : Represent the function G(a,b,c) = a'b + bc' + ac using a Binary Decision Diagram (BDD).
Solution: The BDD for this function would look like this (described textually):
Root node: a
If a = 0: go to node b
If b = 0: output 0
If b = 1: output
If a = 1: go to node c
If c = 0: go to node b
If b = 0: output 0
If b = 1: output 1
If c = 1: output 1
Explanation:
We start with variable a at the root.
If a is false (0), the function reduces to b, so we output 1 if b is true, 0 otherwise.
If a is true (1), we need to check c.
If c is true, the function is true regardless of b.
If c is false, we need to check b (because of the bc' term).
1. Express the function F(x,y,z) = x'y + yz + xz' in canonical Sum-of-Products (SOP) form.
2. Convert the function G(a,b,c) = (a + b')(a' + c)(b + c') to canonical Product-of-Sums (POS) form.
3. Simplify the Boolean expression H(p,q,r) = pq + p'r + qr using algebraic methods.
4. Represent the function J(w,x,y,z) = Σm(0,1,3,4,5,7,8,9,11,15) using a Karnaugh map and find its minimal SOP form.
5. Express the function K(a,b,c) = a'b + bc' + ab'c in Reed-Muller canonical form.
6. Convert the function L(x,y,z) = x'y'z + xy'z' + xyz to a form using only NOR operations.
7. Draw a Binary Decision Diagram (BDD) for the function M(p,q,r) = pq + qr' + pr.
8. Find the dual of the function N(a,b,c) = (a + b')(a' + c).
9. Express the function P(w,x,y,z) = w'x + yz + wx'y' using Shannon's expansion theorem.
10. Given the truth table for function Q(a,b,c) where Q is true for minterms 1, 2, 4, and 7, express Q in minimal SOP and minimal POS forms.