Professional Documents
Culture Documents
02 Gates Notes
02 Gates Notes
https://codetoflow.com/
A switch
• Acts as a conductor or
insulator
+
Truth Table
A A B Ligh
-
t
OF
OF OF
OF
B F
F
OF
F
F
ON
OF ON
F
F
ON OF
ON OF
F
F
ON ON
Basic Building Blocks: Switches to Logic Gates
+
Truth Table
A A B Ligh
-
t
OF
OF OF
OF OFF
B F
F
OF
F
F
ON ON
OF ON
F
F
ON OF ON
ON OF
F
F
ON
ON ON
+ A - A B Ligh
t
OF OF
F F
B
OF ON
F
Basic Building Blocks: Switches to Logic Gates
+ • Either (OR)
Truth Table
A A B Ligh
-
t
OF OF OFF
B F
OF
F
ON ON
F
ON OF ON
F
• Both (AND)
ON ON ON
+ A - A B Ligh
t
OF OF OFF
F F
B OF ON OFF
F
ON OF OFF
Basic Building Blocks: Switches to Logic Gates
• Either (OR)
Truth Table
A A B Ligh
-
t
OR OF OF OFF
B F
OF
F
ON ON
F
ON OF ON
F
• Both (AND)
ON ON ON
A - A B Ligh
t
AND OF
F
OF
F
OFF
B OF ON OFF
F
ON OF OFF
Basic Building Blocks: Switches to Logic Gates
• Either (OR)
Truth Table
A A B Ligh
-
t
0 = OFF
OR 0 0 0 1 = ON
B 0 1 1
1 0 1
1 1 1
• Both (AND)
A - A B Ligh
t
AND 0 0 0
0 1 0
B
1 0 0
1 1 1
Basic Building Blocks: Switches to Logic Gates
OR
B
George Boole,(1815-1864)
• AND: A B Out
A 0 0 0
0 1 0
B
1 0 0
• OR: 1 1 1
A B Out
A
0 0 0
B 0 1 1
1 0 1
1 1 1
• Logic Gates
digital circuit that either allows a signal to pass through it or not.
Used to build logic functions
There are seven basic logic gates:
AND, OR, NOT
Building Functions: Logic Gates
• NOT: A Out
A
0 1
1 0
• AND: A B Out
A 0 0 0
0 1 0
B
1 0 0
• OR: 1 1 1
A B Out
A
0 0 0
B 0 1 1
1 0 1
1 1 1
• Logic Gates
digital circuit that either allows a signal to pass through it or not.
Used to build logic functions
There are seven basic logic gates:
AND, OR, NOT,
Building Functions: Logic Gates
• NOT: A Out
A
0 1
1 0
A 0 0 0
NAND: A
0 0
0 1
1
1
0 1 0
B B 1 0 1
1 0 0
• OR: 1 1 1 1 1 0
1 0 1 1 0 0
1 1 1 1 1 0
• Logic Gates
digital circuit that either allows a signal to pass through it or not.
Used to build logic functions
There are seven basic logic gates:
AND, OR, NOT,
Which Gate is this? iClicker Question
Function:
Symbol:
a b Out
Truth Table:
a
(A) NOT
b
(B) OR Out
(C) XOR
(D) AND
(E) NAND
Which Gate is this? iClicker Question
• XOR: out = 1 if a or b is 1, but not both;
• out = 0 otherwise.
• out = 1, only if a = 1 AND b = 0
• OR a = 0 AND b = 1
a b Out
0 0 0
0 1 1
1 0 1
1 1 0
a
(A) NOT
b
(B) OR Out
(C) XOR
(D) AND
(E) NAND
Which Gate is this? iClicker Question
• XOR: out = 1 if a or b is 1, but not both;
• out = 0 otherwise.
• out = 1, only if a = 1 AND b = 0
• OR a = 0 AND b = 1
a b Out
0 0 0
0 1 1
1 0 1
1 1 0
a
(A) NOT Out
b
(B) OR
(C) XOR
(D) AND
(E) NAND
Activity#2: Logic Gates
• Fill in the truth table, given the following Logic
Circuit made from Logic AND, OR, and NOT gates.
• What does the logic circuit do?
a b d Out
0 0 0
0 0 1
0 1 0 a
0 1 1
1 0 0 Out
d
1 0 1
1 1 0
b
1 1 1
Activity#2: Logic Gates
• Multiplexor: select (d) between two inputs (a and b)
and set one as the output (out)?
• out = a, if d = 0
• out = b, if d = 1
a b d Out
0 0 0 0
0 0 1 0
0 1 0 0 a
0 1 1 1
1 0 0 1 Out
d
1 0 1 0
1 1 0 1
b
1 1 1 1
Pro Tip
• Given a Logic function, create a Logic Circuit that
implements the Logic Function…
• …and, with the minimum number of logic gates
A B Out
0 0 0
AND: A
0 1 0
B
1 0 0
1 1 1
OR: A
A B Out
0 0 0
B 0 1 1
1 0 1
XOR: 1 1 1
A B Out
A 0 0 0
0 1 1
B
1 0 1
1 1 0
Logic Gates
A Out
NOT: A 0 1
1 0
A B Out A B Out
AND: A 0 0 0
NAND: A
0 0
0 1
1
1
0 1 0
B B 1 0 1
1 0 0
1 1 1 1 1 0
NOR:
OR: A
A B Out
0 0 0
A
A B Out
0 0 1
B 0 1 1 B 0 1 0
1 0 1 1 0 0
1 1 0
XOR: 1 1 1
XNOR:
A B Out A B Out
A 0 0 0 A 0 0 1
0 1 1 0 1 0
B B
1 0 1 1 0 0
1 1 0 1 1 1
Logic Implementation
• How to implement a desired logic function?
a b c out
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0
Logic Implementation
• How to implement a desired logic function?
a b c out minterm 1) Write minterms
0 0 0 0 a b c 2) sum of products:
0 0 1 1 a b c • OR of all minterms where out=1
0 1 0 0 abc
0 1 1 1 abc
1 0 0 0 abc
1 0 1 1 abc
1 1 0 0 abc
1 1 1 0 abc
Logic Implementation
• How to implement a desired logic function?
a b c out minterm 1) Write minterms
0 0 0 0 a b c 2) sum of products:
0 0 1 1 a b c • OR of all minterms where out=1
0 1 0 0 abc • E.g. out = c + bc + ac
0 1 1 1 abc a
b
1 0 0 0 abc c
out
1 0 1 1 abc
1 1 0 0 abc
1 1 1 0 abc
corollary: any combinational circuit can be implemented in
two levels of logic (ignoring inverters)
• NOT:
Logic Equations
out = ā = !a = a
• AND:
out = a ∙ b = a & b = a b
• OR:
out = a + b = a | b = a b
• XOR:
out = a b = a + āb
• Logic Equations
Constants: true = 1, false = 0
Variables: a, b, out, …
Operators (above): AND, OR, NOT, etc.
• NOT:
Logic Equations
out = ā = !a = a
• AND: NAND:
out = a ∙ b = a & b = a b
• out = = !(a & b) = (a b)
• OR:
out = a + b = a | b = a b NOR:
• out = = !(a | b) = (a b)
• XOR:
out = a b = a + āb XNOR:
• out = = ab +
• Logic Equations
Constants: true = 1, false = 0
Variables: a, b, out, …
Operators (above): AND, OR, NOT, etc.
Identities
Identities useful for manipulating logic equations
– For optimization & ease of implementation
a+0=
a+1=
a+ā=
a∙0 =
a∙1 =
a∙ā =
Identities
Identities useful for manipulating logic equations
– For optimization & ease of implementation
a+0= a a
a+1= 1
a+ā= 1
b
a∙0 = 0
a∙1 = a
a
a∙ā = 0
b
Identities
Identities useful for manipulating logic equations
– For optimization & ease of implementation
a+ab =
a(b+c) =
=
Identities
Identities useful for manipulating logic equations
– For optimization & ease of implementation
A A
= ∙ B
↔ B
A A
= + B
↔ B
a+ab =a
a(b+c) = ab + ac
= +∙
Minimization Example
a+0=a
Minimize this logic equation:
a+1=1
a+ā=1
a·0 =0 (a+b)(a+c) = (a+b)a + (a+b)c
a·1 =a = aa + ba + ac + bc
a·ā =0 = a + a(b+c) + bc
a+ab =a = a + bc
a (b+c) = ab + ac
39
a+0=a
(a+b)(a+c) a + bc
a+1=1
a+ā=1
a·0 =0 How many gates were
a·1 =a required before and after?
a·ā =0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Checking Equality w/Truth Tables
circuits ↔ truth tables ↔ equations
Example: (a+b)(a+c) = a + bc
a b c a+b a+c LHS bc RHS
0 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0
0 1 0 1 0 0 0 0
0 1 1 1 1 1 1 1
1 0 0 1 1 1 0 1
1 0 1 1 1 1 0 1
1 1 0 1 1 1 0 1
1 1 1 1 1 1 1 1
Takeaway
• Binary (two symbols: true and false) is the basis
of Logic Design
ab
c 00 01 11 10
0 0 0 0 1
1 1 1 0 1
Minimization with Karnaugh maps (2)
ab
c 00 01 11 10
0 0 0 0 1
1 1 1 0 1
Minimization with Karnaugh maps (2)
ab
c 00 01 11 10
Minterms can overlap
0 0 1 1 1 out = b + a + ab
1 0 0 1 0
ab
c 00 01 11 10
0 1 1 1 1 Minterms can span 2, 4, 8
1 0 0 1 0
or more cells
out = + ab
Karnaugh Minimization Tricks (1)
ab
c 00 01 11 10
Minterms can overlap
0 0 1 1 1 out = b + a + ab
1 0 0 1 0
ab
c 00 01 11 10
0 1 1 1 1 Minterms can span 2, 4, 8
1 0 0 1 0
or more cells
out = + ab
Karnaugh Minimization Tricks (2)
ab
cd 00 01 11 10
00 0 0 0 0 • The map wraps around
01 out = d
1 0 0 1
11 1 0 0 1
10
0 0 0 0
ab
cd 00 01 11 10
00 1 0 0 1 out =
01
0 0 0 0
11 0 0 0 0
10
1 0 0 1
Karnaugh Minimization Tricks (2)
ab
cd 00 01 11 10
00 0 0 0 0 • The map wraps around
01 1 0 0 1 out = d
11 1 0 0 1
10
0 0 0 0
ab
cd 00 01 11 10
00 1 0 0 1 out =
01 0 0 0 0
11 0 0 0 0
10
1 0 0 1
Karnaugh Minimization Tricks (3)
ab
cd 00 01 11 10
00 0 0 0 0 • “Don’t care” values can be
01 1 x x x interpreted individually in
11 1 x x 1 whatever way is convenient
10
0 0 0 0 assume all x’s = 1
out = d
ab
cd 00 01 11 10
00 1 0 0 x assume middle x’s = 0
01 0 x x 0 assume 4th column x = 1
11 0 x x 0
out =
10
1 0 0 1
Karnaugh Minimization Tricks (3)
ab
cd 00 01 11 10
00 0 0 0 0 • “Don’t care” values can be
01 1 x x x interpreted individually in
11 1 x x 1 whatever way is convenient
10
0 0 0 0 assume all x’s = 1
out = d
ab
cd 00 01 11 10
00 1 0 0 x assume middle x’s = 0
01 0 x x 0 assume 4th column x = 1
11 0 x x 0
out =
10
1 0 0 1
Minimization with K-Maps
ab
c 00 01 11 10 (1) Circle the 1’s (see below)
0 0 0 0 1 (2) Each circle is a logical
component of the final equation
1 1 1 0 1
=a+c
Rules:
• Use fewest circles necessary to cover all 1’s
• Circles must cover only 1’s
• Circles span rectangles of size power of 2 (1, 2, 4, 8…)
• Circles should be as large as possible (all circles of 1?)
• Circles may wrap around edges of K-Map
• 1 may be circled multiple times if that means fewer circles
56
Multiplexer
• A multiplexer selects
a between multiple inputs
b out = a, if d = 0
d
out = b, if d = 1
a b
0 0
d
0
out
• Build truth table
0 0 1 • Minimize diagram
0 1
0 1
0
1
• Derive logic diagram
1 0 0
1 0 1
1 1 0
1 1 1
Multiplexer Implementation
b
• Build a truth table
out = bd + a + ab + abd
d
a b d out
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
Multiplexer Implementation
b
• Build the Karnaugh
d
map
ab
d 00 01 11 10
a b d out
0
0 0 0 0
0 0 1 0 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
Multiplexer Implementation
b
• Build the Karnaugh
d
map
ab
d 00 01 11 10
a b d out
0 0 0 1 1
0 0 0 0
0 0 1 0 1 0 1 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
Multiplexer Implementation
b
• Derive Minimal
d
Logic Equation
ab
d 00 01 11 10
a b d out
0 0 0 1 1
0 0 0 0
0 0 1 0 1 0 1 1 0
0 1 0 0
0 1 1 1 • out = a + bd
1 0 0 1 a
1 0 1 0
1 1 0 1 d out
1 1 1 1
b
Transistors 101
Source Gate Drain Source Gate Drain
—
Insulator Insulator
- + + + + + + + + - - + + + + -
+ + channel created
+ + P-type
- + + + - - - + + + - - + + -
+- + - + ++ -
P-type - P-type P-type - P-type
- N-type - - N-type -
- - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
0 1
gate
P-type
Off/Open On/Closed
1 0
gate
64
2-Transistor Combination: NOT
• Logic gates are constructed by combining transistors
in complementary arrangements
• Combine p&n transistors to make a NOT gate:
CMOS Inverter :
power source (1) power source (1) power source (1)
65
Inverter
Vsupply (aka logic 1) Function: NOT
Symbol:
in out
in out
Truth Table:
(ground is logic 0)
In Ou
t
0 1
1 0
66
NOR Gate
Vsupply Function: NOR
A Symbol:
B a
out
b
out
A B Truth Table:
A B ou
t
0 0 1
0 1 0
1 0 0 67
Which Gate is this? Function:
Vsupply Vsupply
Symbol:
A B
out
B Truth Table:
A A B ou
t
(A) NOT
0 0
(B) OR
(C) XOR 0 1
(D) AND
(E) NAND
1 0
68
Which Gate is this? Function:
Vsupply Vsupply
Symbol:
A B
out
B Truth Table:
A A B ou
t
(A) NOT
0 0 1
(B) OR
(C) XOR 0 1 1
(D) AND
(E) NAND
1 0 1
69
Building Functions (Revisited)
• NOT:
• AND:
• OR:
a
• AND:
b
• OR: a
b
https://www.computershopper.com/computex-2015/performance-preview-desktop-broadwell-at-computex-2015
Vdd a
in out d out
Vss b
a
d out
in out 75
b