0% found this document useful (0 votes)
107 views55 pages

Sistem Digital V

The document discusses Boolean algebra and logic simplification. It covers Boolean algebra properties such as the zero axiom, unit axiom, complement, duality principle, and absorption property. Truth tables are presented as a way to represent Boolean functions. Standard forms like Sum-of-Products (SOP) and Product-of-Sums (POS) are introduced using concepts of minterms and maxterms. Canonical forms are defined as the unique SOP and POS representations of a function.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views55 pages

Sistem Digital V

The document discusses Boolean algebra and logic simplification. It covers Boolean algebra properties such as the zero axiom, unit axiom, complement, duality principle, and absorption property. Truth tables are presented as a way to represent Boolean functions. Standard forms like Sum-of-Products (SOP) and Product-of-Sums (POS) are introduced using concepts of minterms and maxterms. Canonical forms are defined as the unique SOP and POS representations of a function.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Sistem Digital

(410206)

Materi Kuliah ke-5

BOOLEAN ALGEBRA AND LOGIC


SIMPLICATION
Boolean Algebra
• VERY nice machinery used to manipulate
(simplify) Boolean functions
• George Boole (1815-1864): “An
investigation of the laws of thought”
• Terminology:
– Literal: A variable or its complement
– Product term: literals connected by •
– Sum term: literals connected by +
Boolean Algebra Properties
Let X: boolean variable, 0,1: constants

1. X+0=X -- Zero Axiom


2. X•1 =X -- Unit Axiom
3. X+1 =1 -- Unit Property
4. X•0 =0 -- Zero Property
Boolean Algebra Properties (cont.)

Let X: boolean variable, 0,1: constants

5. X+X=X -- Idepotence
6. X•X =X -- Idepotence Unchanged in
value following
7. X + X’ = 1 -- Complement multiplication by
8. X • X’ = 0 -- Complement itself

9. (X’)’ = X -- Involution
The Duality Principle
• The dual of an expression is obtained by
exchanging (• and +), and (1 and 0) in it,
provided that the precedence of operations is
not changed.
• Cannot exchange x with x’
• Example:
– Find H(x,y,z), the dual of F(x,y,z) = x’yz’ + x’y’z
– H = (x’+y+z’) (x’+y’+ z)
• Dual does not always equal the original
expression
• If a Boolean equation/equality is valid, its dual is also
valid
The Duality Principle (cont.)
With respect to duality, Identities 1 – 8 have the
following relationship:

1. X+0=X 2. X•1 =X (dual of 1)


3. X + 1 = 1 4. X • 0 = 0 (dual of 3)
5. X + X = X 6. X • X = X (dual of 5)
7. X + X’ = 1 8. X • X’ = 0 (dual of 8)
More Boolean Algebra Properties
Let X,Y, and Z: boolean variables
10. X+Y=Y+X 11. X•Y=Y•X -- Commutative
12. X + (Y+Z) = (X+Y) + Z 13. X•(Y•Z) = (X•Y)•Z -- Associative
14. X•(Y+Z) = X•Y + X•Z 15. X+(Y•Z) = (X+Y) • (X+Z)
-- Distributive
16. (X + Y)’ = X’ • Y’ 17. (X • Y)’ = X’ + Y’ -- DeMorgan’s
In general,
( X1 + X2 + … + Xn )’ = X1’•X2’ • … •Xn’, and
( X1•X2•… •Xn )’ = X1’ + X2’ + … + Xn’
Absorption Property (Covering)
1. x + x•y = x
2. x•(x+y) = x (dual)
• Proof:
x + x•y = x•1 + x•y
= x•(1+y)
= x•1
=x
QED (2 true by duality)
Consensus Theorem
1. xy + x’z + yz = xy + x’z
2. (x+y)•(x’+z)•(y+z) = (x+y)•(x’+z) -- (dual)
• Proof:
xy + x’z + yz = xy + x’z + (x+x’)yz
= xy + x’z + xyz + x’yz
= (xy + xyz) + (x’z + x’zy)
= xy + x’z
QED (2 true by duality).
Truth Tables (revisited)
• Enumerates all possible x y z F1 F2 F3
combinations of variable 0 0 0 0 1 1
values and the corresponding 0 0 1 0 0 1
function value 0 1 0 0 0 1
• Truth tables for some arbitrary 0 1 1 0 1 1
functions
F1(x,y,z), F2(x,y,z), and 1 0 0 0 1 0
F3(x,y,z) are shown to the right. 1 0 1 0 1 0
1 1 0 0 0 0
1 1 1 1 0 1
Truth Tables (cont.)
• Truth table: a unique representation of a
Boolean function
• If two functions have identical truth tables, the
functions are equivalent (and vice-versa).
• Truth tables can be used to prove equality
theorems.
• However, the size of a truth table grows
exponentially with the number of variables
involved, hence unwieldy. This motivates the
use of Boolean Algebra.
Boolean expressions-NOT unique

