Professional Documents
Culture Documents
2.1
Introduction
Lets learn to design digital circuits, starting with a simple
form of circuit:
Combinational circuit
Outputs depend solely on the present combination of the circuit inputs
values
Vs. sequential circuit: Has memory that impacts outputs too
Motion
sensor
a
Digital
System F
Lamp
Light
sensor
(a)
Digital Design 2e
Copyright 2010
Frank Vahid
(b)
b
b=0 Digital F=1
System
2
Note: Slides with animation are denoted with a small red "a" near the animated items
2.2
Switches
Electronic switches are the basis of
binary digital circuits
2 ohms
9V
4.5 A
4.5 A
Electrical terminology
9V
0V
V = I * R (Ohms Law)
9 V = I * 2 ohms
I = 4.5 A
Digital Design 2e
Copyright 2010
Frank Vahid
4.5 A
a
Switches
control
input
off
source
input
Control input
Voltage that controls whether that
current can flow
output
control
input
source
input
1930s: Relays
1940s: Vacuum tubes
1950s: Discrete transistor
1960s: Integrated circuits (ICs)
on
output
(b)
discrete
transistor
relay
Digital Design 2e
Copyright 2010
Frank Vahid
vacuum tube
IC
quarter
(to see the relative size)
Moores Law
Digital Design 2e
Copyright 2010
Frank Vahid
2.3
gate
oxide
source
drain
IC package
IC
!"#$%&'()*+*,-'%.)(/-01
Digital Design 2e
Copyright 2010
Frank Vahid
2.3
nMOS
gate
gate
oxide
source
drain
IC package
conducts
does not
conduct
pMOS
(a)
IC
gate
does not
conduct
conducts
2.4
Logic gates are better digital circuit building blocks than switches (transistors)
Why?...
Digital Design 2e
Copyright 2010
Frank Vahid
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)
Digital Design 2e
Copyright 2010
Frank Vahid
a
0
0
1
1
b
0
1
0
1
AND
0
0
0
1
a
0
1
NOT
1
0
a
0
0
1
1
b
0
1
0
1
OR
0
1
1
1
Nice features
Formally evaluate
m=1, j=0, s=1 --> F = (1 OR 0) AND NOT(1) = 1 AND 0 = 0
Formally transform
F = (m and NOT(s)) OR (j and NOT(s))
Looks different, but same function
Well show transformation techniques soon
Formally prove
Prove that if Sally goes to lunch (s=1), then I dont go (F=0)
F = (m OR j) AND NOT(1) = (m OR j) AND 0 = 0
Digital Design 2e
Copyright 2010
Frank Vahid
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
10
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
Digital Design 2e
Copyright 2010
Frank Vahid
NOT
1
0
11
Q2. either of a or b is 1.
Answer: F = a OR b
Q3. a is 1 and b is 0.
Answer: F = a AND NOT(b)
Q4. a is not 0.
Answer:
(a) Option 1: F = NOT(NOT(a))
(b) Option 2: F = a
Digital Design 2e
Copyright 2010
Frank Vahid
12
13
!"#$%&'()*++#"$'),#("-.$)%+)/&(&%$#)/"0&('
Relating
Boolean Algebra to Digital Design
Boolean
Boolean
%RROHVLQWHQWIRUPDOL]H
Booles
intent: formalize
algebra
algebra
human
thought
human thought
(mid-1800s)
(mid-1800s)
For telephone
telephone
Switches For
Switches
switching and
(1930s) switching
and other
other
(1930s)
NOT
NOT
Symbol
Symbol
Truth table
Truth
table
x
x
x
x
yy
F
F
x
x
0
0
1
1
F
F
1
1
0
0
1
1
Transistor
Transistor
x
x
circuit
circuit
Digital design
Digital
design
x
x
y
y
F
F
x
x
0
0
0
0
1
1
1
1
0
0
electronic uses
electronic
uses
Showed application
application
Showed
of Boolean
Boolean algebra
Shannon (1938)
algebra
Shannon
(1938) of
to
design
of
to design of switchswitchbased
circuits
based circuits
OR
OR
y
y
0
0
1
1
0
0
1
1
F
F
0
0
1
1
1
1
1
1
F
F
0
0
0
0
0
0
1
1
yy
x
x
x
x
F
F
F
F
y
y
x
x
1
1
1.8 V
F
F
x y
y
x
0 0
0
0
0
1
0 1
1 0
0
1
1 1
1
1
0
0
yy
0
0
AND
AND
F
F
y
y
x
x
1
1
Next
Next slides
slides show
show how
how
these
circuits
work.
these circuits work.
1.2 V
Call those implementations logic
logic gates.
gates.
Note:
Note: The
The above
above OR/AND
OR/AND
implementations
are
0.6 V
Let
Letsus
usbuild
buildcircuits
circuitsby
bydoing
doingmath
math- LQHIILFLHQWZHOOVKRZZK\
inefficient; well show why,
powerful
- powerfulconcept
concept
and show better ones,
0V
later.
Digital Design
Design 2e
2e
1 and
and 0
each
actually
corresponds
to
Digital
1
0
each
actually
corresponds
to
Copyright
2010
2010
14
Copyright
a voltage
a
voltage range
range
Frank Vahid
Vahid
Frank
NOT !"#$%&'(
gate (Inverter)
!"#$%&'(
11
1
xx
FF
00x
11F
110
001
xx
x
1
x
1
0
Copyright 2010
xx
11
FF
0
0
F
0
When(a)
the input
input isis 00
When
the
When the input is 0
10
DigitalDesign
Design2e
2e
Digital
Copyright2010
2010
Copyright
FrankVahid
Vahid
Frank
Digital Design 2e
11 F
F
1
F
00
(a)
(a)
0
1
0
00
0
11
1
00
(b)
(b)
0
When(b)
the input
input isis 11
When
the
When the input is 1
time
time
15
15
15
OR gate
!"#$%&'
yy
FF
00
00
00
11
00
11
11
yy
11
11
00
11
11
11
00
xx
0
0
x
x
11
00
x
x
xx
FF
0
0
y
y
0
0
F
F
F
F
11
yy
0
0
00
x
xx
11 yy
a
aa
00
11
11
(a)
(a)
(a)
00
11
When an
an input
input is
is 11
When
00
0
0
xx
0 y
0
y
a
aa
1
1
(b)
(b)
When both
both inputs
inputs are
are 00
When
time
time
DigitalDesign
Design2e
2e
Digital
Design
2e
Digital
Copyright
2010
2010
Copyright
2010
Copyright
Frank Vahid
Frank
Vahid
Frank
Vahid
16
16
AND gate
!"#$%&'(
xxx
yy
FF
00
00
00
00
11
00
11
00
00
11
11
11
xx
11
11
yy
FF
yy 11
11
xx
yy
00
00
11
FF
00
11
yy
yy 11
FF
00
aaa
11
((a)
(aa))
00
11
00
0
xx 0
1
xx 1
00
11
xx
When both
both inputs
inputs are
are 11
When
aaa
11
(b)
(b)
When an
an input
input is
is 00
When
time
time
Digital
DigitalDesign
Design2e
2e
Copyright2010
2010
Copyright
FrankVahid
Vahid
Frank
Frank
Vahid
17
17
Turn on lamp (F=1) when motion sensed (a=1) and no light (b=0)
F = a AND NOT(b)
Build using logic gates, AND and NOT, as shown
We just built our first digital circuit!
Digital Design 2e
Copyright 2010
Frank Vahid
18
Digital Design 2e
Copyright 2010
Frank Vahid
19
More examples
F = a AND (s OR d)
1
2
s
b
F
d
c
(a)
(b)
20
c
(a)
a
b
c
(b)
think of
of as AND(a,b,c)
Can think
Digital Design
Design 2e
2e
Digital
Copyright
2010
2010
Copyright
Frank Vahid
Vahid
Frank
21
21
Example:
Seat Belt Warning Light
!"#$%&'()*'#+),'&+)-#./0/1)2013+)
System
*45+'$
Design
Designcircuit
circuitfor
for warning
warning light
light
Sensors
Sensors
s=1:
s=1:seat
seatbelt
beltfastened
fastened
k=1:
k=1:key
keyinserted
inserted
w
w == NOT(s)
NOT(s) AND
AND kk
Capture
CaptureBoolean
Boolean equation
equation
BeltWarn
seat
seatbelt
beltnot
notfastened,
fastened, and
and key
key
inserted
inserted
Convert
Convertequation
equation to
to circuit
circuit
Timing
Timingdiagram
diagramillustrates
illustrates circuit
circuit
behavior
behavior
We
Weset
setinputs
inputsto
toany
anyvalues
values
Output
Outputset
setaccording
according to
tocircuit
circuit
Digital Design 2e
Digital Design
2e
Copyright
2010
Copyright
2010
Frank Vahid
Frank Vahid
Inputs
Inputs
1
kk 1
00
1
ss 1
00
Outputs
Outputs
1
ww 1
00
Seatbelt
time
time
22
22
!"#$%&'%(&%)*#+,$%
Gates
vs. switches
!"#$%&'%(&%)*#+,$%
Notice
Notice
Notice
Boolean algebra enables easy
Boolean
enables
easy
Booleanasalgebra
algebra
enables
easy
capture
equation
and
conversion
capture as equation and conversion
capture
as equation and conversion
toto
circuit
circuit
to
circuit
How design with switches?
BeltWarn
BeltWarn
w = NOT(s) AND k
BeltWarn
BeltWarn
w
w
k
w
w
k
1
1
Digital Design 2e
Digital Design 2e
Copyright 2010
Copyright
2010
Digital Design
2e
Frank
Vahid
Frank
Vahid 2010
Copyright
Frank Vahid
Seatbelt
Seatbelt
23
23
23
Givent=1
t=1for
for55seconds
secondsafter
after key
Given
inserted.
TurnTurn
on warning
light
key
inserted.
on warning
when
t=1 (to
that that
warning
light
when
t=1check
(to check
lights are
working)
warning
lights
are working)
(pAND
ANDNOT(s)
NOT(s)AND
ANDk)
k)OR
ORt t
ww==(p
Digital
Design
2e2e
Digital
Design
Copyright
2010
Copyright
2010
Frank
Vahid
Frank
Vahid
Belt
rn
BeltW aWarn
pp
ww
a a
BeltWarn
p
w
a a
2424
yes
F
no
yes
a
ok
a
not ok
Digital Design 2e
Copyright 2010
Frank Vahid
25
2.5
Boolean Algebra
By defining logic gates based on Boolean algebra, we can
use algebraic methods to manipulate circuits
Notation: Writing a AND b, a OR b, NOT(a) is cumbersome
Use symbols: a * b (or just ab), a + b, and a
Original: w = (p AND NOT(s) AND k) OR t
New: w = psk + t
Spoken as w equals p and s prime and k, or t
Or just w equals p s prime k, or t
s known as complement of s
While symbols come from regular algebra, dont say times or plus
"product" and "sum" are OK and commonly used
Boolean algebra precedence, highest precedence first.
Symbol
Name
Description
( )
Parentheses Evaluate expressions nested in parentheses first
Digital Design 2e
Copyright 2010
Frank Vahid
NOT
AND
OR
26
Evaluate the following Boolean equations, assuming a=1, b=1, c=0, d=1.
Q1. F = a * b + c.
Answer: * has precedence over +, so we evaluate the equation as F = (1 *1) + 0 = (1) + 0 = 1
+ 0 = 1.
Q2. F = ab + c.
Answer: the problem is identical to the previous problem, using the shorthand notation for *.
Q3. F = ab.
Answer: we first evaluate b because NOT has precedence over AND, resulting in F = 1 * (1) =
1 * (0) = 1 * 0 = 0.
a
Q4. F = (ac).
Answer: we first evaluate what is inside the parentheses, then we NOT the result, yielding
(1*0) = (0) = 0 = 1.
Q5. F = (a + b) * c + d.
Answer: Inside left parentheses: (1 + (1)) = (1 + (0)) = (1 + 0) = 1. Next, * has precedence
over +, yielding (1 * 0) + 1 = (0) + 1. The NOT has precedence over the OR, giving (0) + (1) =
(0) + (0) = 0 + 0 = 0.
Digital Design 2e
Copyright 2010
Frank Vahid
NOT
AND
OR
27
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: abc, 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 2e
Copyright 2010
Frank Vahid
28
Commutative
a+b=b+a
a*b=b*a
Distributive
a * (b + c) = a * b + a * c
Can write as: a(b+c) = ab + ac
0+a=a+0=a
1*a=a*1=a
Complement
a + a = 1
a * a = 0
Complement property
Replace c+c by 1: ab(c+c) = ab(1).
Associative
Identity
(a + b) + c = a + (b + c)
(a * b) * c = a * (b * c)
a + (b * c) = (a + b) * (a + c)
Identity property
ab(1) = ab*1 = ab.
Show x + xz equivalent to x + z.
Second distributive property
Replace x+xz by (x+x)*(x+z).
Complement property
Replace (x+x) by 1,
Identity property
replace 1*(x+z) by x+z.
29
!"#$%&'()*#)(+%%&,'-(.//&'#0(+&1'23#(43/%'3),'Example
that Applies Boolean Algebra Properties
Want automatic door opener
Can the circuit be simplified?
Want automatic door opener
circuit (e.g., for grocery store) Can the circuit be simplified?
circuit (e.g., for grocery store)
I KF
K
SF
Output: f=1 opens door
Output: f=1 opens door
Inputs:
Inputs:
f
f
p=1: person detected
f
p=1: person detected
h=1: switch forcing hold open f
h=1: switch forcing hold open
c=1: key forcing closed
f
c=1: key forcing closed
f
Want open door when
=
=
=
=
=
=
hc'
a
f =+
c'hh'pc
+ c'h'p
(by the commutative property)
c'h + c'h'p
(by the commutative property)
f = c'(h + h'p)
(by the first distrib. property)
c'(h + h'p)
(by the first distrib. property)
f = c'((h+h')*(h+p)) (2nd distrib. prop.; tricky one)
c'((h+h')*(h+p)) (2nd distrib. prop.; tricky one)
f = c'((1)*(h + p)) (by the complement property)
c'((1)*(h + p)) (by the complement property)
f = c'(h+p)
(by the identity property)
c'(h+p)
(by the identity property)
a
a
(TXDWLRQI KFKSF
Equation: f = hc + hpc
h
h
c
DoorOpener
DoorOpener
c
p
p
Digital Design 2e
Copyright
Digital Design
2e 2010
Vahid
CopyrightFrank
2010
Frank Vahid
DoorOpener
c
f
h
Simplified
Simplified
circuit
circuit
30
30
Commutative
a+b=b+a
a*b=b*a
a * (b + c) = a * b + a * c
a + (b * c) = (a + b) * (a + c)
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
c
p
Distributive
DoorOpener
f = hc + hpc
a + a = 1
a * a = 0
Digital Design 2e
Copyright 2010
Frank Vahid
31
Idempotent Law
a+a=a
a*a=a
Involution Law
(a) = a
DeMorgans Law
(a + b) = ab
(ab) = a + b
Very useful!
32
(a + b) = ab
(ab) = a + b
Behavior
S = a + b + c
Transform
New circuit
Alternative: Instead of
lighting Available,
light Occupied
Opposite of Available
function
S = a + b + c
So S = (a + b + c)
S = (a) * (b) *
(c) (by DeMorgans
Law)
S = a * b * c (by
Involution Law)
Circuit
a
S
b
c
Digital Design 2e
Copyright 2010
Frank Vahid
a
b
c
Circuit
S
33
Commutative
a + b = b + a
a * b = b * a
Distributive
a * (b + c) = a * b + a * c
a + (b * c) = (a + b) * (a + c)
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
Null elements
a + 1 = 1
a * 0 = 0
f = c'(h+p)
Let c = 1
(door forced closed)
f = 1'(h+p)
f = 0(h+p)
f = 0h + 0p (by the distributive property)
f=0+0
(by the null elements property)
f=0
Idempotent Law
a + a = a
a * a = a
Involution Law
(a) = a
DeMorgans Law
Digital Design 2e
Copyright 2010
Frank Vahid
(a + b) = ab
(ab) = a + b
34
Complement of a Function
Commonly want to find complement (inverse) of function F
0 when F is 1; 1 when F is 0
Digital Design 2e
Copyright 2010
Frank Vahid
35
2.6
Equation 1: F(a,b) = ab + ab
Equation 2: F(a,b) = a
(b)
(c)
Circuit 1
0
a
Truth table
(d)
Circuit 2
The function F
36
Digital Design 2e
Copyright 2010
Frank Vahid
(a)
b
0
1
0
1
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
(b)
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
F
0
0
0
0
0
1
1
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
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
(c)
37
Equation
to circuit (we did this earlier)
Circuit
to equation
Circuit
Startto
atequation
inputs, write expression of
1
Equations
4
h
h
p
p
Digital Design 2e
Copyright 2010
Digital
Design 2e
Frank
Vahid
Copyright 2010
Frank Vahid
Circuits
6
Truth tables
outputwrite expression of
each
Startgate
at inputs,
each gate output
c
c
c'
c'
F = c'(h+p)
F = c'(h+p)
h+p
h+p
38
38
Converting among
Representations
Equation to circuit (we did this earlier)
Equations
4
Circuit to equation
More common
conversions
Truth tables
Inputs
Circuits
a
b
0
0
0
1
1
0
1
=1 c'(h+p)
Outputs
Term
F
1
1
0
0
F = sum of
ab
ab
F = ab + ab
Q: Convert to equation
Digital Design 2e
Copyright 2010
Frank Vahid
Digital Design 2e
Copyright 2010
Frank Vahid
a
0
0
1
1
b
0
1
0
1
Output
a' b'
1
0
0
0
a' b
0
1
0
0
F
1
1
0
0
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
F
0
38
0
0
0
0
1 abc
1 abc
1 abc
39
a
0
0
0
0
1
1
1
1
b
0
0
1
1
0
0
1
1
c
0
1
0
1
0
1
0
1
P
0
1
1
0
1
0
0
1
Convert to eqn.
P = a'b'c + a'bc' + ab'c' + abc
ab
(ab)'
b
c'
(ab)'c'
Inputs
Digital Design 2e
Copyright 2010
Frank Vahid
Outputs
a
0
0
0
0
1
b
0
0
1
1
0
c
0
1
0
1
0
ab
0
0
0
0
0
(ab)'
1
1
1
1
1
c'
1
0
1
0
1
1
1
1
1
0
1
1
1
0
0
1
0
F
1
0
1
0
1
0
0
0
41
f = chp + chp + ch
f = ch(p + p) + chp
f = ch(1) + chp
Same as f = hc + hpc?
Used algebraic methods
But if we failed, does that prove
not equal? No.
f = ch + chp
(what if we stopped here?)
f = hc + hpc
Digital Design 2e
Copyright 2010
Frank Vahid
b
0
1
0
1
F = ab +
ab + ab
F
1
1
0
1
a
0
0
1
1
e
m
a
b
0
1
0
1
F
1
1
0
1
42
Q: Determine via truth tables whether ab+a' and (a+b)' are equivalent
F = ab + a'
a
0
0
1
1
b
0
1
0
1
F = (a+b)'
F
1
1
0
1
t
o
N
Digital Design 2e
Copyright 2010
Frank Vahid
v
i
u
eq
a
0
0
1t
n
e
l
1
a
b
0
1
0
1
F
1
0
0
0
43
Digital Design 2e
Copyright 2010
Frank Vahid
G = abcd + a'bcde
G = abcd(e+e') + a'bcde
G = abcde + abcde' + a'bcde
G = a'bcde + abcde' + abcde (sum of minterms form)
Eq
u
a
iv
ale
nt
Digital Design 2e
Copyright 2010
Frank Vahid
Digital Design 2e
Copyright 2010
Frank Vahid
46
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
F
c
b
F
c
a
(a)
(b)
Multiple-Output Example:
!"#$%&#'()"$&"$*+,-.&#'/*
Converter
a
f
b
g
e
c
d
a
f
b
g
e
c
d
abcdefg =
(a)
Digital Design 2e
Copyright 2010
Frank
DigitalVahid
Design 2e
Copyright 2010
Frank Vahid
1111110
0110000
1101101
(b)
48
48
Multiple-Output Example:
BCD to 7-Segment Converter
a
f
b
g
e
c
d
a = wxyz+wxyz+wxyz+wxyz+
wxyz+wxyz+wxyz+wxyz
b = wxyz+wxyz+wxyz+wxyz+
wxyz+wxyz+wxyz+wxyz
a
Digital Design 2e
Copyright 2010
Frank Vahid
...
49
2.7
Step 2:
Convert
to circuit
Description
Capture the
function
2A: Create
equations
2B: Implement
as a gatebased circuit
Digital Design 2e
Copyright 2010
Frank Vahid
50
a
b
c
abc
bcd
d
cde
e
y
def
f
g
efg
fgh
Digital Design 2e
Copyright 2010
Frank Vahid
51
Digital Design 2e
Copyright 2010
Frank Vahid
a
b
c
a
b
c
a
b
c
a
b
c
a
b
a
b
c
a
b
c
52
Simplifying Notations
Used in previous circuit
a
b
c
a
b
c
a
b
c
(a)
Digital Design 2e
Copyright 2010
Frank Vahid
(b)
a
b'
c
a
53
!"#$%&'()*'+%#,)-./0'12'1
Example:
Keypad Converter
Keypadhas
has77outputs
outputs
Keypad
Oneper
perrow
row
One
Oneper
percolumn
column
One
Keypress
presssets
setsone
onerow
row
Key
andone
onecolumn
columnoutput
output
and
toto11
Press
Press"5"
"5"
r2=1,
r2=1,c2=1
c2=1
Goal:
Goal:Convert
Convertkeypad
keypad
outputs
outputsinto
into4-bit
4-bitbinary
binary
number
number
0-9
0-9
0000
0000toto1001
1001
* *
1010,
1010,##
1011
1011
nothing
nothingpressed:
pressed:1111
1111
Digital
Design
Digital
Design
2e 2e
Copyright
2010
Copyright
2010
Frank
Vahid
Frank
Vahid
c1
c2
c3
r1
r2
r3
Converter
w
x
y
z
r4
5454
a
Step 2b: Implement
as circuit (note
sharable gates) ...
a
Digital Design 2e
Copyright 2010
Frank Vahid
55
!"#$%&'()*%+,-.&'+)/0-1+0&&'+
Example:
Sprinkler Controller
Microprocessoroutputs
outputswhich
whichzone
zonetotowater
water(e.g.,
(e.g.,abc=110
cba=110
Microprocessor
meanszone
zone6)6)and
andenables
enableswatering
watering(e=1)
(e=1)
means
Decodershould
shouldset
setappropriate
appropriatevalve
valvetoto1 1
Decoder
zone 0
Microprocessor
Digital Design 2e
Digital
Design 2e
Copyright
2010
Copyright 2010
Frank Vahid
Frank Vahid
d0
a
d1
b
d2
d3
c
d4
d5
decoder d6
e
d7
Step1:1:Capture
Capture
Step
behavior
behavior
zone 1
a'b'c'e
d0d0= =a'b'c'e
a'b'ce
d1d1= =a'b'ce
5
d2= =a'bc'e
a'bc'e
6
d2
7
a'bce
d3d3= =a'bce
ab'c'e
d4d4= =ab'c'e
d5d5= =ab'ce
ab'ce
= =abc'e
abc'e
Equations
seem
like d6d6
Equations
seem
like
d7d7= =abce
a natural
abce
a natural
fitfit
3
56 56
!"#$%&'()*%+,-.&'+)/0-1+0&&'+
!"#$%&'()*%+,-.&'+)/0-1+0&&'+
Example:
Sprinkler Controller
Step 2b: Implement as circuit
Step 2b: Implement as circuit
Microprocessor
Microprocessor
d0
a
d0d1
a
b
d1d2
b
d2d3
c
d3d4
c
d4d5
decoder
d5d6
decoder d6
e
d7
e
d7
Digital Design 2e
Digital
Design
2e2e
Digital
Design
Copyright
2010
2010
Copyright
Copyright
2010
Frank Vahid
Vahid
Frank
Frank Vahid
zone 0
zone 0
zone 1
zone 1
a
b
c
a
b
c
d0
d1
4 2
d0
d1
5
5
7
d0==a'b'c'e
a'b'c'e
d0
d1==a'b'ce
a'b'ce
d1
d2==a'bc'e
a'bc'e
d2
d3
d3==a'bce
a'bce
d4
d4==ab'c'e
ab'c'e
d5
d5==ab'ce
ab'ce
d6
d6==abc'e
abc'e
d7
d7==abce
abce
d2
d2
d3
d3
d4
d4
d5
d5
d6
d6
d7
d7
57
57
57
2.8
More Gates
NAND
x
NOR
F
XOR
XNOR
F
x
0
0
1
1
y
0
1
0
1
F
1
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
0
1
1
0
x
0
0
1
1
y
0
1
0
1
F
1
0
0
1
Digital Design 2e
Copyright 2010
Frank Vahid
NOR
NAND
Circuit
a
b
c
S = (abc)
Detecting all 0s
Use NOR
0
0
0
Detecting equality
Use XNOR
Detecting odd # of 1s
Use XOR
Useful for generating parity
bit common for detecting
errors
Digital Design 2e
Copyright 2010
Frank Vahid
a0
b0
a1
b1
A=B
a2
b2
59
Completeness of NAND
Any Boolean function can be implemented using just NAND
gates. Why?
Digital Design 2e
Copyright 2010
Frank Vahid
60
a
0
0
1
1
0
0
0
0
N variables
1
1
1
1
2
2
2
2
choices
choices
choices
choices
24 = 16
possible functions
f0
f1
f2
f3
f4
f5
f6
f7
f8
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
1
0
a XOR b
a OR b
a NOR b
a XNOR b
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
0
1
1
a NAND b
a AND b
2N rows
2(2N) possible functions
Digital Design 2e
Copyright 2010
Frank Vahid
F
or
or
or
or
b
0
1
0
1
61
2.9
d0 1
d0 0
d0 0
i0 d1 0 1
i0 d1 1 0
i0 d1 0 1
i0 d1 0
i1 d2 0 0
i1 d2 0 1
i1 d2 1 1
i1 d2 0
d3 0
d3 0
d3 0
Internal design
AND gate for each output to
detect input combination
i1
i0
i1i0
d0
i1i0
d1
i1i0
d2
i1i0
d3
d0 0
d3 1
d0
i0
d1
i1
d2
e d3
1
d0
i0
d1
i1
d2
e d3
0
a
62
Decoder Example
Microprocessor counts
from 59 down to 0 in
binary on 6-bit output
Want illuminate one of 60
lights for each binary
number
Use 6x64 decoder
21 0
210
Processor
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
i0
i1
i2
i3
i4
i5
d0
d1
d2
d3
d58
e
d59
d60
d61
6x64 d62
dcd d63
0
0
1
0
0
1
0
0
1
0
0
0
0
1
2
3
Happy
New Year
0 0 0
0 0 0
58
59
4 outputs unused
Digital Design 2e
Copyright 2010
Frank Vahid
63
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
Digital Design 2e
Copyright 2010
Frank Vahid
64
i1
s0
21
i0
i1
21
i0
i1
s0
0
i0 (1*i0=i0)
i0
i1
s0
1
i0 (0+i0=i0)
0
a
2x1 mux
0 s0
41
i0
i1
i2
i0
i1
d
i2
i3
s1 s0
i3
4x1 mux
s1
Digital Design 2e
Copyright 2010
Frank Vahid
s0
65
Mux Example
City mayor can set four switches up or down, representing
his/her vote on each of four proposals, numbered 0, 1, 2, 3
City manager can display any such vote on large green/red
LED (light) by setting two switches to represent binary 0, 1,
2, or 3
Mayors switches
Use 4x1 mux
a
4x1
on/off
i0
2
i2
Proposal
3
4
Digital Design 2e
Copyright 2010
Frank Vahid
i1
i3
s1 s0
Green/
Red
LED
manager's
switches
66
s0
2x1
d
s0
a3
b3
i0
i1
a2
b2
2x1
i0
d
i1
s0
2x1
d
s0
a1
b1
i0
i1
a0
b0
i0 2x1
d
i1
s0
A
B
4
4
I0
4-bit
2x1
D
I1
Simplifying
notation:
4
C
4
is short
for
s0
c3
s0
c2
c1
c0
67
8-bit
I0 4x1
I1
I2
I3
s1 s0
x
y
To the
abovemirror
display
We'll design
this later
button
68
2.10
Additional Considerations
Non-Ideal Gate Behavior -- Delay
1
1
x
0
(0 V)
0
y
(1.8 V)
F
0
F
0
time
(a)
ideal
time
(b)
more
realistic
time
(c)
69
k
p
s
1 ns
t
1 ns
1 ns
1 ns
0.5 ns
1 ns
1 ns
1 ns
1 ns
1 ns
1+1+1+1+1 = 5 ns
1+0.5+1+1+1+1+1 = 6.5 ns
1+1+1 = 3 ns
Digital Design 2e
Copyright 2010
Frank Vahid
70
Digital Design 2e
Copyright 2010
Frank Vahid
d0
d0
i0
d1
i0
d1
i1
d2
i1
d2
e d3
e d3
1
(a)
0
( b)
71
Inputs
i0
i0
i1
Outputs
d3
Simulate
i1
Outputs
d3
d2
d2
d1
d1
d0
d0
Simulate
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
Digital Design 2e
Copyright 2010
Frank Vahid
72
Chapter Summary
Combinational circuits
Circuit whose outputs are function of present inputs
No state
Digital Design 2e
Copyright 2010
Frank Vahid
73