0% found this document useful (0 votes)
18 views66 pages

EE207: Digital Systems I, Semester I 2003/2004: CHAPTER 2-I: Combinational Logic Circuits (Sections 2.1 - 2.5)

This chapter discusses combinational logic circuits, including binary logic, logic gates, Boolean algebra, and Karnaugh maps. Binary logic uses the values 0 and 1 and logic operations like AND, OR, and NOT. Logic gates are used to implement logic functions using basic operations. Boolean algebra allows simplifying logic functions using properties like duality, commutativity, associativity, and distributivity. Karnaugh maps are used to simplify logic functions with up to 5 variables.

Uploaded by

Rhayhana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views66 pages

EE207: Digital Systems I, Semester I 2003/2004: CHAPTER 2-I: Combinational Logic Circuits (Sections 2.1 - 2.5)

This chapter discusses combinational logic circuits, including binary logic, logic gates, Boolean algebra, and Karnaugh maps. Binary logic uses the values 0 and 1 and logic operations like AND, OR, and NOT. Logic gates are used to implement logic functions using basic operations. Boolean algebra allows simplifying logic functions using properties like duality, commutativity, associativity, and distributivity. Karnaugh maps are used to simplify logic functions with up to 5 variables.

Uploaded by

Rhayhana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 66

EE207: Digital Systems

I, Semester I 2003/2004

CHAPTER 2-i:
Combinational Logic Circuits
(Sections 2.1 – 2.5)
Overview
• Binary logic and Gates
• Boolean Algebra
– Basic Properties
– Algebraic Manipulation
• Standard and Canonical Forms
– Minterms and Maxterms (Canonical forms)
– SOP and POS (Standard forms)
• Karnaugh Maps (K-Maps)
– 2, 3, 4, and 5 variable maps
– Simplification using K-Maps
• K-Map Manipulation
– Implicants: Prime, Essential
– Don’t Cares

Nov 25, Chapter 2-i: Combinational Logic 2


2021 Circuits (2.1-- 2.5)
Binary Logic

• Deals with binary variables that take 2


discrete values (0 and 1), and with logic
operations
• Three basic logic operations:
– AND, OR, NOT
• Binary/logic variables are typically
represented as letters: A,B,C,…,X,Y,Z

Nov 25, Chapter 2-i: Combinational Logic 3


2021 Circuits (2.1-- 2.5)
Binary Logic Function

F(vars) = expression

Operators ( +, •, ‘ )
Variables
set of binary
Constants ( 0, 1 )
variables
Groupings (parenthesis)

Example: F(a,b) = a’•b + b’


G(x,y,z) = x•(y+z’)

Nov 25, Chapter 2-i: Combinational Logic 4


2021 Circuits (2.1-- 2.5)
Basic Logic Operators

• 1-bit logic AND resembles binary


multiplication:
0 • 0 = 0, 0 • 1 = 0,
1 • 0 = 0, 1•1 =1
• 1-bit logic OR resembles binary addition,
except for one operation:
0 + 0 = 0, 0 + 1 = 1,
1 + 0 = 1, 1 + 1 = 1 (≠ 102)

Nov 25, Chapter 2-i: Combinational Logic 5


2021 Circuits (2.1-- 2.5)
Truth Tables for logic operators
Truth table: tabular form that uniquely represents the
relationship between the input variables of a function and its
output

2-Input AND 2-Input OR


A B F=A•B A B F=A+B
0 0 0 0 0 0 NOT
0 1 0 0 1 1 A F=A’
1 0 0 1 0 1 0 1
1 1 1 1 1 1 1 0

Nov 25, Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5) 6


2021
Truth Tables (cont.)

• Q: Let a function F() depend on n


variables. How many rows are there in the
truth table of F() ?
n n
A: 2 rows, since there are 2 possible binary
patterns/combinations for the n variables

Nov 25, Chapter 2-i: Combinational Logic 7


2021 Circuits (2.1-- 2.5)
Logic Gates

• Logic gates are abstractions of electronic circuit


components that operate on one or more input
signals to produce an output signal.

2-Input AND 2-Input OR NOT (Inverter)

A A
B F G A H
B

F = A•B G = A+B H = A’

Nov 25, Chapter 2-i: Combinational Logic 8