• Unlike truth tables, expressions x y z F G


representing a Boolean function are 0 0 0 1 1
NOT unique.
0 0 1 0 0
• Example:
– F(x,y,z) = x’•y’•z’ + x’•y•z’ + x•y•z’ 0 1 0 1 1
– G(x,y,z) = x’•y’•z’ + y•z’ 0 1 1 0 0
• The corresponding truth tables for F() 1 0 0 0 0
and G() are to the right. They are
identical! 1 0 1 0 0
• Thus, F() = G() 1 1 0 1 1
1 1 1 0 0
Algebraic Manipulation
• Boolean algebra is a useful tool for
simplifying digital circuits.
• Why do it? Simpler can mean cheaper,
smaller, faster.
• Example: Simplify F = x’yz + x’yz’ + xz.
F = x’yz + x’yz’ + xz
= x’y(z+z’) + xz
= x’y•1 + xz
= x’y + xz
Algebraic Manipulation (cont.)
• Example: Prove
x’y’z’ + x’yz’ + xyz’ = x’z’ + yz’
• Proof:
x’y’z’+ x’yz’+ xyz’
= x’y’z’ + x’yz’ + x’yz’ + xyz’
= x’z’(y’+y) + yz’(x’+x)
= x’z’•1 + yz’•1
= x’z’ + yz’
QED.
Complement of a Function
• The complement of a function is derived
by interchanging (• and +), and (1 and 0),
and complementing each variable.
• Otherwise, interchange 1s to 0s in the
truth table column showing F.
• The complement of a function IS NOT
THE SAME as the dual of a function.
Complementation: Example
• Find G(x,y,z), the complement of
F(x,y,z) = xy’z’ + x’yz
• G = F’ = (xy’z’ + x’yz)’
= (xy’z’)’ • (x’yz)’ DeMorgan
= (x’+y+z) • (x+y’+z’) DeMorgan again
• Note: The complement of a function can also be
derived by finding the function’s dual, and then
complementing all of the literals
Canonical and Standard Forms
• We need to consider formal techniques for
the simplification of Boolean functions.
– Minterms and Maxterms
– Sum-of-Minterms and Product-of-Maxterms
– Product and Sum terms
– Sum-of-Products (SOP) and Product-of-Sums
(POS)
Definitions
• Literal: A variable or its complement
• Product term: literals connected by •
• Sum term: literals connected by +
• Minterm: a product term in which all the
variables appear exactly once, either
complemented or uncomplemented
• Maxterm: a sum term in which all the variables
appear exactly once, either complemented or
uncomplemented
Minterm
• Represents exactly one combination in the truth
table.
• Denoted by mj, where j is the decimal equivalent
of the minterm’s corresponding binary
combination (bj).
• A variable in mj is complemented if its value in bj
is 0, otherwise is uncomplemented.
• Example: Assume 3 variables (A,B,C), and j=3.
Then, bj = 011 and its corresponding minterm is
denoted by mj = A’BC
Maxterm
• Represents exactly one combination in the truth
table.
• Denoted by Mj, where j is the decimal equivalent
of the maxterm’s corresponding binary
combination (bj).
• A variable in Mj is complemented if its value in bj
is 1, otherwise is uncomplemented.
• Example: Assume 3 variables (A,B,C), and j=3.
Then, bj = 011 and its corresponding maxterm is
denoted by Mj = A+B’+C’
Truth Table notation for
Minterms and Maxterms
• Minterms and x y z Minterm Maxterm
Maxterms are 0 0 0 x’y’z’ = m0 x+y+z = M0
easy to denote 0 0 1 x’y’z = m1 x+y+z’ = M1
using a truth 0 1 0 x’yz’ = m2 x+y’+z = M2
table. 0 1 1 x’yz = m3 x+y’+z’= M3
• Example: 1 0 0 xy’z’ = m4 x’+y+z = M4
Assume 3 1 0 1 xy’z = m5 x’+y+z’ = M5
variables x,y,z 1 1 0 xyz’ = m6 x’+y’+z = M6
(order is fixed) 1 1 1 xyz = m7 x’+y’+z’ = M7
Canonical Forms (Unique)
• Any Boolean function F( ) can be
expressed as a unique sum of minterms
and a unique product of maxterms (under
a fixed variable ordering).
• In other words, every function F() has two
canonical forms:
– Canonical Sum-Of-Products (sum of
minterms)
– Canonical Product-Of-Sums (product of
maxterms)
Canonical Forms (cont.)
• Canonical Sum-Of-Products:
The minterms included are those mj such
that F( ) = 1 in row j of the truth table for F(
).
• Canonical Product-Of-Sums:
The maxterms included are those Mj such
that F( ) = 0 in row j of the truth table for F(
).
Example
• Truth table for f1(a,b,c) at right
a b c f1
• The canonical sum-of-products form for
f1 is 0 0 0 0
f1(a,b,c) = m1 + m2 + m4 + m6 0 0 1 1
= a’b’c + a’bc’ + ab’c’ + abc’
0 1 0 1
• The canonical product-of-sums form for
f1 is 0 1 1 0
f1(a,b,c) = M0 • M3 • M5 • M7 1 0 0 1
= (a+b+c)•(a+b’+c’)•
(a’+b+c’)•(a’+b’+c’). 1 0 1 0
• Observe that: mj = Mj’ 1 1 0 1
1 1 1 0
Shorthand: ∑ and ∏
• f1(a,b,c) = ∑ m(1,2,4,6), where ∑ indicates that
this is a sum-of-products form, and m(1,2,4,6)
indicates that the minterms to be included are
m1, m2, m4, and m6.
• f1(a,b,c) = ∏ M(0,3,5,7), where ∏ indicates that
this is a product-of-sums form, and M(0,3,5,7)
indicates that the maxterms to be included are
M0, M3, M5, and M7.
• Since mj = Mj’ for any j,
∑ m(1,2,4,6) = ∏ M(0,3,5,7) = f1(a,b,c)
Conversion Between Canonical Forms

