Gates and Logic:
From switches to Transistors,
Logic Gates and Logic Circuits
Goals for Today
From Switches to Logic Gates to Logic Circuits
Logic Gates
• From switches
• Truth Tables
Logic Circuits
• Identity Laws
• From Truth Tables to Circuits (Sum of Products)
Logic Circuit Minimization
• Algebraic Manipulations
• Truth Tables (Karnaugh Maps)
Transistors (electronic switch)
A switch
• Acts as a conductor or
insulator
• Can be used to build
amazing things…
The Bombe used to break the German
Enigma machine during World War II
Basic Building Blocks: Switches to Logic Gates
+
Either (OR)
Truth Table
A A B Light
-
OFF OFF
OFF ON
B ON OFF
ON ON
Both (AND)
+
A - A B Light
OFF OFF
OFF ON
B ON OFF
ON ON
Basic Building Blocks: Switches to Logic Gates
Either (OR)
Truth Table
A A B Light
-
OFF OFF
OR OFF ON
B ON OFF
ON ON
Both (AND)
A - A B Light
OFF OFF
AND OFF ON
B ON OFF
ON ON
Basic Building Blocks: Switches to Logic Gates
Either (OR)
Truth Table
A A B Light
-
0 0 0 = OFF
OR 0 1 1 = ON
B 1 0
1 1
Both (AND)
A - A B Light
0 0
AND 0 1
B 1 0
1 1
Basic Building Blocks: Switches to Logic Gates
OR
B
George Boole,(1815-1864)
A Did you know?
George Boole Inventor of the idea
AND of logic gates. He was born in
B Lincoln, England and he was the son
of a shoemaker in a low class family.
Takeaway
Binary (two symbols: true and false) is the basis of
Logic Design
Building Functions: Logic Gates
A Out
NOT: In
A B Out
AND: A 0 0
0 1
0
0
B 1 0 0
1 1 1
OR: 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,
NAND (not AND), NOR (not OR), XOR, and XNOR (not XOR) [later]
Building Functions: Logic Gates
A Out
NOT: In 0 1
1 0
A B Out
AND: A 0 0
0 1
0
0
B 1 0 0
1 1 1
OR: 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,
NAND (not AND), NOR (not OR), XOR, and XNOR (not XOR) [later]
Building Functions: Logic Gates
A Out
NOT: In 0 1
1 0
A B Out A B Out
AND: A 0 0
0 1
0
0
NAND: A
0 0
0 1
1
1
B 1 0 0 B 1 0 1
1 1 1 1 1 0
OR: A B Out NOR: A B Out
A A
0 0 0 0 0 1
B 0 1 1 B 0 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,
NAND (not AND), NOR (not OR), XOR, and XNOR (not XOR) [later]
Activity#1.A: 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 Out
a
b
Out
Activity#1: 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 d Out
1 0 1
1 1 0 b
1 1 1
Goals for Today
From Switches to Logic Gates to Logic Circuits
Logic Gates
• From switches
• Truth Tables
Logic Circuits
• Identity Laws
• From Truth Tables to Circuits (Sum of Products)
Logic Circuit Minimization
• Algebraic Manipulations
• Truth Tables (Karnaugh Maps)
Transistors (electronic switch)
Next Goal
Given a Logic function, create a Logic Circuit that
implements the Logic Function…
…and, with the minimum number of logic gates
Fewer gates: A cheaper ($$$) circuit!
Logic Gates
A Out
NOT: In 0 1
1 0
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
L A 0 0
0 1
0
1
B
ogic Equations 1 0 1
Constants: true = 1, false
1 1 = 00
Variables: a, b, out, …
Operators (above): AND, OR, NOT, etc.
Logic Gates
A Out
NOT: In 0 1
1 0
A B Out A B Out
AND: A
0 0
0 1
0
0
NAND: A
0 0
0 1
1
1
B 1 0 0 B 1 0 1
1 1 1 1 1 0
OR: A B Out NOR: A B Out
A A
0 0 0 0 0 1
B 0 1 1 B 0 1 0
1 0 1 1 0 0
XOR: 1 1 1
XNOR:
1 1 0
A B Out A B Out
L A 0 0
0 1
0
1
A 0 0
0 1
1
0
B B
ogic Equations 1 0 1 1 0 0
Constants: true = 1, false
1 1 = 00 1 1 1
Variables: a, b, out, …
Operators (above): AND, OR, NOT, etc.
Logic Equations
NOT:
• out = ā = !a = a
AND:
• out = a ∙ b = a & b = a b
OR:
• out = a + b = a | b = a b
XOR:
• out = a b = abത + āb
Logic Equations
• Constants: true = 1, false = 0
• Variables: a, b, out, …
• Operators (above): AND, OR, NOT, etc.
Logic Equations
NOT:
• out = ā = !a = a
AND: NAND:
• out = a ∙ b = a & b = a b • out = a ∙ b = !(a & b) = (a b)
OR: NOR:
• out = a + b = a | b = a b • out = a + b = !(a | b) = (a b)
XOR: XNOR:
• out = a b = abത + āb • out = a b = ab + 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 + b) =
(a ∙ b) =
a+ab =
a(b+c) =
a(b + c) =
Logic Manipulation
• functions: gates ↔ truth tables ↔ equations
• Example: (a+b)(a+c) = a + bc
a b c
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Takeaway
Binary (two symbols: true and false) is the basis of
Logic Design
More than one Logic Circuit can implement same
Logic function. Use Algebra (Identities) or Truth
Tables to show equivalence.
Next Goal
How to standardize minimizing logic circuits?
Logic Minimization
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 Minimization
How to implement a desired logic function?
a b c out minterm 1) Write minterm’s
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
Karnaugh Maps
How does one find the most efficient equation?
– Manipulate algebraically until…?
– Use Karnaugh maps (optimize visually)
– Use a software optimizer
For large circuits
– Decomposition & reuse of building blocks
Minimization with Karnaugh maps (1)
a b c out
Sum of minterms yields?
0 0 0 0
0 0 1 1 out =
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 0
Minimization with Karnaugh maps (2)
a b c out
Sum of minterms yields?
0 0 0 0
0 0 1 1 out =
0 1 0 0
0 1 1 1
1 0 0 1 Karnaugh maps identify
1 0 1 1 which inputs are (ir)relevant
1 1 0 0
1 1 1 0
to the output
ab
c 00 01 11 10
0 0 0 0 1
1 1 1 0 1
Minimization with Karnaugh maps (2)
a b c out
Sum of minterms yields?
0 0 0 0
0 0 1 1 out =
0 1 0 0
0 1 1 1
1 0 0 1
Karnaugh map minimization
1 0 1 1
1 1 0 0 Cover all 1’s
1 1 1 0
Group adjacent blocks of 2n
c
ab
00 01 11 10
1’s that yield a rectangular
shape
0 0 0 0 1
Encode the common features
1 1 1 0 1 of the rectangle
out = ab + ac
Karnaugh Minimization Tricks (1)
ab
c 00 01 11 10
Minterms can overlap
0 0 1 1 1 out =
1 0 0 1 0
ab
c 00 01 11 10
0 1 1 1 1
Minterms can span 2, 4, 8
or more cells
1 0 0 1 0
out =
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 =
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
whatever way is convenient
11 1 x x 1
• assume all x’s = 1
10
0 0 0 0 • out =
ab
cd 00 01 11 10
00 1 0 0 x
01 0 x x 0 • assume middle x’s = 0
11 0 x x 0 • assume 4th column x = 1
10
1 0 0 1 • out =
Multiplexer
A multiplexer selects
a between multiple inputs
b • out = a, if d = 0
d • out = b, if d = 1
a b d out
0 0 0 Build truth table
0 0 1
0 1 0 Minimize diagram
0 1 1
1 0 0
Derive logic diagram
1 0 1
1 1 0
1 1 1
Takeaway
Binary (two symbols: true and false) is the basis of
Logic Design
More than one Logic Circuit can implement same
Logic function. Use Algebra (Identities) or Truth
Tables to show equivalence.
Any logic function can be implemented as “sum of
products”. Karnaugh Maps minimize number of gates.
Goals for Today
From Transistors to Gates to Logic Circuits
Logic Gates
• From transistors
• Truth Tables
Logic Circuits
• Identity Laws
• From Truth Tables to Circuits (Sum of Products)
Logic Circuit Minimization
• Algebraic Manipulations
• Truth Tables (Karnaugh Maps)
Transistors (electronic switch)
NMOS and PMOS Transistors
• NMOS Transistor PMOS Transistor
Vsupply Vsupply Vsupply
VD VD = 0V
VS = Vsupply
VG VG = VSupply VG
VG = 0 V VG = VSupply VG = 0 V
VS = 0 V VD VD = Vsupply
Closed switch Closed switch
When VG = Vsupply When VG = 0 V
• Connect source to drain Connect source to drain
when VG = Vsupply when VG = 0 V
• N-channel transistor P-channel transistor
VS: voltage at the source
VD: voltage at the drain
Vsupply: max voltage (aka a logical 1)
(ground): min voltage (aka a logical 0)
NMOS and PMOS Transistors
• NMOS Transistor PMOS Transistor
Vsupply Vsupply Vsupply
D D= 0
S = Vsupply
G G
G= 1 G= 0 G= 1 G= 0
S = 0V D D= 1
Closed switch Closed switch
When VG = Vsupply When VG = 0 V
• Connect source to drain Connect source to drain
when gate = 1 when gate = 0
• N-channel transistor P-channel transistor
VS: voltage at the source
VD: voltage at the drain
Vsupply: max voltage (aka a logical 1)
(ground): min voltage (aka a logical 0)
Inverter
Vdd = hi
• Function: NOT
A out A = 0
• Called an inverter
• Symbol:
Vss = gnd
in out
A Out • Useful for taking the
0 1 inverse of an input
1 0 • CMOS: complementary-symmetry metal–oxide–
semiconductor
Truth table
NAND Gate
Vdd Vdd
• Function: NAND
A B
• Symbol:
out a
out
B b
A B out Vss
0 0 1
1 0 1
0 1 1
1 1 0
NOR Gate
Vdd
• Function: NOR
A • Symbol:
B a
out
b
out
A B
Vss Vss
A B out
0 0 1
1 0 0
0 1 0
1 1 0
Building Functions (Revisited)
NOT:
AND:
OR:
NAND and NOR are universal
• Can implement any function with NAND or just NOR gates
• useful for manufacturing
Building Functions (Revisited)
NOT: a
AND: a
b
OR: a
b
NAND and NOR are universal
• Can implement any function with NAND or just NOR gates
• useful for manufacturing
Logic Gates
One can buy gates separately
• ex. 74xxx series of
integrated circuits
• cost ~$1 per chip, mostly
for packaging and testing
Cumbersome, but possible to
build devices using gates put
together manually
Then and Now
[Link]
The first transistor • An Intel Westmere
– 1.17 billion transistors
• on a workbench at
– 240 square millimeters
AT&T Bell Labs in 1947 – Six processing cores
• Bardeen, Brattain, and Shockley
Summary
Most modern devices are made from billions of on /off
switches called transistors
• We will build a processor in this course!
• Transistors made from semiconductor materials:
– MOSFET – Metal Oxide Semiconductor Field Effect Transistor
– NMOS, PMOS – Negative MOS and Positive MOS
– CMOS – Complimentary MOS made from PMOS and NMOS transistors
• Transistors used to make logic gates and logic circuits
We can now implement any logic circuit
• Can do it efficiently, using Karnaugh maps to find the minimal
terms required
• Can use either NAND or NOR gates to implement the logic
circuit
• Can use P- and N-transistors to implement NAND or NOR gates
Big Picture: Abstraction
Hide complexity through simple abstractions
• Simplicity
– Box diagram represents inputs and outputs
• Complexity
– Hides underlying P- and N-transistors and atomic
interactions
Vdd a
in out d out
b
Vss
a
d out
in out
b