2021 Circuits (2.1-- 2.5)
Timing Diagram

t0 t1 t2 t3 t4 t5 t6
1
Input A 0
1 Transitions
signals B 0

1
F=A•B 0 Basic
Gate
Assumption:
Output G=A+B 1
0 Zero time for
Signals
1 signals to
H=A’ 0 propagate
Through gates
Nov 25, Chapter 2-i: Combinational Logic 9
2021 Circuits (2.1-- 2.5)
Combinational Logic Circuit
from Logic Function
• Consider function F = A’ + B•C’ + A’•B’
• A combinational logic circuit can be constructed to implement F, by
appropriately connecting input signals and logic gates:
– Circuit input signals  from function variables (A, B, C)
– Circuit output signal  function output (F)
– Logic gates  from logic operations

A F

Nov 25, Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5) 10


2021
Combinational Logic Circuit
from Logic Function (cont.)
• In order to design a cost-effective
A B C F G
and efficient circuit, we must
minimize the circuit’s size (area) 0 0 0 1 1
and propagation delay (time 0 0 1 1 1
required for an input signal
0 1 0 1 1
change to be observed at the
output line) 0 1 1 1 1
• Observe the truth table of F=A’ + 1 0 0 0 0
B•C’ + A’•B’ and G=A’ + B•C’ 1 0 1 0 0
• Truth tables for F and G are 1 1 0 1 1
identical  same function
1 1 1 0 0
• Use G to implement the logic
circuit (less components)

Nov 25, Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5) 11


2021
Circuit
from Logic Function
(cont.)
C

A F

C
B
A G

Nov 25, Chapter 2-i: Combinational Logic 12


2021 Circuits (2.1-- 2.5)
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 +

Nov 25, Chapter 2-i: Combinational Logic 13


2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 14


2021 Circuits (2.1-- 2.5)
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
itself
8. X • X’ = 0 -- Complement
9. (X’)’ = X -- Involution

Nov 25, Chapter 2-i: Combinational Logic 15


2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 16


2021 Circuits (2.1-- 2.5)
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)

Nov 25, Chapter 2-i: Combinational Logic 17


2021 Circuits (2.1-- 2.5)
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’

Nov 25, Chapter 2-i: Combinational Logic 18


2021 Circuits (2.1-- 2.5)
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)

Nov 25, Chapter 2-i: Combinational Logic 19


2021 Circuits (2.1-- 2.5)
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).

Nov 25, Chapter 2-i: Combinational Logic 20


2021 Circuits (2.1-- 2.5)
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
Nov 25, Chapter 2-i: Combinational Logic 21
2021 Circuits (2.1-- 2.5)
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.

Nov 25, Chapter 2-i: Combinational Logic 22


2021 Circuits (2.1-- 2.5)
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
Nov 25, Chapter 2-i: Combinational Logic 23
2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 24


2021 Circuits (2.1-- 2.5)
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.

Nov 25, Chapter 2-i: Combinational Logic 25


2021 Circuits (2.1-- 2.5)
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.

Nov 25, Chapter 2-i: Combinational Logic 26


2021 Circuits (2.1-- 2.5)
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
Nov 25, Chapter 2-i: Combinational Logic 27
2021 Circuits (2.1-- 2.5)
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)

Nov 25, Chapter 2-i: Combinational Logic 28


2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 29


2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 30


2021 Circuits (2.1-- 2.5)
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’

Nov 25, Chapter 2-i: Combinational Logic 31


2021 Circuits (2.1-- 2.5)
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 table.0 1 0 x’yz’ = m2 x+y’+z = M2
• Example: 0 1 1 x’yz = m3 x+y’+z’= M3
Assume 3 1 0 0 xy’z’ = m4 x’+y+z = M4
variables x,y,z 1 0 1 xy’z = m5 x’+y+z’ = M5
(order is fixed) 1 1 0 xyz’ = m6 x’+y’+z = M6
1 1 1 xyz = m7 x’+y’+z’ = M7

Nov 25, Chapter 2-i: Combinational Logic 32


2021 Circuits (2.1-- 2.5)
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)
Nov 25, Chapter 2-i: Combinational Logic 33
2021 Circuits (2.1-- 2.5)
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(
).

Nov 25, Chapter 2-i: Combinational Logic 34