• Replace ∑ with ∏ (or vice versa) and replace those j’s


that appeared in the original form with those that do not.
• Example:
f1(a,b,c) = a’b’c + a’bc’ + ab’c’ + abc’
= m1 + m2 + m4 + m6
= ∑(1,2,4,6)
= ∏(0,3,5,7)
= (a+b+c)•(a+b’+c’)•(a’+b+c’)•(a’+b’+c’)
Standard Forms (NOT Unique)
• Standard forms are “like” canonical forms,
except that not all variables need appear
in the individual product (SOP) or sum
(POS) terms.
• Example:
f1(a,b,c) = a’b’c + bc’ + ac’
is a standard sum-of-products form
• f1(a,b,c) = (a+b+c)•(b’+c’)•(a’+c’)
is a standard product-of-sums form.
Conversion of SOP from
standard to canonical form
• Expand non-canonical terms by inserting
equivalent of 1 in each missing variable x:
(x + x’) = 1
• Remove duplicate minterms
• f1(a,b,c) = a’b’c + bc’ + ac’
= a’b’c + (a+a’)bc’ + a(b+b’)c’
= a’b’c + abc’ + a’bc’ + abc’ + ab’c’
= a’b’c + abc’ + a’bc + ab’c’
Conversion of POS from
standard to canonical form
• Expand noncanonical terms by adding 0 in terms
of missing variables (e.g., xx’ = 0) and using the
distributive law
• Remove duplicate maxterms
• f1(a,b,c) = (a+b+c)•(b’+c’)•(a’+c’)
= (a+b+c)•(aa’+b’+c’)•(a’+bb’+c’)
= (a+b+c)•(a+b’+c’)•(a’+b’+c’)•
(a’+b+c’)•(a’+b’+c’)
= (a+b+c)•(a+b’+c’)•(a’+b’+c’)•(a’+b+c’)
Karnaugh Maps
• Karnaugh maps (K-maps) are graphical
representations of boolean functions.
• One map cell corresponds to a row in the
truth table.
• Also, one map cell corresponds to a
minterm or a maxterm in the boolean
expression
• Multiple-cell areas of the map correspond
to standard terms.
Two-Variable Map
x2 x1
x1 0 1 x2 0 1
0 1 0 2

OR
0 m0 m1 0 m0 m2
2 3 1 3
1 m2 m3 1 m1 m3

