SlideShare a Scribd company logo
Digital Design
Copyright © 2006
Frank Vahid
1
Digital Design
Chapter 2:
Combinational Logic Design
Slides to accompany the textbook Digital Design, First Edition,
by Frank Vahid, John Wiley and Sons Publishers, 2007.
Copyright © 2007 Frank Vahid
Instructors of courses requiring Vahid's Digital Design textbook (published by John Wiley and Sons) have permission to modify and use these slides for customary course-related activities,
subject to keeping this copyright notice in place and unmodified. These slides may be posted as unanimated pdf versions on publicly-accessible course websites.. PowerPoint source (or pdf
with animations) may not be posted to publicly-accessible websites, but may be posted for students on internal protected sites or distributed directly to students by other electronic means.
Instructors may make printouts of the slides available to students for a reasonable photocopying charge, without incurring royalties. Any other use requires explicit permission. Instructors
may obtain PowerPoint source or obtain special use permissions from Wiley – see http://www.ddvahid.com for information.
Digital Design
Copyright © 2006
Frank Vahid
2
Introduction
Combinational
digital circuit
1
a
b
1
F
0
1
a
b
?
F
0
• Let’s learn to design digital circuits
• We’ll start with a simple form of circuit:
– Combinational circuit
• A digital circuit whose outputs depend solely on
the present combination of the circuit inputs’ values
Digital circuit
2.1
Sequential
digital circuit
Note: Slides with animation are denoted with a small red "a" near the animated items
Digital Design
Copyright © 2006
Frank Vahid
3
Switches
• Electronic switches are the basis of
binary digital circuits
– Electrical terminology
• Voltage: Difference in electric potential
between two points
• Current: Flow of charged particles
• Resistance: Tendency of wire to resist
current flow
• V = I * R (Ohm’s Law)
4.5 A
4.5 A
4.5 A
2 ohms
9V
0 V 9 V
+
–
2.2
Digital Design
Copyright © 2006
Frank Vahid
4
Switches
• A switch has three parts
– Source input, and output
• Current wants to flow from source
input to output
– Control input
• Voltage that controls whether that
current can flow
“off”
“on”
output
source
input
output
source
input
control
input
control
input
(b)
relay vacuum tube
discrete
transistor
IC
quarter
(to see the relative size)
a
Digital Design
Copyright © 2006
Frank Vahid
5
The CMOS Transistor
• CMOS transistor
– Basic switch in modern ICs
gate
source drain
oxide
A positive
voltage here...
...attractselectronshere,
turning the channel
between source and drain
into aconductor.
(a)
IC package
IC
does not
conduct
0
conducts
1
gate
nMOS
does not
conduct
1
gate
pMOS
conducts
0
Silicon -- not quite a conductor or insulator:
Semiconductor
2.3
a
Digital Design
Copyright © 2006
Frank Vahid
6
Boolean Logic Gates
Building Blocks for Digital Circuits
(Because Switches are Hard to Work With)
• “Logic gates” are better digital circuit building blocks than switches (transistors)
– Why?...
2.4
Digital Design
Copyright © 2006
Frank Vahid
7
Boolean Algebra and its Relation to Digital Circuits
• Boolean Algebra
– Variables represent 0 or 1 only
– Operators return 0 or 1 only
– Basic operators
• AND: a AND b returns 1 only when both a=1 and b=1
• OR: a OR b returns 1 if either (or both) a=1 or b=1
• NOT: NOT a returns the opposite of a (1 if a=0, 0 if a=1)
a
0
0
1
1
b
0
1
0
1
AND
0
0
0
1 a
0
0
1
1
b
0
1
0
1
OR
0
1
1
1
a
0
1
NOT
1
0
Digital Design
Copyright © 2006
Frank Vahid
8
Converting to Boolean Equations
• Convert the following English
statements to a Boolean equation
– Q1. a is 1 and b is 1.
• Answer: F = a AND b
– Q2. either of a or b is 1.
• Answer: F = a OR b
– Q3. both a and b are not 0.
• Answer:
– (a) Option 1: F = NOT(a) AND NOT(b)
– (b) Option 2: F = a OR b
a
Digital Design
Copyright © 2006
Frank Vahid
9
Relating Boolean Algebra to Digital Design
• Implement Boolean operators using transistors
– Call those implementations logic gates.
x
0
0
1
1
y
0
1
0
1
F
0
0
0
1
x
0
0
1
1
y
0
1
0
1
F
0
1
1
1
x
0
1
F
1
0
F
x
x
y
F
OR
NOT
F
x
y
AND
0
1
y
x
x
y
F
1
0
F
x
Symbol
Truth table
Transistor
circuit
0
1
x y
F
y
x
Digital Design
Copyright © 2006
Frank Vahid
10
NOT/OR/AND Logic Gate Timing Diagrams
0
1
1
0
time
F
x
1
0
x
y
F
1
1
0
0
time
1
0
x
y
F
1
1
0
0
time
Digital Design
Copyright © 2006
Frank Vahid
11
Example: Seat Belt Warning Light System
• Design circuit for warning light
• Sensors
– s=1: seat belt fastened
– k=1: key inserted
– p=1: person in seat
• Capture Boolean equation
– person in seat, and seat belt not
fastened, and key inserted
• Convert equation to circuit
w = p AND NOT(s) AND k
k
p
s
w
BeltWarn
Digital Design
Copyright © 2006
Frank Vahid
12
Boolean Algebra Terminology
• Example equation: F(a,b,c) = a’bc + abc’ + ab + c
• Variable
– Represents a value (0 or 1)
– Three variables: a, b, and c
• Literal
– Appearance of a variable, in true or complemented form
– Nine literals: a’, b, c, a, b, c’, a, b, and c
• Product term
– Product of literals
– Four product terms: a’bc, abc’, ab, c
• Sum-of-products
– Equation written as OR of product terms only
– Above equation is in sum-of-products form. “F = (a+b)c + d” is not.
Digital Design
Copyright © 2006
Frank Vahid
13
Boolean Algebra Properties
• Commutative
– a + b = b + a
– a * b = b * a
• Distributive
– a * (b + c) = a * b + a * c
– a + (b * c) = (a + b) * (a + c)
• (this one is tricky!)
• Associative
– (a + b) + c = a + (b + c)
– (a * b) * c = a * (b * c)
• Identity
– 0 + a = a + 0 = a
– 1 * a = a * 1 = a
• Complement
– a + a’ = 1
– a * a’ = 0
• To prove, just evaluate all possibilities
• Show abc + abc’ = ab.
– Use first distributive property
• abc + abc’ = ab(c+c’).
– Complement property
• Replace c+c’ by 1: ab(c+c’) = ab(1).
– Identity property
• ab(1) = ab*1 = ab.
Example uses of the properties
Digital Design
Copyright © 2006
Frank Vahid
14
Boolean Algebra: Additional Properties
• Null elements
– a + 1 = 1
– a * 0 = 0
• Idempotent Law
– a + a = a
– a * a = a
• Involution Law
– (a’)’ = a
• DeMorgan’s Law
– (a + b)’ = a’b’
– (ab)’ = a’ + b’
– Very useful!
• To prove, just evaluate all possibilities
Circuit
a
b
c
S
Circuit
S
a
b
c
Digital Design
Copyright © 2006
Frank Vahid
15
Representations of Boolean Functions
• A function can be represented in different ways
– Above shows seven representations of the same functions F(a,b), using four
different methods: English, Equation, Circuit, and Truth Table
2.6
a
a
b
F
F
Circuit 1
Circuit 2
(c)
(d)
English 1: F outputs 1 when a is 0 and b is 0, or when a is 0 and b is 1.
English 2: F outputs 1 when a is 0, regardless of b’s value
(a)
(b)
a
0
0
1
1
b
0
1
0
1
F
1
1
0
0
T
he function F
Truth table
Equation 2: F(a,b) = a’
Equation 1: F(a,b) = a’b’ + a’b
Digital Design
Copyright © 2006
Frank Vahid
16
Truth Table Representation of Boolean Functions
• Define value of F for
each possible
combination of input
values
– 2-input function: 4 rows
– 3-input function: 8 rows
– 4-input function: 16 rows
• Q: Use truth table to
define function F(a,b,c)
that is 1 when abc is 5 or
greater in binary
c
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
d
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
b
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
F
c
0
1
0
1
0
1
0
1
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
F
a
0
0
1
1
b
0
1
0
1
F
(a)
(b)
(c)
c
0
1
0
1
0
1
0
1
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
F
0
0
0
0
0
1
1
1
a
Digital Design
Copyright © 2006
Frank Vahid
17
Standard Representation: Truth Table
• How can we determine if two
functions are the same?
• Used algebraic methods
• But if we failed, does that prove
not equal? No.
• Solution: Convert to truth tables
– Only ONE truth table
representation of a given
function
• Standard representation -- for
given function, only one version
in standard form exists
a
0
0
1
1
b
0
1
0
1
F
1
1
0
1
F = ab + a
'
a
0
0
1
1
b
0
1
0
1
F
1
1
0
1
F = a’b’ +
a’b + ab
Q: Determine if F=ab+a’ is same
function as F=a’b’+a’b+ab, by converting
each to truth table first
a
Same
Digital Design
Copyright © 2006
Frank Vahid
18
Canonical Form -- Sum of Minterms
• Truth tables too big for numerous inputs
• Use standard form of equation instead
– Known as canonical form
– Boolean algebra: create sum of minterms
• Minterm: product term with every function literal appearing exactly
once, in true or complemented form
• Just multiply-out equation until sum of product terms
• Then expand each term until all terms are minterms
a
Digital Design
Copyright © 2006
Frank Vahid
19
Multiple-Output Circuits
• Many circuits have more than one output
• Can give each a separate circuit, or can share gates
• Ex: F = ab + c’, G = ab + bc
a
b
c
F
G
(a)
a
b
c
F
G
(b)
Option 1: Separate circuits Option 2: Shared gates
Digital Design
Copyright © 2006
Frank Vahid
20
Multiple-Output Example:
BCD to 7-Segment Converter
a = w’x’y’z’ + w’x’yz’ + w’x’yz + w’xy’z +
w’xyz’ + w’xyz + wx’y’z’ + wx’y’z
abcdefg= 1111110 0110000 1101101
a
f
b
d
g
e
c
(b)
(a)
b = w’x’y’z’ + w’x’y’z + w’x’yz’ + w’x’yz +
w’xy’z’ + w’xyz + wx’y’z’ + wx’y’z
Digital Design
Copyright © 2006
Frank Vahid
21
Combinational Logic Design Process
Step Description
Step 1 Capture the
function
Create a truth table or equations, whichever is
most natural for the given problem, to describe
the desired behavior of the combinational logic.
Step 2 Convert to
equations
This step is only necessary if you captured the
function using a truth table instead of equations.
Create an equation for each output by ORing all the
minterms for that output. Simplify the equations if
desired.
Step 3 Implement
as a gate-
based
circuit
For each output, create a circuit corresponding
to the output’s equation. (Sharing gates among
multiple outputs is OK optionally.)
2.7
Digital Design
Copyright © 2006
Frank Vahid
22
Example: Number of 1s Count
• Problem: Output in binary on
two outputs yz the number of 1s
on three inputs
• 010  01 101  10 000  00
– Step 1: Capture the function
• Truth table or equation?
– Truth table is straightforward
– Step 2: Convert to equation
• y = a’bc + ab’c + abc’ + abc
• z = a’b’c + a’bc’ + ab’c’ + abc
– Step 3: Implement as a gate-
based circuit
a
b
c
a
b
c
a
b
c
a
b
c
z
a
b
c
a
b
c
a
b
y
Digital Design
Copyright © 2006
Frank Vahid
23
More Gates
• NAND: Opposite of AND (“NOT AND”)
• NOR: Opposite of OR (“NOT OR”)
• XOR: Exactly 1 input is 1, for 2-input
XOR. (For more inputs -- odd number of
1s)
• XNOR: Opposite of XOR (“NOT XOR”)
2.8
x
0
0
1
1
y
0
1
0
1
F
1
0
0
1
x
0
0
1
1
y
0
1
0
1
F
0
1
1
0
x
0
0
1
1
y
0
1
0
1
F
1
0
0
0
x
0
0
1
1
y
0
1
0
1
F
1
1
1
0
x
y
x
y
F
F
NOR
NAND XOR XNOR
1
0
x y
F
x
y
1
0
x
x
y
y
F
NAND NOR
• NAND same as AND with power &
ground switched
• Why? nMOS conducts 0s well, but not
1s (reasons beyond our scope) -- so
NAND more efficient
• Likewise, NOR same as OR with
power/ground switched
• AND in CMOS: NAND with NOT
• OR in CMOS: NOR with NOT
• So NAND/NOR more common
Digital Design
Copyright © 2006
Frank Vahid
24
More Gates: Example Uses
• Aircraft lavatory sign
example
– S = (abc)’
• Detecting all 0s
– Use NOR
• Detecting equality
– Use XNOR
• Detecting odd # of 1s
– Use XOR
– Useful for generating “parity”
bit common for detecting
errors
S
Circuit
a
b
c
0
0
0
1 a0
b0
a1
b1
a2
b2
A=B
Digital Design
Copyright © 2006
Frank Vahid
25
Completeness of NAND
• Any Boolean function can be implemented using just NAND
gates. Why?
– Need AND, OR, and NOT
– NOT: 1-input NAND (or 2-input NAND with inputs tied together)
– AND: NAND followed by NOT
– OR: NAND preceded by NOTs
• Likewise for NOR
Digital Design
Copyright © 2006
Frank Vahid
26
Decoders and Muxes
• Decoder: Popular combinational
logic building block, in addition to
logic gates
– Converts input binary number to
one high output
• 2-input decoder: four possible
input binary numbers
– So has four outputs, one for each
possible input binary number
• Internal design
– AND gate for each output to
detect input combination
• Decoder with enable e
– Outputs all 0 if e=0
– Regular behavior if e=1
• n-input decoder: 2n
outputs
2.9
i0
i1
d0
d1
d2
d3 1
1
1
0
0
0
i0
i1
d0
d1
d2
d3 0
0
0
0
0
1
i0
i1
d0
d1
d2
d3
i0
i1
d0
d1
d2
d3
0
0
1
0
1
0
0
1
0
1
0
0
i0
d0
d1
d2
d3
i1
i0
i1
d0
d1
d2
d3
e 1
1
1
1
0
0
0
e
i0
i1
d0
d1
d2
d3 0
1
1
0
0
0
0
i1’i0’
i1’i0
i1i0’
i1i0
Digital Design
Copyright © 2006
Frank Vahid
27
Multiplexor (Mux)
• Mux: Another popular combinational building block
– Routes one of its N data inputs to its one output, based on binary
value of select inputs
• 4 input mux  needs 2 select inputs to indicate which input to route
through
• 8 input mux  3 select inputs
• N inputs  log2(N) selects
– Like a railyard switch
Digital Design
Copyright © 2006
Frank Vahid
28
Mux Internal Design
s0
d
i0
i1
2×1
i1
i0
s0
1
d
2×1
i1
i0
s0
0
d
2×1
i1
i0
s0
d
0
i0 (1*i0=i0)
i0
(0+i0=i0)
1
0
2x1 mux
i0
4
1
i2
i1
i3
s1 s0
d
s0
d
i0
i1
i2
i3
s1
4x1 mux
0
a
Digital Design
Copyright © 2006
Frank Vahid
29
Muxes Commonly Together -- N-bit Mux
• Ex: Two 4-bit inputs, A (a3 a2 a1 a0), and B (b3 b2 b1 b0)
– 4-bit 2x1 mux (just four 2x1 muxes sharing a select line) can select
between A or B
i0
s0
i1
21
d
i0
s0
i1
21
d
i0
s0
i1
21
d
i0
s0
i1
21
d
a3
b3
I0
s0
s0
I1
4-bit
2x1
D C
A
B
a2
b2
a1
b1
a0
b0
s0
4
C
4
4
4
c3
c2
c1
c0
is short
for
Simplifying
notation:
Digital Design
Copyright © 2006
Frank Vahid
30
N-bit Mux Example
• Four possible display items
– Temperature (T), Average miles-per-gallon (A), Instantaneous mpg (I), and
Miles remaining (M) -- each is 8-bits wide
– Choose which to display using two inputs x and y
– Use 8-bit 4x1 mux
Digital Design
Copyright © 2006
Frank Vahid
31
Additional Considerations
Schematic Capture and Simulation
• Schematic capture
– Computer tool for user to capture logic circuit graphically
• Simulator
– Computer tool to show what circuit outputs would be for given inputs
• Outputs commonly displayed as waveform
2.10
Simulate
Simulate
d3
d2
d1
d0
i0
i1
Outputs
Inputs
d3
d2
d1
d0
i0
i1
Outputs
Inputs
Digital Design
Copyright © 2006
Frank Vahid
32
Additional Considerations
Non-Ideal Gate Behavior -- Delay
• Real gates have some delay
– Outputs don’t change immediately after inputs change
Digital Design
Copyright © 2006
Frank Vahid
33
Chapter Summary
• Combinational circuits
– Circuit whose outputs are function of present inputs
• No “state”
• Switches: Basic component in digital circuits
• Boolean logic gates: AND, OR, NOT -- Better building block than
switches
– Enables use of Boolean algebra to design circuits
• Boolean algebra: uses true/false variables/operators
• Representations of Boolean functions: Can translate among
• Combinational design process: Translate from equation (or table) to
circuit through well-defined steps
• More gates: NAND, NOR, XOR, XNOR also useful
• Muxes and decoders: Additional useful combinational building blocks

