0% found this document useful (0 votes)
16 views59 pages

Lec 2 Boolean

The document outlines the concepts of combinational logic, focusing on Boolean algebra, switching algebra, and their applications in digital circuit design. Key topics include the introduction to Boolean algebra, switching functions, and various theorems such as DeMorgan's and Consensus Theorem, which aid in simplifying logic expressions. The lecture emphasizes the importance of validity, performance, and testability in the design of combinational logic circuits.

Uploaded by

prnjan
Copyright
© © All Rights Reserved
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)
16 views59 pages

Lec 2 Boolean

The document outlines the concepts of combinational logic, focusing on Boolean algebra, switching algebra, and their applications in digital circuit design. Key topics include the introduction to Boolean algebra, switching functions, and various theorems such as DeMorgan's and Consensus Theorem, which aid in simplifying logic expressions. The lecture emphasizes the importance of validity, performance, and testability in the design of combinational logic circuits.

Uploaded by

prnjan
Copyright
© © All Rights Reserved
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/ 59

CSE 140, Lecture 2

Combinational Logic
CK Cheng
CSE Dept.
UC San Diego

1
Combinational Logic Outlines
1. Introduction
• Scope
• Boolean Algebra (Review)
• Definition
• Duality
• AND/OR Gates
• Expressions vs Circuits
• Handy Tools
• DeMorgan’s Theorem
• Consensus Theorem
• Shannon’s Expansion
2. Specification
3. Synthesis
2
1.1 Combinational Logic: Scope
• Description
– Language: e.g. C Programming, Verilog, VHDL
– Boolean algebra
– Truth table: Powerful engineering tool
• Design
– Schematic Diagram
– Inputs, Gates, Nets, Outputs
• Goal
– Validity: correctness, turnaround time
– Performance: power, timing, cost
– Testability: yield, diagnosis, robustness

3
Scope: Boolean algebra, switching algebra, logic
• Boolean Algebra: multiple-valued logic, i.e. each variable
have multiple values.
• Switching Algebra: binary logic, i.e. each variable can be
either 1 or 0.
• Boolean Algebra ≠ Switching Algebra

Switching Algebra

BB Two Level Logic

Boolean Algebra

<4>
Scope: Switching Algebra (Binary Values)
• Typically consider only two discrete values:
– 1’s and 0’s
– 1, TRUE, HIGH
– 0, FALSE, LOW
• 1 and 0 can be represented by specific voltage levels,
rotating gears, fluid levels, etc.
• Digital circuits usually depend on specific voltage levels to
represent 1 and 0
• Bit: Binary digit

Copyright © 2007 1-<5> 5


Elsevier
Scope: Levels of Logic
• Multiple Level Logic: Many layers of two level logic with
some inverters, e.g. (((a+bc)’+ab’)+b’c+c’d)’bc+c’e
(A network of two level logic)
• Two Level Logic: Sum of products, or product of sums, e.g.
ab + a’c + a’b’, (a’+c )(a+b’)(a+b+c’)

Features of Digital Logic Design


Boolean Algebra
• Multiple Outputs
Switching Algebra
• Don’t care sets BB
Two Level Logic

<6>
1.2 Boolean Algebra (Review)
George Boole, 1815-1864
• Born to working class parents: Son of a
shoemaker
• Taught himself mathematics and joined
the faculty of Queen’s College in Ireland.
• Wrote An Investigation of the Laws of
Thought (1854): systematize Aristotle’s
logic
• Introduced binary variables
• Introduced the three fundamental logic
operations: AND, OR, and NOT.

Copyright © 2007 Elsevier 1-<7>


