0% found this document useful (0 votes)
70 views38 pages

CH 02

Digital System Design Frank Vahid CH2 ppt

Uploaded by

Ahmad Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views38 pages

CH 02

Digital System Design Frank Vahid CH2 ppt

Uploaded by

Ahmad Ali
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 38

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.
http://www.ddvahid.com

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,
Digital
subject to keeping Design
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.
Copyright © 2006 1
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
Franksource
may obtain PowerPoint Vahidor obtain special use permissions from Wiley – see http://www.ddvahid.com for information.
2.1

Introduction

Digital circuit
• Let’s learn to design digital circuits 1
a Combinational 1
• We’ll start with a simple form of circuit: b
0
digital circuit
F

– Combinational circuit
• A digital circuit whose outputs depend solely on a
1
Sequential ?
the present combination of the circuit inputs’ b
0 F
digital circuit
values
Digital Design
Copyright © 2006 2
Frank Vahid 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
– Electrical terminology
• Voltage: Difference in electric potential 4.5 A
– +
between two points 9V
4.5 A
– Analogous to water pressure
• Current: Flow of charged particles 2 ohms
– Analogous to water flow
9V
• Resistance: Tendency of wire to resist 0V
current flow
– Analogous to water pipe diameter 4.5 A

• V = I * R (Ohm’s Law)

Digital Design
Copyright © 2006 3
Frank Vahid
Switches
• A switch has three parts control
input
– Source input, and output
“off”
• Current wants to flow from source
input to output
source output
– Control input input a

• Voltage that controls whether that control


input
current can flow “on”

• The amazing shrinking switch source output


– 1930s: Relays input
(b)
– 1940s: Vacuum tubes
– 1950s: Discrete transistor
– 1960s: Integrated circuits (ICs)
• Initially just a few transistors on IC
• Then tens, hundreds, thousands... discrete
transistor
IC
relay vacuum tube

quarter
Digital Design (to see the relative size)
Copyright © 2006 4
Frank Vahid
Moore’s Law
• IC capacity doubling about every 18 months
for several decades
– Known as “Moore’s Law” after Gordon Moore,
co-founder of Intel
• Predicted in 1965 predicted that components
per IC would double roughly every year or so
– Book cover depicts related phenomena
• For a particular number of transistors, the IC
shrinks by half every 18 months
– Notice how much shrinking occurs in just about
10 years
– Enables incredibly powerful computation in
incredibly tiny devices
– Today’s ICs hold billions of transistors
• The first Pentium processor (early 1990s)
needed only 3 million

An Intel Pentium processor IC


Digital Design
Copyright © 2006 having millions of transistors
5
Frank Vahid
2.3

The CMOS Transistor


• CMOS transistor
– Basic switch in modern ICs
a

nMOS
1 0
gate

conducts does not


conduct

pMOS
1 0
gate

Silicon -- not quite a conductor or insulator: does not conducts


conduct
Semiconductor
Digital Design
Copyright © 2006 6
Frank Vahid
Boolean Logic Gates 2.4

Building Blocks for Digital Circuits


(Because Switches are Hard to Work With)

• “Logic gates” are better digital circuit building blocks than switches (transistors)
– Why?...

Digital Design
Copyright © 2006 7
Frank Vahid
Relating Boolean Algebra to Digital Design
NOT OR AND
x x
Symbol x F F F
y y

x F x y F x y F
Truth table 0 1 0 0 0 0 0 0
1 0 0 1 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 1

1 0 0
y
x y

Transistor x F
x F
circuit F y

x y
0 x

1 1

• Implement Boolean operators using


transistors
– Call those implementations logic gates.
Digital Design
Copyright © 2006 8
Frank Vahid
NOT/OR/AND Logic Gate Timing Diagrams

1 1
1 x x
x 0 0
0 1 1
y y
1 0 0
F 1 1
0 F F
0 0
time
time time

Digital Design
Copyright © 2006 9
Frank Vahid
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 b AND a b OR
a NOT
0 0 0 0 0 0
0 1
0 1 0 0 1 1
1 0
1 0 0 1 0 1
1 1 1 1 1 1

Digital Design
Copyright © 2006 10
Frank Vahid
Evaluating Boolean Equations
a
• Evaluate the Boolean equation F = (a AND b) OR (c
AND d) for the given values of variables a, b, c, and d:
– Q1: a=1, b=1, c=1, d=0.
a b AND
• Answer: F = (1 AND 1) OR (1 AND 0) = 1 OR 0 = 1. 0 0 0
0 1 0
1 0 0
1 1 1