2021 Circuits (2.1-- 2.5)
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’
• The canonical product-of-sums form for 0 1 0 1
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
Nov 25, Chapter 2-i: Combinational Logic
1 1 1 035
2021 Circuits (2.1-- 2.5)
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)

Nov 25, Chapter 2-i: Combinational Logic 36


2021 Circuits (2.1-- 2.5)
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 + m 4 + m 6
= ∑(1,2,4,6)
= ∏(0,3,5,7)
= (a+b+c)•(a+b’+c’)•(a’+b+c’)•(a’+b’+c’)

Nov 25, Chapter 2-i: Combinational Logic 37


2021 Circuits (2.1-- 2.5)
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.

Nov 25, Chapter 2-i: Combinational Logic 38


2021 Circuits (2.1-- 2.5)
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’
Nov 25, Chapter 2-i: Combinational Logic 39
2021 Circuits (2.1-- 2.5)
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’)

Nov 25, Chapter 2-i: Combinational Logic 40


2021 Circuits (2.1-- 2.5)
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.

Nov 25, Chapter 2-i: Combinational Logic 41


2021 Circuits (2.1-- 2.5)
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
Nov 25, corresponding cell.
Chapter 2-i: Combinational Logic 42
2021 Circuits (2.1-- 2.5)
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)

Nov 25, Chapter 2-i: Combinational Logic 43


2021 Circuits (2.1-- 2.5)
2-Variable Map -- Example

• f(x1,x2) = x1’x2’+ x1’x2 + x1x2’


= m 0 + m1 + m2
= x 1’ + 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 0 1 1
represented by each dashed
rectangle? 2 3
– a1’ = m0 + m1
– a2’ = m0 + m2 1 1 0
• Note m0 covered twice
Nov 25, Chapter 2-i: Combinational Logic 44
2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 45


2021 Circuits (2.1-- 2.5)
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)
Nov 25, Chapter 2-i: Combinational Logic 46
2021 Circuits (2.1-- 2.5)
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
Nov 25, Chapter 2-i: Combinational Logic 47
2021 Circuits (2.1-- 2.5)
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
Nov 25, Chapter 2-i: Combinational Logic 48
2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 49


2021 Circuits (2.1-- 2.5)
Four-Variable Maps
YZ
00 01 11 10
WX

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).

Nov 25, Chapter 2-i: Combinational Logic Circuits (2.1-- 2.5) 50


2021
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.

Nov 25, Chapter 2-i: Combinational Logic 51


2021 Circuits (2.1-- 2.5)
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.
ab cd 00 01 11 10
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
Nov 25, Chapter 2-i: Combinational Logic 52
2021 Circuits (2.1-- 2.5)
5-Variable K-Map

DE
BC A=1
16 17 19 18
DE
20 21 23 22
BC

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’

Nov 25, Chapter 2-i: Combinational Logic 53


2021 Circuits (2.1-- 2.5)
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.

Nov 25, Chapter 2-i: Combinational Logic 54


2021 Circuits (2.1-- 2.5)
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’

Nov 25, Chapter 2-i: Combinational Logic 55


2021 Circuits (2.1-- 2.5)
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 1 1 1
one 1 that is not covered by any other prime
implicant. a’cd’
• For the previous example, the PIs are b’, ad,
and a’cd’; all of these are essential.

Nov 25, Chapter 2-i: Combinational Logic 56


2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 57


2021 Circuits (2.1-- 2.5)
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.

Nov 25, Chapter 2-i: Combinational Logic 58


2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 59


2021 Circuits (2.1-- 2.5)
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.

Nov 25, Chapter 2-i: Combinational Logic 60


2021 Circuits (2.1-- 2.5)
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)
Nov 25, Chapter 2-i: Combinational Logic 61
2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 62


2021 Circuits (2.1-- 2.5)
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).

Nov 25, Chapter 2-i: Combinational Logic 63


2021 Circuits (2.1-- 2.5)
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
Nov 25, Chapter 2-i: Combinational Logic 64
2021 Circuits (2.1-- 2.5)
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
Nov 25, Chapter 2-i: Combinational Logic 65
2021 Circuits (2.1-- 2.5)
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

Nov 25, Chapter 2-i: Combinational Logic 66


2021 Circuits (2.1-- 2.5)

You might also like