Review of Boolean Algebra
Let B be a nonempty set with two 2-input operations, a
1-input operation ` (complement), and two distinct
elements 0 and 1. Then B is called a Boolean algebra if
the following axioms hold.
• Associative laws: (a+b)+c=a+(b+c), (a·b) ·c=a·(b·c)
• Commutative laws: a+b=b+a, a·b=b·a
• Distributive laws: a+(b·c)=(a+b)·(a+c),
a·(b+c)=a·b+a·c
• Identity laws: a+0=a, a·1=a
• Complement laws: a+a’=1, a·a’=0

<8>
Review of Boolean Algebra: Duality
Associative laws (a+b)+c=a+(b+c) (a·b) ·c=a·(b·c)

Commutative laws a+b=b+a a·b=b·a

Distributive laws a+(b·c)=(a+b)·(a+c) a·(b+c)=a·b+a·c

Identity laws a+0=a a·1=a

Complement laws a+a’=1 a·a’=0

Duality: We swap all operators between (+,.) and interchange all


elements between (0,1).
For a theorem if the statement can be proven with the laws of
Boolean algebra, then the duality of the statement is also
<9> true.
1.3 Switching functions: Operators and Digital Logic Gates
id
AB Y AND A B Y OR A Y NOT
Y=AB Y=A+B Y=A’
0 0 0 0 0 0 0 0 1
1 0 1 0 0 1 1 1 0
2 1 0 0 1 0 1
3 1 1 1 1 1 1
A A
A 1
1 1
A A
0 A
0 0
Input 0 dominates Y Input 1 dominates Y
0 blocks the output 0 passes signal A
1 passes signal A 1 blocks the output 10
1.3 Switching functions: Operators and Digital Logic Gates

AND OR
id A B C Y A B C Y Y=A+B+C
Y=ABC
0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 blocks 0 0 1 1 0 passes
the output signal A
2 0 1 0 0 1 passes 0 1 0 1 1 blocks
signal A the output
3 0 1 1 0 For AND, 0 1 1 1 For OR,
4 1 0 0 0 only one 1 0 0 1 only one
row is true row is false
5 1 0 1 0 (minterm) 1 0 1 1 (maxterm)

6 1 1 0 0 1 1 0 1
7 1 1 1 1 1 1 1 1 11
1.3 Switching functions: Example on AND and OR
AND OR
id A B C Y A B C Y
0 0 0 0 Y=A’B’C 0 0 0 Y=A’+B’+C

1 0 0 1 0 0 1
2 0 1 0 0 1 0
3 0 1 1 0 1 1
4 1 0 0 1 0 0
5 1 0 1 1 0 1
6 1 1 0 1 1 0
7 1 1 1 1 1 1 12
Switching Expressions vs Logic
Diagrams
Switching expression is related to logic
implementation
• Switching Expression: #literals, #operators
• Schematic Diagram: #gates, #nets, #pins

13
Laws and Logic Diagrams

Associativity Laws
(A+B) + C = A + (B+C)
C A
A B
B C
(AB)C = A(BC)
C A
A B
B C

14
Laws and Logic Diagrams
Identity Laws A∙ 1 =A A+1=1
A∙0=0 A+0=A
Complement Laws A + A’ = 1 A ∙ A’ = 0

Distributive Laws
A ∙(B+C) = A ∙ B + A ∙ C A
A B
B A
C
C
A+B ∙ C = (A+B) ∙(A+C)
A
A B
B A
C C
15
Switching Expression and Logic
a a·b Cost: #gates, #nets, #pins
b a·b + c·d
c y=e·(a·b+c·d)
d c·d
e
Schematic Diagram: Boolean Algebra:
5 primary inputs 5 variables
1 primary output 1 expression
4 gates (3 ANDs, 1 OR) 4 operators (3 ANDs, 1 OR)
9 signal nets 5 literals
12 pins
16
Switching Expression and Logic
a
a·b
b
Schematic Diagram: a·b + c·d
c y=e·(a·b+c·d)
5 primary inputs d c·d
4 components (gates)
e Boolean Algebra:
9 signal nets
5 literals
12 pins
4 operators
A. #inputs I. #variables
B. #gates II. #operators
C. #nets III. #variables + #operators
D. #pins IV. #literals + 2 #operators - 1
E. None

17
Example: f(a,b,c)= ab+a’c+a’b’

18
Example: f(a,b,c)= (a’+c)(a+b’)(a+b+c)

19
1.4 Handy Tools
Boolean Algebra
Boolean Algebra
• DeMorgan’s Law: Complements
Switching Algebra
• Consensus Theorem
BB
Two Level Logic
Switching Logic
• Shannon’s Expansion
• Truth Table
• Karnaugh Map (single output, two level logic)

<20>
DeMorgan’s Theorem and Digital Logic
T12. DeMorgan’s Theorem (A+B)’ = A’B’ (AB)’ = A’ + B’

• Y = (AB)’ = A’ + B’ A
B
Y

A
Y
B

A
• Y = (A + B)’= A’B’ B
Y

A
Y
B

<21>
DeMorgan’s Theorem: Bubble Pushing
• Pushing bubbles backward (from the output) or forward
(from the inputs) changes the body of the gate from
AND to OR or vice versa.
• Pushing a bubble from the output back to the inputs puts
bubbles on all gate inputs.

A A
Y Y
B B

• Pushing bubbles on all gate inputs forward toward the


output puts a bubble on the output and changes the gate
body.
A A
Y Y
B B

<22>
Consensus Theorem
• AB+AC+B’C • (A+B)(A+C)(B’+C)
=AB+B’C =(A+B)(B’+C)
The consensus of AB, B’C is: ?

Exercise: to prove the reduction using


(1) Venn Diagrams,
(2) Boolean algebra,
(3) Logic simulation and
(4) Shannon’s expansion

<23>
Consensus Theorem: Venn Diagrams
AB+AC+B’C : AB+B’C

A A

B C B C

<24>
Consensus Theorem: Boolean Algebra
• AB+AC+B’C • (A+B)(A+C)(B’+C)
=AB+B’C =(A+B)(B’+C)
AB+AC+B’C
=AB+AC1+B’C
=AB+AC(B+B’)+B’C
=AB+ABC+AB’C+B’C
=AB(1+C)+(A+1)B’C
=AB+B’C

<25>
Consensus Theorem: Logic Simulation
f(A,B,C)= AB+AC+B’C
g(A,B,C)=AB+B’C

Index A B C AB AC B’C f g
0 0 0 0 0 0 0
1 0 0 1 0 0 1
2 0 1 0 0 0 0
3 0 1 1 0 0 0
4 1 0 0 0 0 0
5 1 0 1 0 1 1
6 1 1 0 1 0 0
7 1 1 1 1 1 0
<26>
<27>
Consensus Theorem (Examples)
Which one is not a consensus of the
expressions on the right.

A. B 1. A+A’B
B. BC
2. A+A’BC
C. (B+C)D
D. BCD 3. A(B+C)+A’D
E. BCDE 4. ABC+A’D+BCDE

<28>
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,…)
• For example
– f(x)=xf(1)+x’f(0)
– f(x,y)=xf(1,y)+x’f(0,y)

<29>
Shannon’s Expansion (Example)
𝑓 𝑎, 𝑏, 𝑐 = 𝑎′ 𝑏 ′ + 𝑏𝑐 + 𝑎𝑏′𝑐
Shannon’s expansion:
𝑓 𝑎, 𝑏, 𝑐 = 𝑎𝑓 1, 𝑏, 𝑐 + 𝑎′ 𝑓 0, 𝑏, 𝑐

1-<30>
Shannon’s Expansion: Example
𝑓 𝑥, 𝑦, 𝑧 = 𝑥𝑓 𝑥 = 1, 𝑦, 𝑧 + 𝑥 ′ 𝑓(𝑥 = 0, 𝑦, 𝑧)

𝑓 𝑥, 𝑦 = (𝑥 + 𝑓 𝑥 =? , 𝑦 )(𝑥 ′ + 𝑓 𝑥 =?′ , 𝑦 )
• A. ?=0
• B. ?=1.

<31>
Shannon’s Expansion
• Decompose the switching function into minterms
𝑓 𝑥, 𝑦 = 𝑥𝑓 1, 𝑦 + 𝑥 ′ 𝑓 0, 𝑦
= 𝑥 𝑦𝑓 1,1 + 𝑦 ′ 𝑓 1,0 + 𝑥′(𝑦 𝑓 0,1 + 𝑦 ′ 𝑓 0,0
= 𝑥𝑦𝑓 1,1 + 𝑥𝑦 ′ 𝑓 1,0 + 𝑥 ′ 𝑦𝑓 0,1 + 𝑥 ′ 𝑦 ′ 𝑓 0,0 .

id x y f(x,y)
0 0 0 f(0,0)
1 0 1 f(0,1)
2 1 0 f(1,0)
3 1 1 f(1,1)

Shannon’s expansion can decompose a switching


function into a truth table.
<32>
Shannon’s Expansion vs Truth Table
Example: f(x,y)= x+ x’y

𝑓 𝑥, 𝑦 = 𝑥𝑓 1, 𝑦 + 𝑥 ′ 𝑓 0, 𝑦
= 𝑥 𝑦𝑓 1,1 + 𝑦 ′ 𝑓 1,0 + 𝑥′(𝑦 𝑓 0,1 + 𝑦 ′ 𝑓 0,0
= 𝑥𝑦𝑓 1,1 + 𝑥𝑦 ′ 𝑓 1,0 + 𝑥 ′ 𝑦𝑓 0,1 + 𝑥 ′ 𝑦 ′ 𝑓 0,0 .

id x y f(x,y)
0 0 0 f(0,0)
1 0 1 f(0,1)
2 1 0 f(1,0)
3 1 1 f(1,1)

Shannon’s expansion can decompose a switching


function into a truth table.
<33>
Shannon’s Expansion
• Decompose the switching function into minterms
𝑓 𝑥, 𝑦 = 𝑥𝑓 1, 𝑦 + 𝑥 ′ 𝑓 0, 𝑦
= 𝑥 𝑦𝑓 1,1 + 𝑦 ′ 𝑓 1,0 + 𝑥′(𝑦 𝑓 0,1 + 𝑦 ′ 𝑓 0,0
= 𝑥𝑦𝑓 1,1 + 𝑥𝑦 ′ 𝑓 1,0 + 𝑥 ′ 𝑦𝑓 0,1 + 𝑥 ′ 𝑦 ′ 𝑓 0,0 .
• Decompose the switching function into maxterms
𝑓 𝑥, 𝑦 = (𝑥 ′ + 𝑓 1, 𝑦 ) ∙ (𝑥 + 𝑓 0, 𝑦 )
= (𝑥 ′ + (𝑦 ′ + 𝑓 1,1 ) ∙ 𝑦 + 𝑓 1,0 ) ∙ (𝑥 + 𝑦 ′ + 𝑓 0,1 ∙ 𝑦 + 𝑓 0,0 )
= 𝑥 ′ + 𝑦 ′ + 𝑓 1,1 𝑥 ′ + 𝑦 + 𝑓 1,0 𝑥 + 𝑦 ′ + 𝑓 0,1 𝑥 + 𝑦 + 𝑓 0,0

<34>
Shannon’s Expansion: Example
Which variable in ab’+ac+bc can be used
for expansion?
A. a
B. b
C. c
D. None of the above

<35>
Shannon’s Expansion: Example
F(A,B,C)=AB’+AC+BC

<36>
Remark: The choice of the variable for
expansion is a nontrivial question.
<37>
Review Summary: Switching Algebra
and Karnaugh Map
Shannon’s expansion and consensus theorem
are used for logic optimization
• Shannon’s expansion divides the problem into
smaller functions
• Consensus theorem finds common terms when we
merge small functions
• Karnaugh map mimics the above two operations in
two dimensional space as a visual aid.

<38>
Part I. Combinational Logic
II) Specification
1. Language
2. Boolean Algebra
Canonical Expression: Sum of minterms and
Product of maxterms
3. Truth Table: minterms and maxterms
4. Incompletely Specified Function

39
II. Specification (use addition as an example)
Decimal Addition 5
+ 7
12
Carry Sum

Binary Addition 1 1 1 Carry bits


1 0 1 5
+ 1 1 1 7
12
1 1 0 0
Carryout Sums

40
II. Specification (use addition as an example)
Decimal Addition

Binary Addition

41
II. Specification (use addition as an example)

AB AB AB AB
Couta Cin Couta Cin Couta Cin Couta Cin

S S S S

42
Binary Addition: Hardware
• Half Adder: Two inputs (a,b) and two
outputs (carry, sum).

• Full Adder: Three inputs (a,b,cin) and two


outputs (carry, sum).

43
Half Adder
Truth Table

id a b carry sum
a 0 0 0 0 0
1 0 1 0 1
Sum 2 1 0 0 1
b 3 1 1 1 0
Carry

44
Switching Function
Switching Expressions:
Sum (a,b) = a’·b + a·b’
Carry (a, b) = a·b
Ex:
Sum (0,0) = 0’·0 + 0·0’ = 0 + 0 = 0
Sum (0,1) = 0’·1 + 0·1’ = 1 + 0 = 1
Sum (1,1) = 1’·1 + 1·1’ = 0 + 0 = 0

a
a
sum carry
b
b

45
BSV notes
function Bit#(2) ha(Bit#(1) a, Bit#(1) b);
Bit#(1) s = (~a & b) | (a & ~b);
Bit#(1) c = a & b;
return {c,s};
endfunction

• {c, s} represents bit concatenation

CSE 140L W2017 L01-46


Full Adder
id a b cin cout sum
0 0 0 0 0 0
cin 1 0 0 1 0 1
a 2 0 1 0 0 1
3 0 1 1 1 0
sum
4 1 0 0 0 1
b
5 1 0 1 1 0
cout
6 1 1 0 1 0
Arithmetic: 7 1 1 1 1 1
2cout+sum=a+b+cin
47
Minterms
A product of all variables in the function.
A minterm is equal to 1 on exactly one row of the truth table.

id a b c carry sum
0 0 0 0 0 0
1 0 0 1 0 a’b’c
2 0 1 0 0 a’bc’
3 0 1 1 a’bc 0
4 1 0 0 0 ab’c’
5 1 0 1 ab’c 0
6 1 1 0 abc’ 0
7 1 1 1 abc abc 48
Maxterms
A sum of all variables in the function.
A maxterm is equal to 0 on exactly one row of the truth table.

id a b c carry sum
0 0 0 0 a+b+c a+b+c
1 0 0 1 a+b+c’ 1
2 0 1 0 a+b’+c 1
3 0 1 1 1 a+b’+c’
4 1 0 0 a’+b+c 1
5 1 0 1 1 a’+b+c’
6 1 1 0 1 a’+b’+c
7 1 1 1 1 1 49
Minterms and Maxterms
id a b c minterm maxterm
Minterms cover all
0 0 0 0 m0=a’b’c’ M0=a+b+c
the outputs which
1 0 0 1 m1=a’b’c M1=a+b+c’ are true (1).
Maxterms cover all
2 0 1 0 m2=a’bc’ M2=a+b’+c the outputs which
are false (0).
3 0 1 1 m3=a’bc M3=a+b’+c’

4 1 0 0 m4=ab’c’ M4=a’+b+c
5 1 0 1 m5=ab’c M5=a’+b+c’

6 1 1 0 m6=abc’ M6=a’+b’+c

7 1 1 1 m7=abc M7=a’+b’+c’
50
Minterms
f1(a,b,c) = a’bc + ab’c + abc’ + abc

a’bc = 1 iff (a,b,c,) = (0,1,1)


ab’c = 1 iff (a,b,c,) = (1,0,1)
abc’ = 1 iff (a,b,c,) = (1,1,0)
abc = 1 iff (a,b,c,) = (1,1,1)
f1(a,b,c) = 1 iff (a,b,c) = (0,1,1), (1,0,1), (1,1,0), or (1,1,1)

Ex: f1(1,0,1) = 1’01 + 10’1 + 101’ + 101 = 1


f1(1,0,0) = 1’00 + 10’0 + 100’ + 100 = 0

51
Maxterms
f2(a,b,c) = (a+b+c)(a+b+c’)(a+b’+c)(a’+b+c)

a + b + c = 0 iff (a,b,c,) = (0,0,0)


a + b + c’ = 0 iff (a,b,c,) = (0,0,1)
a + b’ + c = 0 iff (a,b,c,) = (0,1,0)
a’ + b + c = 0 iff (a,b,c,) = (1,0,0)
f2(a,b,c) = 0 iff (a,b,c) = (0,0,0), (0,0,1), (0,1,0), (1,0,0)

Ex: f2(1,0,1) = (1+0+1)(1+0+1’)(1+0’+1)(1’+0+1) = 1


f2(0,1,0) = (0+1+0)(0+1+0’)(0+1’+0)(0’+1+0) = 0

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

Does f1 = f2?
A. Yes
B. No.

53
The coverage of a single minterm. e.g. m4 = ab’c’

Id a b cin carry minterm 4 = ab’c’


0 0 0 0 0 0
1 0 0 1 0 0
2 0 1 0 0 0
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 0

Only one row has a 1.


54
The coverage of a single maxterm. E.g. M4 = a’+b+c

Id a b cin carry maxterm 4 = a+b+c


0 0 0 0 0 1
1 0 0 1 0 1
2 0 1 0 0 1
3 0 1 1 1 1
4 1 0 0 0 0
5 1 0 1 1 1
6 1 1 0 1 1
7 1 1 1 1 1

Only one row has a 0.


55
Minterms and Maxterms: Summary

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)

Canonical presentation of logic functions


Conversion between truth tables and switching functions

56
Incompletely Specified Function
Don’t care set is important because it allows us to
minimize the function
Id a b f (a, b)
1) The input does not
0 0 0 1 happen.
1 0 1 0
2 1 0 1 2) The input happens, but
3 1 1 - the output is ignored.

Examples:
-Decimal number 0… 9 uses 4 bits. (1,1,1,1) does not happen.
-Final carry out bit (output is ignored).

57
Incompletely Specified Function
g1(a,b,c)=a’b’c+a’bc+ab’c’+abc
id a b c g =m1+m3+m4+m7
0 0 0 0 0 =∑ m(1,3,4,7)

1 0 0 1 1 g2(a,b,c)=(a+b+c)(a’+b’+c)
=M0M6
2 0 1 0 - =∏M(0,6)
3 0 1 1 1
4 1 0 0 1
5 1 0 1 -
6 1 1 0 0
7 1 1 1 1 59
Incompletely Specified Function
g1(a,b,c)=∑ m(1,3,4,7)
id a b c g g2(a,b,c)=∏M(0,6)
0 0 0 0 0
1 0 0 1 1 Does g1(a,b,c) = g2(a,b,c)?
A: Yes
2 0 1 0 - B: No
3 0 1 1 1
4 1 0 0 1
5 1 0 1 -
6 1 1 0 0
7 1 1 1 1 60

You might also like