More Related Content

PPT
ch02.ppt
PPTX
DIGITAL ELECTRONICS KMAP Boolean algebra
PDF
Chapter 4 logic design
PPT
PPTX
Digital-Logic40124sequential circuits logic gatepptx
PPTX
Introduction to Digital System eLECTRONICS
PPT
IS 139 Lecture 3 - 2015
PPT
IS 139 Lecture 3
ch02.ppt
DIGITAL ELECTRONICS KMAP Boolean algebra
Chapter 4 logic design
Digital-Logic40124sequential circuits logic gatepptx
Introduction to Digital System eLECTRONICS
IS 139 Lecture 3 - 2015
IS 139 Lecture 3

Similar to COMBINATIONAL LOGIC DESIGN SADSADASDASDASDASDASDASDA (20)

PPT
14 Lec11 2003
PPT
Binary parallel adder, decimal adder
PDF
Simplification of Circuits.pdf
PPTX
Lecture 18 M - Copy.pptx
PPT
9525.ppt
PPTX
Introduction to digital logic
PPT
N301 Designing Circuits
PPT
combinational-circuit (1).ppt
PPT
Lec 2 digital basics
PPT
PPTX
Unit-I digital electronics ...
PPTX
CVMU digital electronics ppt for students to learn from
PPT
Digital Logic Design
PPT
combinational-circuit (1).ppt
PPT
Digital Logic Circuits
PPT
solids_and_semiconductor notes for revision purpose.ppt
PPTX
Lecture-5a - Half and Full Adxcccder.pptx
PPTX
digital systems introduction logic systems
PPT
Semiconductor Devices Class 12 Part-4
14 Lec11 2003
Binary parallel adder, decimal adder
Simplification of Circuits.pdf
Lecture 18 M - Copy.pptx
9525.ppt
Introduction to digital logic
N301 Designing Circuits
combinational-circuit (1).ppt
Lec 2 digital basics
Unit-I digital electronics ...
CVMU digital electronics ppt for students to learn from
Digital Logic Design
combinational-circuit (1).ppt
Digital Logic Circuits
solids_and_semiconductor notes for revision purpose.ppt
Lecture-5a - Half and Full Adxcccder.pptx
digital systems introduction logic systems
Semiconductor Devices Class 12 Part-4
Ad

