Post on 25-Sep-2020
Lecture 4: Simplification using Boolean Algebra, K Maps,
Incompletely Specified Functions
CSE 140: Components and Design Techniques for Digital Systems
Diba Mirza
Dept. of Computer Science and Engineering University of California, San Diego
1
What you should know at the end of this lecture….
1. How to simplify combinational circuits using Boolean Algebra axioms and theorems
2. How to simplify combinational circuits using Karnaugh maps
3. Why Karnaugh maps are preferred in simplifying circuits
2
<3>
Shannon’s Expansion
• Shannon’s expansion assumes a switching algebra system
• Divide a switching function into smaller functions • Pick a variable x, partition the switching function
into two cases: x=1 and x=0 – f(x,y,z,…)= xf(x=1,y,z,…) + x’f(x=0,y,z,…)
<4>
Shannon’s expansion
• Shannon’s expansion: – f(x)=xf(1)+x’f(0) = (x+f(0)). (x’+f(1))
– f(x,y)=xf(1,y)+x’f(0,y) – f(x,y,z,…)=xf(1,y,z,…)+x’f(0,y,z,…)
<5>
Proof of Shannon’s Expansion
f(x,y)=(x+f(0,y))(x’+f(1,y)) {Enumerative induction}
<6>
Shannon’s Expansion: Example
f(x,y,z)=xf(0,y,z) + x’f(1,y,z) Is the above equation correct? A. Yes B. No
<7>
Shannon’s Expansion Decompose the switching function into min terms f(x,y)=xf(1,y)+x’f(0,y)
<8>
Shannon’s Expansion Decompose the switching function into max terms f(x,y)=(x+f(0,y)). (x’+ f(1,y))
Reduction of Boolean Expression • AB+AC+B’C =AB+B’C
• (A+B)(A+C)(B’+C) =(A+B)(B’+C)
1-<9>
Prove the reduction using (1) Boolean algebra, (2) Logic simulation and (3) Shannon’s expansion (exercise)
10
We are in a position to build a circuit to do n-bit Binary Addition
5 + 7
1 2 Carry Sum
1 1 1 1 0 1 + 1 1 1
1 1 0 0
Carryout Sums
Carry bits 5 7 12
Binary Addition: Hardware
• Half Adder: Two inputs (a,b) and two outputs (carry, sum).
• Full Adder: Three inputs (a,b,c) and two outputs (carry, sum).
11
12
Full Adder
Id a b cin carry sum
0 0 0 0 0 0 1 0 0 1 0 1 2 0 1 0 0 1 3 0 1 1 1 0 4 1 0 0 0 1 5 1 0 1 1 0 6 1 1 0 1 0 7 1 1 1 1 1
Truth Table
a
b
Sum
Carry
Cin
13
Minterm and Maxterm
Id a b cin carryout
0 0 0 0 0 a+b+c 1 0 0 1 0 a+b+c’ 2 0 1 0 0 a+b’+c 3 0 1 1 1 a’ b c 4 1 0 0 0 a’+b+c 5 1 0 1 1 a b’c 6 1 1 0 1 a b c’ 7 1 1 1 1 a b c minterm
maxterm
14
Minterm and Maxterm
Id a b cin carryout
0 0 0 0 0 a+b+c 1 0 0 1 0 a+b+c’ 2 0 1 0 0 a+b’+c 3 0 1 1 1 a’ b c 4 1 0 0 0 a’+b+c 5 1 0 1 1 a b’c 6 1 1 0 1 a b c’ 7 1 1 1 1 a b c f1(a,b,c) = a’bc + ab’c + abc’ + abc
f2(a,b,c) = (a+b+c)(a+b+c’)(a+b’+c)(a’+b+c)
f1(a, b, c) = m3 + m5 + m6 + m7 = Sm(3,5,6,7) f2(a, b, c) = M0M1M2M4 = PM(0, 1, 2, 4)
PI Q: Is f1 = f2? A. Yes B. No
PIQ: Reduce using Boolean algebra theorems Carry(A,B,C)=A’BC+AB’C+ABC’+ABC
A. A’BC+AB’C+AB B. A’BC+AC+AB C. AB+AC+CA D. ABC E. Cannot be reduced further
15
A’BC+AB’C+ABC’+ABC
16
17
f1(a,b,c) = a’bc + ab’c + abc’ + abc = ab +c(b +a)
Circuit for Full Adder Carry out
Building the simplest possible circuit
We can get the simplest circuit in two ways: 1. Truth table –> Canonical POS/SOP –> Most simplified switching function -> Simplest Circuit
• This can get difficult when we have many inputs variables
2. Truth table or Canonical POS/SOP ->Karnaugh map-> Simplest Circuit
1-<18>
19
Implementation: Specification => Logic Diagram
Flow 1: 1. Specification 2. Truth Table 3. Sum of Products or Product of Sums
canonical form 4. Reduced expression using Boolean
Algebra 5. Schematic Diagram of Two Level Logic
Flow 2: 1. Specification 2. Truth Table 3. Karnaugh Map (truth table in two dimensional space) 4. Reduce using K’Maps 5. Reduced expression (SOP or POS) 6. Schematic Diagram of Two Level Logic
Karnaugh Map: A 2-dimensional truth table
20
Truth Table vs. Karnaugh Map
ID A B f(A,B)
0 0 0 f(0,0)
1 0 1 f(0,1)
2 1 0 f(1,0)
3 1 1 f(1,1)
2-variable function, f(A,B)
A=0 A=1
B=0 f(0,0) f(1,0)
B=1 f(0,1) f(1,1)
21
Truth Table vs. Karnaugh Map
ID A B f(A,B)
0 0 0 0
1 0 1 1
2 1 0 1
3 1 1 1
2-variable function, f(A,B)
A=0 A=1
B=0 0 1
B=1 1 1
Boolean expr:
22
Function can be represented by sum of minterms: f(A,B) = A’B+AB’+AB
This is not optimal however! We want to minimize the number of literals and terms.
23
To minimize the number of literals and terms. We factor out common terms – A’B+AB’+AB= A’B+AB’+AB+AB =(A’+A)B+A(B’+B)=B+A Hence, we have
f(A,B) = A+B
How can we guarantee the most reduced expression was reached?
• Boolean expressions can be minimized by combining terms • K-maps minimize equations graphically
24
ID A B f(A,B)
0 0 0 f(0,0)
1 0 1 f(0,1)
2 1 0 f(1,0)
3 1 1 f(1,1)
A=0 A=1
B=0 A’B’ AB’
B=1 A’B AB
25
K-Map: Truth Table in 2 Dimensions
A = 0 A = 1
B = 0 B = 1
0 2
1 3
0 1 1 1
ID A B f(A,B)
0 0 0 0
1 0 1 1
2 1 0 1
3 1 1 1
26
K-Map: Truth Table in 2 Dimensions
A = 0 A = 1
B = 0 B = 1
0 2
1 3
0 1 1 1
A’B
AB’
AB
f(A,B) = A + B
ID A B f(A,B)
0 0 0 0
1 0 1 1
2 1 0 1
3 1 1 1
Review Some Definitions • Complement: variable with a bar over it A, B, C • Literal: variable or its complement A, A, B, B, C, C • Implicant: product of literals ABC, AC, BC • Implicate: sum of literals (A+B+C), (A+C), (B+C) • Minterm: product that includes all input variables ABC, ABC, ABC • Maxterm: sum that includes all input variables (A+B+C), (A+B+C), (A+B+C) 27
Next Lecture…
• Quiz (multiple choice based on material covered so far)
• Bring your clickers for the quiz, paper submissions will not be accepted
28