NOTE: ordering of variables is IMPORTANT


for f(x1,x2), x1 is the row, x2 is the column.
Cell 0 represents x1’x2’; Cell 1 represents
x1’x2; etc. If a minterm is present in the
function, then a 1 is placed in the
corresponding cell.
Two-Variable Map (cont.)
• Any two adjacent cells in the map differ by
ONLY one variable, which appears
complemented in one cell and
uncomplemented in the other.
• Example:
m0 (=x1’x2’) is adjacent to m1 (=x1’x2) and
m2 (=x1x2’) but NOT m3 (=x1x2)
2-Variable Map -- Example
• f(x1,x2) = x1’x2’+ x1’x2 + x1x2’
= m0 + m1 + m2
= x1’ + x2’
• 1s placed in K-map for x2
specified minterms m0, m1, m2 x1 0 1
• Grouping (ORing) of 1s allows 0 1
simplification
• What (simpler) function is
represented by each dashed
0 1 1
rectangle? 2 3
– a1’ = m0 + m1
– a2’ = m0 + m2 1 1 0
• Note m0 covered twice
Minimization as SOP using K-map

• Enter 1s in the K-map for each product


term in the function
• Group adjacent K-map cells containing 1s
to obtain a product with fewer variables.
Groups must be in power of 2 (2, 4, 8, …)
• Handle “boundary wrap” for K-maps of 3
or more variables.
• Realize that answer may not be unique
Three-Variable Map
yz
x 00 01 11 10
0 1 3 2
0 m0 m1 m3 m2
4 5 7 6
1 m4 m5 m7 m6

-Note: variable ordering is (x,y,z); yz specifies


column, x specifies row.
-Each cell is adjacent to three other cells (left or
right or top or bottom or edge wrap)
Three-Variable Map (cont.)
minterm

The types of structures


that are either minterms or
are generated by repeated
application of the
minimization theorem on a
three variable map are
shown at right.
Groups of 1, 2, 4, 8 are
possible. group of 2 terms

group of 4 terms
Simplification
• Enter minterms of the Boolean function
into the map, then group terms
• Example: f(a,b,c) = ac’ + abc + bc’
• Result: f(a,b,c) = ac’+ b
a bc
0 1 1 1
1 1 1
0 1 1 1
00 01 10 11
1 1 1
00 01 10 11
More Examples
yz
X 00 01 11 10

• f1(x, y, z) = ∑ m(2,3,5,7) 0 1 1
1 1 1
„ f1(x, y, z) = x’y + xz

• f2(x, y, z) = ∑ m (0,1,2,3,6)
1 1 1 1
„f2(x, y, z) = x’+yz’
1
Four-Variable Maps
YZ
WX 00 01 11 10

00 m0 m1 m3 m2

01 m4 m5 m7 m6

11 m12 m13 m15 m14

10 m8 m9 m10 m11

• Top cells are adjacent to bottom cells. Left-edge


cells are adjacent to right-edge cells.
• Note variable ordering (WXYZ).
Four-variable Map Simplification
• One square represents a minterm of 4 literals.
• A rectangle of 2 adjacent squares represents a
product term of 3 literals.
• A rectangle of 4 squares represents a product
term of 2 literals.
• A rectangle of 8 squares represents a product
term of 1 literal.
• A rectangle of 16 squares produces a function
that is equal to logic 1.
Example
• Simplify the following Boolean function
(A,B,C,D) = ∑m(0,1,2,4,5,7,8,9,10,12,13).
• First put the function g( ) into the map, and then
group as many 1s as possible.
cd 00 01 11 10
ab 00 01 11 10

00 1 1 1 1 1 1

01 1 1 1 1 1 1

11 1 1 1 1

10 1 1 1 1 1 1

g(A,B,C,D) = c’+b’d’+a’bd
5-Variable K-Map
DE
BC A=1
16 17 19 18
DE
BC 20 21 23 22

0 1 3 28 2 29 31 30

4 5 7 24 6 25 27 26

12 13 15 14
ABCDE’
8 9 11 10

A=0 A’BCDE’
Implicants and
Prime Implicants (PIs)
• An Implicant (P) of a function F is a product
term which implies F, i.e., F(P) = 1.
• An implicant (PI) of F is called a Prime
Implicant of F if any product term obtained
by deleting a literal of PI is NOT an implicant
of F
• Thus, a prime implicant is not contained in
any “larger” implicant.
Example
• Consider function f(a,b,c,d) whose K-
map is shown at right. b’
• a’b’ is not a prime implicant because ad
it is contained in b’. cd ab
1 1
• acd is not a prime implicant because
it is contained in ad. 1 1 1