Recently uploaded (20)

PPTX
Embeded System for Artificial intelligence 2.pptx
PPTX
quadraticequations-111211090004-phpapp02.pptx
PPTX
ERP good ERP good ERP good ERP good good ERP good ERP good
PDF
How NGOs Save Costs with Affordable IT Rentals
PPTX
title _yeOPC_Poisoning_Presentation.pptx
PPTX
PROGRAMMING-QUARTER-2-PYTHON.pptxnsnsndn
PPTX
Nanokeyer nano keyekr kano ketkker nano keyer
PDF
Layer23-Switch.com The Cisco Catalyst 9300 Series is Cisco’s flagship stackab...
PPTX
Embedded for Artificial Intelligence 1.pptx
PPTX
Lecture 3b C Library _ ESP32.pptxjfjfjffkkfkfk
PPTX
DEATH AUDIT MAY 2025.pptxurjrjejektjtjyjjy
PPTX
Entre CHtzyshshshshshshshzhhzzhhz 4MSt.pptx
PPTX
5. MEASURE OF INTERIOR AND EXTERIOR- MATATAG CURRICULUM.pptx
PDF
Dynamic Checkweighers and Automatic Weighing Machine Solutions
PPTX
material for studying about lift elevators escalation
PPTX
1.pptxsadafqefeqfeqfeffeqfqeqfeqefqfeqfqeffqe
DOCX
A PROPOSAL ON IoT climate sensor 2.docx
PPT
FABRICATION OF MOS FET BJT DEVICES IN NANOMETER
PPTX
Sem-8 project ppt fortvfvmat uyyjhuj.pptx
PPTX
STEEL- intro-1.pptxhejwjenwnwnenemwmwmwm
Embeded System for Artificial intelligence 2.pptx
quadraticequations-111211090004-phpapp02.pptx
ERP good ERP good ERP good ERP good good ERP good ERP good
How NGOs Save Costs with Affordable IT Rentals
title _yeOPC_Poisoning_Presentation.pptx
PROGRAMMING-QUARTER-2-PYTHON.pptxnsnsndn
Nanokeyer nano keyekr kano ketkker nano keyer
Layer23-Switch.com The Cisco Catalyst 9300 Series is Cisco’s flagship stackab...
Embedded for Artificial Intelligence 1.pptx
Lecture 3b C Library _ ESP32.pptxjfjfjffkkfkfk
DEATH AUDIT MAY 2025.pptxurjrjejektjtjyjjy
Entre CHtzyshshshshshshshzhhzzhhz 4MSt.pptx
5. MEASURE OF INTERIOR AND EXTERIOR- MATATAG CURRICULUM.pptx
Dynamic Checkweighers and Automatic Weighing Machine Solutions
material for studying about lift elevators escalation
1.pptxsadafqefeqfeqfeffeqfqeqfeqefqfeqfqeffqe
A PROPOSAL ON IoT climate sensor 2.docx
FABRICATION OF MOS FET BJT DEVICES IN NANOMETER
Sem-8 project ppt fortvfvmat uyyjhuj.pptx
STEEL- intro-1.pptxhejwjenwnwnenemwmwmwm
Ad