a b OR
0 0 0
0 1 1
1 0 1
1 1 1

a NOT
0 1
1 0

Digital Design
Copyright © 2006 11
Frank Vahid
Converting to Boolean Equations
a
• 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
– Q4. a is 1 and b is 0.
• Answer: F = a AND NOT(b)

Digital Design
Copyright © 2006 12
Frank Vahid
Example: Converting a Boolean Equation to a
Circuit of Logic Gates
• Q: Convert the following equation to logic gates:
F = a AND NOT( b OR NOT(c) )

a
F

(a)
a

a
b F
c
(b)

Digital Design
Copyright © 2006 13
Frank Vahid
Some Circuit Drawing Conventions
no yes
x
F
y

no yes

ok

not ok

Digital Design
Copyright © 2006 14
Frank Vahid
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 15
Frank Vahid
Boolean Algebra Properties
• Commutative Example uses of the properties
– a+b=b+a
– a*b=b*a • Show abc’ equivalent to c’ba.
– Use commutative property:
• Distributive
• a*b*c’ = a*c’*b = c’*a*b = c’*b*a =
– a * (b + c) = a * b + a * c c’ba.
– a + (b * c) = (a + b) * (a + c) • Show abc + abc’ = ab.
• (this one is tricky!)
– Use first distributive property
• Associative • abc + abc’ = ab(c+c’).
– (a + b) + c = a + (b + c) – Complement property
– (a * b) * c = a * (b * c) • Replace c+c’ by 1: ab(c+c’) = ab(1).
• Identity – Identity property
– 0+a=a+0=a • ab(1) = ab*1 = ab.
– 1*a=a*1=a • Show x + x’z equivalent to x + z.
• Complement – Second distributive property
– a + a’ = 1 • Replace x+x’z by (x+x’)*(x+z).
– a * a’ = 0 – Complement property
• Replace (x+x’) by 1,
• To prove, just evaluate all possibilities
– Identity property
Digital Design • replace 1*(x+z) by x+z.
Copyright © 2006 16
Frank Vahid
Example that Applies Boolean Algebra Properties
• Found inexpensive chip that
computes:
DoorOpener • f = c’hp + c’hp’ + c’h’p
h
c
f – Can we use it?
p
• Is it the same as f = c’(p+h)?
• Use Boolean algebra:

f = c’hp + c’hp’ + c’h’p


f = c’h(p + p’) + c’h’p (by the distributive property)
f = c’h(1) + c’h’p (by the complement property)
f = c’h + c’h’p (by the identity property)
f = hc’ + h’pc’ (by the commutative property)
Same!

Digital Design
Copyright © 2006 17
Frank Vahid
Boolean Algebra: Additional Properties
• Null elements Aircraft lavatory sign example
– a+1=1 • Equation and circuit
• S = a’ + b’ + c’
– a*0=0
• Transform
• Idempotent Law • (abc)’ = a’+b’+c’ (by
– a+a=a DeMorgan’s Law)
– a*a=a • S = (abc)’

• Involution Law • New equation and circuit

– (a’)’ = a
• DeMorgan’s Law Circuit
Circuit
a a
– (a + b)’ = a’b’ b
S
S
– (ab)’ = a’ + b’ b c

– Very useful! c
• To prove, just
evaluate all
possibilities

Digital Design
Copyright © 2006 18
Frank Vahid
2.6

Representations of Boolean Functions


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)
a
a b F
b 0 0 1
Equation 1: F(a,b) = a’b’ + a’b F
0 1 1
Equation 2: F(a,b) = a’
1 0 0
(b) (c)
1 1 0
Circuit 1
Truth table
a F (d)
Circuit 2

The function F

