11.1 Boolean Functions
description
Transcript of 11.1 Boolean Functions
11.1 Boolean Functions
Boolean Algebra• An algebra is a set with one or more operations defined
on it.• A boolean algebra has three main operations, and, or, and
not, (typically operating on the set {0,1}).
• Rules of precedence for Boolean operators: PCoPS- parentheses, complements, products, sums
OR + a+b
AND ∙ ab
NOT complement
Examples:
1 ∙0+1 ∙ (1+1 )+0=¿
(1 ∙1)+0 ∙1=¿
Laws of Boolean Algebra
Double Complement
Idempotent
Identity
Domination
00
11
1
0
x
x
xx
xx
xxx
xxx
xx
More Laws of Boolean Algebra
Commutative
Associative
Distributive
))((
)(
)()(
)()(
zxyxyzx
xzxyzyx
zxyyzx
zyxzyx
xyyx
xyyx
Laws of Boolean Algebra Concluded
DeMorgan’s Laws
Absorption Laws
Unit Property
Zero Property 0
1
)(
xx
xx
xyxx
xxyx
yxyx
yxxy
“Proving” the Laws of Boolean Algebra
• If the underlying set is just {0,1}, we can prove these laws with truth tables, just as we did with propositional logic.
Duals and the Duality Principle
• The dual of a boolean expression is obtained by replacing all sums by products, all products by sums, all 0’s by 1’s, and all 1’s by 0’s.
• Example:
• The duality principle says that if an equation in a boolean algebra is an identity, i.e. always true no matter what the values of the variables, then the equation obtained by replacing both sides by their duals is also an identity.
Boolean Functions of Degree n on the Boolean algebra {0, 1}
𝐹 (𝑥 , 𝑦 ,𝑧 )=𝑥 𝑦+𝑦 𝑧
Example: Boolean Function Table
1 1 1
1 1 0
1 0 1
1 0 0
0 1 1
0 1 0
0 0 1
0 0 0
Using a 3-cube to represent a Boolean Function:
Lattices and Boolean Algebra
• A lattice is a partially ordered set in which every pair of elements has both a least upper bound (lub) and a greatest lower bound (glb).
• The supremum ab is defined as lub(a,b) and the infimum ab is defined as glb(a,b)
• A lattice is said to be distributive if each of and distributes over the other.
• For a distributive lattice to be a Boolean algebra, there must be (a) a largest element 1, (b) a least element 0, and (c) for each element x a complement with the property that
x0 and 1 xxxx
11.2 Representing Boolean Functions
( n-ary functions on the set {0, 1} )
Disjunctive Normal Form
• Pick out all the ones in the “function table” column corresponding to the function value.
• Translate each to an “and” of n literals (a literal is a Boolean variable of the form x or )
• Each such product is called a “minterm”.• The desired function is the sum of these
minterms, and is called the sum-of-products expansion or disjunctive normal form of the function.
x
Example
1 1
1 0
0 1
0 0
𝐹 (𝑥 , 𝑦 )=𝑥+𝑦+(𝑥+𝑦 )
Another Example
• Find the DNF expansion of )()(),,( zyyxzyxF
1 1 1
1 1 0
1 0 1
1 0 0
0 1 1
0 1 0
0 0 1
0 0 0
Example: Find the sum-of-products expansion of the Boolean function that equals 1 if and only if
Laws of Boolean Algebra Concluded
DeMorgan’s Laws
Absorption Laws
Unit Property
Zero Property 0
1
)(
xx
xx
xyxx
xxyx
yxyx
yxxy
Functional Completeness• A set of operators on an algebra is said to be
functionally complete if any function of any degree on that algebra can be expressed in terms of those operators
• The set is functionally complete in any boolean algebra.
• But since , so is• Also, since , is also
functionally complete
},,{
𝑥𝑦=¿𝑥+𝑦=¿
Example: Express the Boolean function using only the operators and .
The NAND Operation
yx |
The NOR Operation
yx
Example:
1. Express the Boolean function using only the operator and using only the operator .
11.3 Logic Gates
• Boolean algebra is the algebra of circuits.• The elementary operations of the algebra
correspond to circuit elements called gates.
Basic Types of Gates
Combinations of gates
• Branching and multiple inputs
xyyx
xyxxy
)(
)(
Example:
Example
• Three switches x, y, and z, controlling a light
x y z F(x,y,z)
1 1 1
1 1 0
1 0 1
1 0 0
0 1 1
0 1 0
0 0 1
0 0 0
Half-Adder Circuit
Full Adder
11.4 Minimization of Circuits
• Minimizing a circuit is minimizing the number of gates necessary to achieve the required outputs
• Equivalent to minimizing the Boolean function, i.e. to finding the least number of Boolean operations needed to compute the function
• Recall that any such function can be expressed as a sum of minterms– Note that the number of possible minterms is
exponential in the number n of variables.– Note also that the number of functions is exponential in
the number of minterms.
Karnaugh Maps for Two Variables
• Variables x and y• Label rows with x and x, columns with y
and y
Another Example𝐹 (𝑥 , 𝑦 )=𝑥 𝑦+𝑥 𝑦
Karnaugh Maps (K-Maps) for Three Variables
• Variables x, y, and z• Use x and x as row labels• Use all possible products of y and z
literals, arranged in a Gray code, as column labels
• The geometric picture is that of a band, since the last and first cells in each row are to be considered adjacent
Examples
𝐹 (𝑥 , 𝑦 ,𝑧 )=𝑥𝑦 𝑧+𝑥 𝑦 𝑧+𝑥 𝑦𝑧+𝑥 𝑦 𝑧
𝐹 (𝑥 , 𝑦 ,𝑧 )=𝑥𝑦𝑧+𝑥 𝑦 𝑧+𝑥 𝑦𝑧+𝑥 𝑦 𝑧
Implicants, Prime Implicants, and Essential Prime Implicants
Example𝐹 (𝑥 , 𝑦 ,𝑧 )=𝑥𝑦𝑧+𝑥 𝑦 𝑧+𝑥 𝑦𝑧+𝑥 𝑦 𝑧+𝑥 𝑦 𝑧
K-Maps for Four Variables
• Variables w, x, y, and z• Use all possible products of w and x
literals, arranged in a Gray code, as row labels
• Use all possible products of y and z literals, arranged in a Gray code, as row labels
• Geometric picture is that of a torus
Example𝐹 (𝑤 , 𝑥 , 𝑦 , 𝑧 )=𝑤𝑥𝑦𝑧+𝑤𝑥𝑦 𝑧+𝑤𝑥 𝑦 𝑧+𝑤𝑥𝑦𝑧+𝑤𝑥𝑦𝑧+𝑤𝑥𝑦𝑧
Another Example𝐹 (𝑤 , 𝑥 , 𝑦 , 𝑧 )=𝑤𝑥𝑦 𝑧+𝑤𝑥 𝑦 𝑧+𝑤𝑥 𝑦 𝑧+𝑤𝑥 𝑦 𝑧
𝐹 (𝑤 , 𝑥 , 𝑦 , 𝑧 )=𝑤𝑥𝑦𝑧+𝑤𝑥 𝑦 𝑧+𝑤𝑥𝑦 𝑧+𝑤𝑥𝑦𝑧+𝑤𝑥𝑦 𝑧+𝑤𝑥 𝑦 𝑧+𝑤𝑥 𝑦 𝑧+𝑤𝑥𝑦 𝑧
A light controlled by 4 switches:
The Quine-McCluskey Method
• Map each min-term into a bit string. E.g. map wxyz to 0110.
• Generate implicants as bit strings with wild card characters, such as 0–01
• Prime implicants are those which are not generalized by any other implicant
• Essential prime implicants are those which generalize a min-term not generalized by any other implicant
Example
wxyz, wxyz, wxyz, wxyz, wxyz, wxyz, wxyz
wxyz, wxyz, wxyz, wxyz, wxyz, wxyz, wxyz
Check with Karnaugh Map
Linkhttp://www.mathcs.bethel.edu/~gossett/DiscreteMathWithProof/QuineMcCluskey.html