COMBINATIONAL LOGIC DESIGN SADSADASDASDASDASDASDASDA

  • 1. Digital Design Copyright © 2006 Frank Vahid 1 Digital Design Chapter 2: Combinational Logic Design Slides to accompany the textbook Digital Design, First Edition, by Frank Vahid, John Wiley and Sons Publishers, 2007. Copyright © 2007 Frank Vahid Instructors of courses requiring Vahid's Digital Design textbook (published by John Wiley and Sons) have permission to modify and use these slides for customary course-related activities, subject to keeping this copyright notice in place and unmodified. These slides may be posted as unanimated pdf versions on publicly-accessible course websites.. PowerPoint source (or pdf with animations) may not be posted to publicly-accessible websites, but may be posted for students on internal protected sites or distributed directly to students by other electronic means. Instructors may make printouts of the slides available to students for a reasonable photocopying charge, without incurring royalties. Any other use requires explicit permission. Instructors may obtain PowerPoint source or obtain special use permissions from Wiley – see http://www.ddvahid.com for information.
  • 2. Digital Design Copyright © 2006 Frank Vahid 2 Introduction Combinational digital circuit 1 a b 1 F 0 1 a b ? F 0 • Let’s learn to design digital circuits • We’ll start with a simple form of circuit: – Combinational circuit • A digital circuit whose outputs depend solely on the present combination of the circuit inputs’ values Digital circuit 2.1 Sequential digital circuit Note: Slides with animation are denoted with a small red "a" near the animated items
  • 3. Digital Design Copyright © 2006 Frank Vahid 3 Switches • Electronic switches are the basis of binary digital circuits – Electrical terminology • Voltage: Difference in electric potential between two points • Current: Flow of charged particles • Resistance: Tendency of wire to resist current flow • V = I * R (Ohm’s Law) 4.5 A 4.5 A 4.5 A 2 ohms 9V 0 V 9 V + – 2.2
  • 4. Digital Design Copyright © 2006 Frank Vahid 4 Switches • A switch has three parts – Source input, and output • Current wants to flow from source input to output – Control input • Voltage that controls whether that current can flow “off” “on” output source input output source input control input control input (b) relay vacuum tube discrete transistor IC quarter (to see the relative size) a
  • 5. Digital Design Copyright © 2006 Frank Vahid 5 The CMOS Transistor • CMOS transistor – Basic switch in modern ICs gate source drain oxide A positive voltage here... ...attractselectronshere, turning the channel between source and drain into aconductor. (a) IC package IC does not conduct 0 conducts 1 gate nMOS does not conduct 1 gate pMOS conducts 0 Silicon -- not quite a conductor or insulator: Semiconductor 2.3 a
  • 6. Digital Design Copyright © 2006 Frank Vahid 6 Boolean Logic Gates Building Blocks for Digital Circuits (Because Switches are Hard to Work With) • “Logic gates” are better digital circuit building blocks than switches (transistors) – Why?... 2.4
  • 7. Digital Design Copyright © 2006 Frank Vahid 7 Boolean Algebra and its Relation to Digital Circuits • Boolean Algebra – Variables represent 0 or 1 only – Operators return 0 or 1 only – Basic operators • AND: a AND b returns 1 only when both a=1 and b=1 • OR: a OR b returns 1 if either (or both) a=1 or b=1 • NOT: NOT a returns the opposite of a (1 if a=0, 0 if a=1) a 0 0 1 1 b 0 1 0 1 AND 0 0 0 1 a 0 0 1 1 b 0 1 0 1 OR 0 1 1 1 a 0 1 NOT 1 0
  • 8. Digital Design Copyright © 2006 Frank Vahid 8 Converting to Boolean Equations • Convert the following English statements to a Boolean equation – Q1. a is 1 and b is 1. • Answer: F = a AND b – Q2. either of a or b is 1. • Answer: F = a OR b – Q3. both a and b are not 0. • Answer: – (a) Option 1: F = NOT(a) AND NOT(b) – (b) Option 2: F = a OR b a
  • 9. Digital Design Copyright © 2006 Frank Vahid 9 Relating Boolean Algebra to Digital Design • Implement Boolean operators using transistors – Call those implementations logic gates. x 0 0 1 1 y 0 1 0 1 F 0 0 0 1 x 0 0 1 1 y 0 1 0 1 F 0 1 1 1 x 0 1 F 1 0 F x x y F OR NOT F x y AND 0 1 y x x y F 1 0 F x Symbol Truth table Transistor circuit 0 1 x y F y x
  • 10. Digital Design Copyright © 2006 Frank Vahid 10 NOT/OR/AND Logic Gate Timing Diagrams 0 1 1 0 time F x 1 0 x y F 1 1 0 0 time 1 0 x y F 1 1 0 0 time
  • 11. Digital Design Copyright © 2006 Frank Vahid 11 Example: Seat Belt Warning Light System • Design circuit for warning light • Sensors – s=1: seat belt fastened – k=1: key inserted – p=1: person in seat • Capture Boolean equation – person in seat, and seat belt not fastened, and key inserted • Convert equation to circuit w = p AND NOT(s) AND k k p s w BeltWarn
  • 12. Digital Design Copyright © 2006 Frank Vahid 12 Boolean Algebra Terminology • Example equation: F(a,b,c) = a’bc + abc’ + ab + c • Variable – Represents a value (0 or 1) – Three variables: a, b, and c • Literal – Appearance of a variable, in true or complemented form – Nine literals: a’, b, c, a, b, c’, a, b, and c • Product term – Product of literals – Four product terms: a’bc, abc’, ab, c • Sum-of-products – Equation written as OR of product terms only – Above equation is in sum-of-products form. “F = (a+b)c + d” is not.
  • 13. Digital Design Copyright © 2006 Frank Vahid 13 Boolean Algebra Properties • Commutative – a + b = b + a – a * b = b * a • Distributive – a * (b + c) = a * b + a * c – a + (b * c) = (a + b) * (a + c) • (this one is tricky!) • Associative – (a + b) + c = a + (b + c) – (a * b) * c = a * (b * c) • Identity – 0 + a = a + 0 = a – 1 * a = a * 1 = a • Complement – a + a’ = 1 – a * a’ = 0 • To prove, just evaluate all possibilities • Show abc + abc’ = ab. – Use first distributive property • abc + abc’ = ab(c+c’). – Complement property • Replace c+c’ by 1: ab(c+c’) = ab(1). – Identity property • ab(1) = ab*1 = ab. Example uses of the properties
  • 14. Digital Design Copyright © 2006 Frank Vahid 14 Boolean Algebra: Additional Properties • Null elements – a + 1 = 1 – a * 0 = 0 • Idempotent Law – a + a = a – a * a = a • Involution Law – (a’)’ = a • DeMorgan’s Law – (a + b)’ = a’b’ – (ab)’ = a’ + b’ – Very useful! • To prove, just evaluate all possibilities Circuit a b c S Circuit S a b c
  • 15. Digital Design Copyright © 2006 Frank Vahid 15 Representations of Boolean Functions • A function can be represented in different ways – Above shows seven representations of the same functions F(a,b), using four different methods: English, Equation, Circuit, and Truth Table 2.6 a a b F F Circuit 1 Circuit 2 (c) (d) English 1: F outputs 1 when a is 0 and b is 0, or when a is 0 and b is 1. English 2: F outputs 1 when a is 0, regardless of b’s value (a) (b) a 0 0 1 1 b 0 1 0 1 F 1 1 0 0 T he function F Truth table Equation 2: F(a,b) = a’ Equation 1: F(a,b) = a’b’ + a’b
  • 16. Digital Design Copyright © 2006 Frank Vahid 16 Truth Table Representation of Boolean Functions • Define value of F for each possible combination of input values – 2-input function: 4 rows – 3-input function: 8 rows – 4-input function: 16 rows • Q: Use truth table to define function F(a,b,c) that is 1 when abc is 5 or greater in binary c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 F c 0 1 0 1 0 1 0 1 a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 F a 0 0 1 1 b 0 1 0 1 F (a) (b) (c) c 0 1 0 1 0 1 0 1 a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 F 0 0 0 0 0 1 1 1 a
  • 17. Digital Design Copyright © 2006 Frank Vahid 17 Standard Representation: Truth Table • How can we determine if two functions are the same? • Used algebraic methods • But if we failed, does that prove not equal? No. • Solution: Convert to truth tables – Only ONE truth table representation of a given function • Standard representation -- for given function, only one version in standard form exists a 0 0 1 1 b 0 1 0 1 F 1 1 0 1 F = ab + a ' a 0 0 1 1 b 0 1 0 1 F 1 1 0 1 F = a’b’ + a’b + ab Q: Determine if F=ab+a’ is same function as F=a’b’+a’b+ab, by converting each to truth table first a Same
  • 18. Digital Design Copyright © 2006 Frank Vahid 18 Canonical Form -- Sum of Minterms • Truth tables too big for numerous inputs • Use standard form of equation instead – Known as canonical form – Boolean algebra: create sum of minterms • Minterm: product term with every function literal appearing exactly once, in true or complemented form • Just multiply-out equation until sum of product terms • Then expand each term until all terms are minterms a
  • 19. Digital Design Copyright © 2006 Frank Vahid 19 Multiple-Output Circuits • Many circuits have more than one output • Can give each a separate circuit, or can share gates • Ex: F = ab + c’, G = ab + bc a b c F G (a) a b c F G (b) Option 1: Separate circuits Option 2: Shared gates
  • 20. Digital Design Copyright © 2006 Frank Vahid 20 Multiple-Output Example: BCD to 7-Segment Converter a = w’x’y’z’ + w’x’yz’ + w’x’yz + w’xy’z + w’xyz’ + w’xyz + wx’y’z’ + wx’y’z abcdefg= 1111110 0110000 1101101 a f b d g e c (b) (a) b = w’x’y’z’ + w’x’y’z + w’x’yz’ + w’x’yz + w’xy’z’ + w’xyz + wx’y’z’ + wx’y’z
  • 21. Digital Design Copyright © 2006 Frank Vahid 21 Combinational Logic Design Process Step Description Step 1 Capture the function Create a truth table or equations, whichever is most natural for the given problem, to describe the desired behavior of the combinational logic. Step 2 Convert to equations This step is only necessary if you captured the function using a truth table instead of equations. Create an equation for each output by ORing all the minterms for that output. Simplify the equations if desired. Step 3 Implement as a gate- based circuit For each output, create a circuit corresponding to the output’s equation. (Sharing gates among multiple outputs is OK optionally.) 2.7
  • 22. Digital Design Copyright © 2006 Frank Vahid 22 Example: Number of 1s Count • Problem: Output in binary on two outputs yz the number of 1s on three inputs • 010  01 101  10 000  00 – Step 1: Capture the function • Truth table or equation? – Truth table is straightforward – Step 2: Convert to equation • y = a’bc + ab’c + abc’ + abc • z = a’b’c + a’bc’ + ab’c’ + abc – Step 3: Implement as a gate- based circuit a b c a b c a b c a b c z a b c a b c a b y
  • 23. Digital Design Copyright © 2006 Frank Vahid 23 More Gates • NAND: Opposite of AND (“NOT AND”) • NOR: Opposite of OR (“NOT OR”) • XOR: Exactly 1 input is 1, for 2-input XOR. (For more inputs -- odd number of 1s) • XNOR: Opposite of XOR (“NOT XOR”) 2.8 x 0 0 1 1 y 0 1 0 1 F 1 0 0 1 x 0 0 1 1 y 0 1 0 1 F 0 1 1 0 x 0 0 1 1 y 0 1 0 1 F 1 0 0 0 x 0 0 1 1 y 0 1 0 1 F 1 1 1 0 x y x y F F NOR NAND XOR XNOR 1 0 x y F x y 1 0 x x y y F NAND NOR • NAND same as AND with power & ground switched • Why? nMOS conducts 0s well, but not 1s (reasons beyond our scope) -- so NAND more efficient • Likewise, NOR same as OR with power/ground switched • AND in CMOS: NAND with NOT • OR in CMOS: NOR with NOT • So NAND/NOR more common
  • 24. Digital Design Copyright © 2006 Frank Vahid 24 More Gates: Example Uses • Aircraft lavatory sign example – S = (abc)’ • Detecting all 0s – Use NOR • Detecting equality – Use XNOR • Detecting odd # of 1s – Use XOR – Useful for generating “parity” bit common for detecting errors S Circuit a b c 0 0 0 1 a0 b0 a1 b1 a2 b2 A=B
  • 25. Digital Design Copyright © 2006 Frank Vahid 25 Completeness of NAND • Any Boolean function can be implemented using just NAND gates. Why? – Need AND, OR, and NOT – NOT: 1-input NAND (or 2-input NAND with inputs tied together) – AND: NAND followed by NOT – OR: NAND preceded by NOTs • Likewise for NOR
  • 26. Digital Design Copyright © 2006 Frank Vahid 26 Decoders and Muxes • Decoder: Popular combinational logic building block, in addition to logic gates – Converts input binary number to one high output • 2-input decoder: four possible input binary numbers – So has four outputs, one for each possible input binary number • Internal design – AND gate for each output to detect input combination • Decoder with enable e – Outputs all 0 if e=0 – Regular behavior if e=1 • n-input decoder: 2n outputs 2.9 i0 i1 d0 d1 d2 d3 1 1 1 0 0 0 i0 i1 d0 d1 d2 d3 0 0 0 0 0 1 i0 i1 d0 d1 d2 d3 i0 i1 d0 d1 d2 d3 0 0 1 0 1 0 0 1 0 1 0 0 i0 d0 d1 d2 d3 i1 i0 i1 d0 d1 d2 d3 e 1 1 1 1 0 0 0 e i0 i1 d0 d1 d2 d3 0 1 1 0 0 0 0 i1’i0’ i1’i0 i1i0’ i1i0
  • 27. Digital Design Copyright © 2006 Frank Vahid 27 Multiplexor (Mux) • Mux: Another popular combinational building block – Routes one of its N data inputs to its one output, based on binary value of select inputs • 4 input mux  needs 2 select inputs to indicate which input to route through • 8 input mux  3 select inputs • N inputs  log2(N) selects – Like a railyard switch
  • 28. Digital Design Copyright © 2006 Frank Vahid 28 Mux Internal Design s0 d i0 i1 2×1 i1 i0 s0 1 d 2×1 i1 i0 s0 0 d 2×1 i1 i0 s0 d 0 i0 (1*i0=i0) i0 (0+i0=i0) 1 0 2x1 mux i0 4 1 i2 i1 i3 s1 s0 d s0 d i0 i1 i2 i3 s1 4x1 mux 0 a
  • 29. Digital Design Copyright © 2006 Frank Vahid 29 Muxes Commonly Together -- N-bit Mux • Ex: Two 4-bit inputs, A (a3 a2 a1 a0), and B (b3 b2 b1 b0) – 4-bit 2x1 mux (just four 2x1 muxes sharing a select line) can select between A or B i0 s0 i1 21 d i0 s0 i1 21 d i0 s0 i1 21 d i0 s0 i1 21 d a3 b3 I0 s0 s0 I1 4-bit 2x1 D C A B a2 b2 a1 b1 a0 b0 s0 4 C 4 4 4 c3 c2 c1 c0 is short for Simplifying notation:
  • 30. Digital Design Copyright © 2006 Frank Vahid 30 N-bit Mux Example • Four possible display items – Temperature (T), Average miles-per-gallon (A), Instantaneous mpg (I), and Miles remaining (M) -- each is 8-bits wide – Choose which to display using two inputs x and y – Use 8-bit 4x1 mux
  • 31. Digital Design Copyright © 2006 Frank Vahid 31 Additional Considerations Schematic Capture and Simulation • Schematic capture – Computer tool for user to capture logic circuit graphically • Simulator – Computer tool to show what circuit outputs would be for given inputs • Outputs commonly displayed as waveform 2.10 Simulate Simulate d3 d2 d1 d0 i0 i1 Outputs Inputs d3 d2 d1 d0 i0 i1 Outputs Inputs
  • 32. Digital Design Copyright © 2006 Frank Vahid 32 Additional Considerations Non-Ideal Gate Behavior -- Delay • Real gates have some delay – Outputs don’t change immediately after inputs change
  • 33. Digital Design Copyright © 2006 Frank Vahid 33 Chapter Summary • Combinational circuits – Circuit whose outputs are function of present inputs • No “state” • Switches: Basic component in digital circuits • Boolean logic gates: AND, OR, NOT -- Better building block than switches – Enables use of Boolean algebra to design circuits • Boolean algebra: uses true/false variables/operators • Representations of Boolean functions: Can translate among • Combinational design process: Translate from equation (or table) to circuit through well-defined steps • More gates: NAND, NOR, XOR, XNOR also useful • Muxes and decoders: Additional useful combinational building blocks