Digital Electronics 2
Digital Electronics 2
by
Dr. M.Manikandan
Associate Professor
Dept of Electronics Engineering
Anna University
Overvie
w
° K-maps: an alternate approach to representing Boolean
functions
° K-map representation can be used to minimize Boolean
functions
° Easy conversion from truth table to K-map to
minimized SOP representation.
° Simple rules (steps) used to perform minimization
° Leads to minimized SOP representation.
• Much faster and more more efficient than previous minimization
techniques with Boolean algebra.
Karnaugh maps
B B
A 0 1 A 0 1
00 1 F=AB +A’B 00 1 F=AB +AB +AB
11 0 11 1
A B C F
° Three variable maps. 0 0 0 0
0 0 1 1
BC 0 1 0 1
00 01 11 10 0 1 1 0
A 1 0 0 1
00 1 0 1 1 0 1 1
11 1 1 1 1
1
1 0
1 1
1
1
+
Example
Karnaugh
Maps
° A Karnaugh map is a graphical tool for assisting in the
general simplification procedure.
° Two variable maps.
B B
A 0 1 A 0 1
00 1 F=AB +A’B 00 1 F=AB +AB +AB
11 0 11 1 F=A+B
° Three variable maps.
BC
00 01 11 10
A
00 1 0 1
1 1 1 1 1 F=A+B C +BC
AB A
C 00 01 11 10
0
A
0 0 1 1 C 1
G(A,B,C) = A
C 0 0 1 1 B
B
A
1 0 0 1
F(A,B,C) = m(0,4,5,7) = AC + B’C’
C 0 0 1 1
B
More Karnaugh Map Examples
° Examples a
b 0 1 a
0 0 1 b 0 1
1 0 1 0 1 1
1 0 0
f=a
g = b'
ab ab
c 00 01 11 10 c 00 01 11 10
0 0 0 1 0 0 0 0 1 1
1 0 1 1 1 1 0 0 1 1
cout = ab + bc + ac
f=a
Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0 How to use a Karnaugh
1 0 1 0 1
1 1 0 0 1 Map instead of the
Cout +
1 1 1 1 1 Algebraic simplification?
Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout 1 1 1 1 1
A
+
Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout 1 1 1 1 1
A
+
Cin
Cout = ACin
Karnaugh Map for Cout
Application of Karnaugh Maps: The One-bit
Adder
Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout 1 1 1 1 1
A
+
Cin
Cout = Acin + AB
Karnaugh Map for Cout
Application of Karnaugh Maps: The One-bit
Adder
Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout 1 1 1 1 1
A
+
Cin
Cout = ACin + AB + BCin
Karnaugh Map for Cout
Application of Karnaugh Maps: The One-bit
Adder
Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout 1 1 1 1 1
A
+
0 1 0 1
B 1 0 1 0
Cin S = A’BCin’
Karnaugh Map for S
Application of Karnaugh Maps: The One-bit
Adder
Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout 1 1 1 1 1
A
+
0 1 0 1
B 1 0 1 0
Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout 1 1 1 1 1
A
+
0 1 0 1
B 1 0 1 0
Cin
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
A 0 1 0 1 0
Adder S 0 1 1 0 1
B 1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
Cout 1 1 1 1 1
A
+
0 1 0 1
B 1 0 1 0
A A A
0 0 0 0 1 0 0 0 0 1 1 1
1 0 0 0 0 1 0 0 0 0 1 1
D D D
1 1 0 1 0 0 1 0 0 0 0 0
C C C
1 1 0 0 0 0 0 1 0 0 1 0
B B B
0 1 0 0
D
0 0 1 0
C
0 0 0 1
B
K-map for EQ
Karnaugh Maps
° Four variable maps.
CD
00 01 11 10
AB F=ABC +ACD +ABC
00 0 0 0 1
+AB CD +ABC +AB C
01 1 1 0 1
11 1 1 1 1 F=BC +CD + AC+ AD
10 1 0 1 1
A
AB
CD 00 01 11 10
00 0 0 X 0 - Treat X’s like either 1’s or 0’s
- Very useful
01 1 1 X 1
D - OK to leave some X’s uncovered
11 1 1 0 0
C
10 0 X 0 0
B
Karnaugh maps: Don’t cares
° f(A,B,C,D) = m(1,3,5,7,9) + d(6,12,13)
• without don't cares
- f=
A B C D f
0 0 0 0 0
A’D + C’D
0 0 0 1 1
0 0 1 0 0
A 0 0 1 1 1
AB 0 1 0 0 0
CD 00 01 11 10 0 1 0 1 1
00 0 0 X 0 0 1 1 0 X
+
0 +
1 1 1 1
01 1 1 X 1 1 0 0 0 0
D 1 0 0 1 1
11 1 1 0 0 1 0 1 0 0
C 1 0 1 1 0
10 0 X 0 0 1 1 0 0 X
1 1 0 1 X
B 1 1 1 0 0
1 1 1 1 0
Don’t Care
Conditions
° In some situations, we don’t care about the value of a
function for certain combinations of the variables.
• these combinations may be impossible in certain contexts
• or the value of the function may not matter in when the combinations occur
CD
00 01 11 10
AB
00 0 1 0 0
01 x x x 1 F=ACD+B+AC
11 1 1 1 x
10 x 0 1 1
° Alternative covering.
CD
00 01 11 10
AB
00 0 1 0 0
01 x x x 1 F=ABCD+ABC+BC+AC
11 1 1 1 x
10 x 0 1 1
Karnaugh maps: don’t cares
(cont’d)
° f(A,B,C,D) = m(1,3,5,7,9) + d(6,12,13)
• f = A'D + B'C'D without don't cares
• f= with don't cares
A'D + C'D
A
by using don't care as a "1"
0 0 X 0 a 2-cube can be formed
1 1 X 1
rather than a 1-cube to cover
D this node
1 1 0 0
C don't cares can be treated as
0 X 0 0 1s or 0s
B depending on which is more
advantageous
Definition of terms for two-level
simplification
° Implicant
• Single product term of the ON-set (terms that create a logic 1)
° Prime implicant
• Implicant that can't be combined with another to form an implicant with
fewer literals.
° Objective:
• Grow implicant into prime implicants (minimize literals per term)
• Cover the K-map with as few prime implicants as possible
(minimize number of product terms)
Examples to illustrate
terms
A
0 X 1 0 6 prime implicants:
A'B'D, BC', AC, A'C'D, AB, B'CD
1 1 1 0
D
essential
1 0 1 1
C
0 0 1 1 minimum cover: AC + BC' + A'B'D
B
A
5 prime implicants: 0 0 1 0
BD, ABC', ACD, A'BC, A'C'D
1 1 1 0
D
essential 0 1 1 1
C
0 1 0 0
minimum cover: 4 essential implicants
B
Prime
Implicants
° Exclusive OR
• Comparison with SOP
DeMorgan’s Law:
(a + b)’ = a’ b’ (a b)’ = a’ + b’
a + b = (a’ b’)’ (a b) = (a’ + b’)’
= =
= =
a) b)
a
b
c
d
c) d)
Implementations of Two-level
Logic
° Sum-of-products
• AND gates to form product terms
(minterms)
• OR gate to form sum
° Product-of-sums
• OR gates to form sum terms
(maxterms)
• AND gates to form product
Two-level Logic using NAND
Gates
° Replace minterm AND gates with NAND gates
° Place compensating inversion at inputs of OR gate
Two-level Logic using NAND Gates
(cont’d)
° OR gate with inverted inputs is a NAND gate
• de Morgan's: A' + B' = (A • B)'
A A
NAND
B B
Z NAND Z
C C
NAND
D D
Conversion Between Forms
(cont’d)
° Example: verify equivalence of two forms
A A
NAND
B B
Z NAND Z
C C
NAND
D D
A
B
C
X
D
E
F
G
Conversion of Multi-level Logic to NAND
° FGates
= A (B + C D) + B C'
Level 1 Level 2 Level 3 Level 4
C
D
original F
B
AND-OR A
network
B
C’
C
D
introduction and F
B
conservation of
A
bubbles
B
C’
C
redrawn in terms D
F
of conventional B’
NAND gates A
B
C’
Conversion Between Forms
° Example
A A
(a) B B (b)
F F
C X C X
D D
Original circuit Add double bubbles at inputs
A
A X
(c) B F
C (d)
X’ B F
D’ C X’
D’
Distribute bubbles
Insert inverters to fix mismatches
some mismatches
Exclusive-OR and Exclusive-NOR
Circuits
Exclusive-OR (XOR) produces a HIGH output whenever the two
inputs are at opposite levels.
Exclusive-NOR Circuits
Exclusive-NOR (XNOR) :
Exclusive-NOR (XNOR) produces a HIGH output whenever the two
inputs are at the same level.
Exclusive-NOR Circuits
XNOR gate may be used to simplify circuit implementation.
XOR
° Function
XOR function can also be implemented
with AND/OR gates (also NANDs).
XOR
Function
° Even function – even number of inputs are 1.
° Odd function – odd number of inputs are 1.
Parity Generation and
Checking
XOR gates used to implement the parity generator
and the parity checker for an even-parity system.
Summary