• 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
Digital Design
Copyright © 2006 19
Frank Vahid
Truth Table Representation of Boolean Functions
• Define value of F for
a b F a b c F a b c d F
0 0 0 0 0 0 0 0 0
each possible 0
1
1
0
0
0
0
1
1
0
0
0
0
0
0
1
1
0
combination of input 1 1 0 1 1 0 0 1 1
1 0 0 0 1 0 0
values (a)
1 0 1 0 1 0 1
– 2-input function: 4 rows 1
1
1
1
0
1
0
0
1
1
1
1
0
1
– 3-input function: 8 rows (b) 1 0 0 0
1 0 0 1
– 4-input function: 16 rows a b c F 1 0 1 0
1 0 1 1
• Q: Use truth table to 0
0
0
0
0
1
0
0 1 1 0 0
define function F(a,b,c) a 0 1 0 0 1
1
1
1
0
1
1
0
0 1 1 0
that is 1 when abc is 5 or 1 0 0 0 1 1 1 1
1 0 1 1 (c)
greater in binary 1 1 0 1
1 1 1 1

Digital Design
Copyright © 2006 20
Frank Vahid
Converting among Representations
• Can convert from any representation Inputs Outputs Term
to any other a b F F = sum of
0 0 1 a’b’
• Common conversions 0 1 1 a’b
– Equation to circuit 1 0 0
1 1 0
– Truth table to equation
– Equation to truth table F = a’b’ + a’b
• Easy -- just evaluate equation for each
input combination (row) Q: Convert to equation
• Creating intermediate columns helps a b c F
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
Q: Convert to truth table: F = a’b’ + a’b 1 0 0 0
Inputs Output 1 0 1 1 ab’c
1 1 0 1 abc’
a b a' b' a' b F
a
1 1 1 1 abc a
0 0 1 0 1
0 1 0 1 1 F = ab’c + abc’ + abc
1 0 0 0 0
Digital Design
Copyright © 2006 1 1 0 0 0
21
Frank Vahid
Standard Representation: Truth Table
• How can we determine if f = c’hp + c’hp’ + c’h’
two functions are the f = c’h(p + p’) + c’h’p
same? f = c’h(1) + c’h’p
• Use algebraic methods
f = c’h + c’h’p
• But if we failed, does that
prove not equal? No. (what if we stopped here?)

• Solution: Convert to truth f = hc’ + h’pc’


tables
– Only ONE truth table F = ab + 'a F = a’b’ +
representation of a given a’b + ab
function a b F a b F
0 0 1 0 0 1
• Standard representation -- 0 1 1 0 1 1
for given function, only one 1 0 0 1 0 0
version in standard form 1 1 1 1 1 1
exists a

Digital Design
Copyright © 2006 22
Frank Vahid
Canonical Form -- Sum of Minterms
• Truth tables too big for numerous inputs
• Use standard form of equation instead
– Known as canonical form
– Regular algebra: group terms of polynomial by power
• ax2 + bx + c (3x2 + 4x + 2x2 + 3 + 1 --> 5x2 + 4x + 4)
– 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
Q: Determine if F(a,b)=ab+a’ is same function as F(a,b)=a’b’+a’b+ab, by
converting first equation to canonical form (second already in canonical
form)
F = ab+a’ (already sum of products)
a F = ab + a’(b+b’) (expanding term)
Digital Design
F = ab + a’b + a’b’ (SAME -- same three terms as other equation)
Copyright © 2006 23
Frank Vahid
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
a
b
b
F
F
c
c

G
G

(b)
(a)

Option 1: Separate circuits Option 2: Shared gates


Digital Design
Copyright © 2006 24
Frank Vahid
Multiple-Output Example:
BCD to 7-Segment Converter

a
f
b
g
e
c
d

abcdefg = 1111110 0110000 1101101


(a) (b)

a = w’x’y’z’ + w’x’yz’ + w’x’yz + w’xy’z +


w’xyz’ + w’xyz + wx’y’z’ + wx’y’z

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 25
Frank Vahid
2.7

Combinational Logic Design Process


Step Description

Step 1 Capture the Create a truth table or equations, whichever is


function most natural for the given problem, to describe
the desired behavior of the combinational logic.
Step 2 Convert to This step is only necessary if you captured the
equations 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 For each output, create a circuit corresponding
as a gate- to the output’s equation. (Sharing gates among
based multiple outputs is OK optionally.)
circuit

Digital Design
Copyright © 2006 26
Frank Vahid
Example: Three 1s Detector
• Problem: Detect three consecutive 1s
in 8-bit input: abcdefgh
• 00011101  1 10101011  0
11110000  1
– Step 1: Capture the function
• Truth table or equation?
– Truth table too big: 2^8=256 rows a
a
– Equation: create terms for each
a abc
possible case of three consecutive 1s b
c
• y = abc + bcd + cde + def + efg + fgh
bcd
– Step 2: Convert to equation -- already d
done cde
e y
– Step 3: Implement as a gate-based
def
circuit f
efg
g
fgh
Digital Design h
Copyright © 2006 27
Frank Vahid
2.8