• b’, ad, and a’cd’ are prime implicants. 1 1 1


a’b’ 1 1 1

acd
a’cd’
Essential Prime Implicants (EPIs)

• If a minterm of a function F is included in ONLY


one prime implicant p, then p is an essential
prime implicant of F. b’
• An essential prime implicant MUST appear in ad
all possible SOP expressions of a function 1 1
• To find essential prime implicants: 1 1 1
– Generate all prime implicants of a function 1 1 1
– Select those prime implicants that contain at least one 1 1 1
1 that is not covered by any other prime implicant.
• For the previous example, the PIs are b’, ad, a’cd’
and a’cd’; all of these are essential.
Another Example
• Consider f2(a,b,c,d), whose K-map
is shown below.
• The only essential PI is b’d.
ab
cd
1
1 1 1
1 1
1 1 1
Systematic Procedure for
Simplifying Boolean Functions
1. Generate all PIs of the function.
2. Include all essential PIs.
3. For remaining minterms not included in
the essential PIs, select a set of other
PIs to cover them, with minimal overlap
in the set.
4. The resulting simplified function is the
logical OR of the product terms selected
above.
Example
• f(a,b,c,d) =
cd
∑m(0,1,2,3,4,5,7,14,15). ab
• Five grouped terms, not all 1 1 1 1

needed. 1 1 1

• 3 shaded cells covered by only 1 1

one term
• 3 EPIs, since each shaded cell is
covered by a different term.
• F(a,b,c,d) = a’b’ + a’c’ + a’d + abc
Product of Sums Simplification
• Use sum-of-products simplification on the
zeros of the function in the K-map to get
F’.
• Find the complement of F’, i.e. (F’)’ = F
– Recall that the complement of a boolean
function can be obtained by (1) taking the
dual and (2) complementing each literal.
– OR, using DeMorgan’s Theorem.
POS Example
cd
ab
1 1 1 1
1 1 1 0
0 0 1 1
0 0 0 0

• F’(a,b,c,d) = ab’ + ac’ + a’bcd’


• Find dual of F’, dual(F’) = (a+b’)(a+c’)(a’+b+c+d’)
• Complement of literals in dual(F’) to get F
F = (a’+b)(a’+c)(a+b’+c’+d)
(verify that this is the same as in slide 60)
Don't Care Conditions
• There may be a combination of input values which
– will never occur
– if they do occur, the output is of no concern.
• The function value for such combinations is called a
don't care.
• They are usually denoted with x. Each x may be
arbitrarily assigned the value 0 or 1 in an
implementation.
• Don’t cares can be used to further simplify a
function
Minimization using Don’t Cares

• Treat don't cares as if they are 1s to


generate PIs.
• Delete PI's that cover only don't care
minterms.
• Treat the covering of remaining don't care
minterms as optional in the selection
process (i.e. they may be, but need not be,
covered).
cd
ab 00 01 11 10
Example 00 0 1 0 1
01 1 1 0 1
• Simplify the function f(a,b,c,d) 11 0 0 x x
whose K-map is shown at the right. 10 1 1 x x
• f = a’c’d+ab’+cd’+a’bc’
or 0 1 0 1
• f = a’c’d+ab’+cd’+a’bd’ 1 1 0 1
0 0 x x
• The middle two terms are EPIs, while
1 1 x x
the first and last terms are selected to
cover the minterms m1, m4, and m5.
0 1 0 1
• (There’s a third solution!)
1 1 0 1
0 0 x x
1 1 x x
cd
Another Example ab
x 1 0 0
1 x 0 x
• Simplify the function 1 x x 1

g(a,b,c,d) whose K-map 0 x x 0

is shown at right. x 1 0 0
• g = a’c’+ ab 1 x 0 x
1 x x 1
or
0 x x 0
• g = a’c’+b’d
x 1 0 0
1 x 0 x
1 x x 1
0 x x 0
Algorithmic minimization
• What do we do for functions with more
than 4-5 variables?
• You can “code up” a minimiser
(Computer-Aided Design, CAD)
– Quine-McCluskey algorithm
– Iterated consensus
• We won’t discuss these techniques here

22-Oct-07 Chapter 2-i: Combinational Logic 55


Circuits (2.1-- 2.5)

You might also like