More Gates
1 1
NAND NOR XOR XNOR NAND NOR
x x x
F F x y
y y
F y
x y F x y F x y F x y F x F
0 0 1 0 0 1 0 0 0 0 0 1
0 1 1 0 1 0 0 1 1 0 1 0 x y
y
1 0 1 1 0 0 1 0 1 1 0 0
1 1 0 1 1 0 1 1 0 1 1 1 0 0

• NAND: Opposite of AND (“NOT AND”) • NAND same as AND with power &
• NOR: Opposite of OR (“NOT OR”) ground switched
• XOR: Exactly 1 input is 1, for 2-input • Why? nMOS conducts 0s well, but not
XOR. (For more inputs -- odd number 1s (reasons beyond our scope) -- so
of 1s) NAND more efficient
• XNOR: Opposite of XOR (“NOT XOR”) • Likewise, NOR same as OR with
power/ground switched
• AND in CMOS: NAND with NOT
• OR in CMOS: NOR with NOT
Digital Design
Copyright © 2006
• So NAND/NOR more common
28
Frank Vahid
More Gates: Example Uses
• Aircraft lavatory sign Circuit
a
example b
c
S

– S = (abc)’
• Detecting all 0s 0
0 1 a0
0
– Use NOR b0

• Detecting equality a1 A=B


b1
– Use XNOR
a2
• Detecting odd # of 1s b2

– Use XOR
– Useful for generating “parity”
bit common for detecting
errors
Digital Design
Copyright © 2006 29
Frank Vahid
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 30
Frank Vahid
2.9

Decoders and Muxes


• Decoder: Popular combinational
logic building block, in addition to
logic gates d0 1 d0 0 d0 0 d0 0
0 i0 d1 0 1 i0 d1 1 0 i0 d1 0 1 i0 d1 0
– Converts input binary number to
0 i1 d2 0 0 i1 d2 0 1 i1 d2 1 1 i1 d2 0
one high output
d3 0 d3 0 d3 0 d3 1
• 2-input decoder: four possible
input binary numbers
– So has four outputs, one for each d0 0
i1’i0’ d0
possible input binary number 1 i0 d1 0
• Internal design i1’i0 d1 1 i1 d2 0
– AND gate for each output to e d3 1
detect input combination i1i0’ d2
1
• Decoder with enable e i1i0 d3 d0 0
– Outputs all 0 if e=0 1 i0 d1 0
– Regular behavior if e=1 1 i1 d2 0

• n-input decoder: 2n outputs i1 i0


e d3 0

Digital Design 0
Copyright © 2006 31
Frank Vahid
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 32
Frank Vahid
Mux Internal Design
i0 i0 (1*i0=i0)
2×1 2×1 2×1 d
1 i0
i0 i0 i0 i1
d d d 0 (0+i0=i0)
i1 i1 i1
0
s0 s0 s0
a
0 1

2x1 mux 0 s0

i0
4 1
i0 i1
i1 d
d
i2 i2
i3
s1 s0 i3

4x1 mux
s1 s0
Digital Design
Copyright © 2006 33
Frank Vahid
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 Mayor’s switches

• Use 4x1 mux 1


4x1 on/off
i0
2 i1
d
i2
i3 Green/
3
rP s1 s0 Red
LED

4
manager's
switches
Digital Design
Copyright © 2006 34
Frank Vahid
Muxes Commonly Together -- N-bit Mux
2 1
a3 i0 Simplifying
d
b3 i1 notation:
s0
4-bit 4
2 1 4 2x1
C
a2 i0 A I0
d 4
b2 i1 D C is short
s0 4
B I1 for
2 1
a1 i0 s0
d
b1 i1 c3
s0
s0 c2

a0 i0 2 1
d c1
b0 i1
s0
s0 c0

• 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

Digital Design
Copyright © 2006 35
Frank Vahid
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 36
Frank Vahid
Additional Considerations
Non-Ideal Gate Behavior -- Delay

• Real gates have some delay


– Outputs don’t change immediately after inputs change

Digital Design
Copyright © 2006 37
Frank Vahid
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

Digital Design
Copyright © 2006 38
Frank Vahid

You might also like