Lec_15 10/20/2009

advertisement
EE40 Lec 15
Logic Synthesis
and
S
Sequential
Logic C
Circuits
P f N
Prof.
Nathan
h Ch
Cheung
10/20/2009
Reading: Hambley Chapters 7.4-7.6
Karnaugh Maps: Read following before reading textbook
http://www.facstaff.bucknell.edu/mastascu/eLessonsHTML/Logic/Logic3.html
EE40 Fall 2009
Slide 1
Prof. Cheung
Synthesis of Logic Circuits
Suppose we are given a truth table for a logic function.
Is there a method to implement the logic function using
basic logic gates?
Answer: There are lots of ways, but one way is the
“
“sum
off products”
d t ” (SOP) method:
th d
1)) Write the sum of p
products expression
p
based on the
truth table for the logic function
2) Implement this expression using standard logic gates.
•
An alternative way is the “product of sums” (POS)
method.
EE40 Fall 2009
Slide 2
Prof. Cheung
Logic Synthesis Example: Adder
S1= carry, So=sum
A
0
0
0
0
1
1
1
1
Truth Table of Adding
Three Inputs :
A, B, and C
EE40 Fall 2009
Slide 3
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
S1 S0
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
Prof. Cheung
Logic Synthesis Example: Adder
Input
A B
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
EE40 Fall 2009
C
0
1
0
1
0
1
0
1
Output
Sum-of-products method for S1
S1 S0
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
1) Find rows where S1 is 1
2) Write down each product of
inputs which create a 1 (invert
logic variables that are 0 in that
row)
ABC
ABC
ABC
ABC
1) Sum all of the products
ABC+ ABC+ ABC+ ABC
2) Draw the logic circuit
Slide 4
Prof. Cheung
Logic Synthesis Example: Adder
ABC+ ABC+ ABC+ ABC
A
A
C
B
C
SOP Logic Circuit
B
C
A
B
A
B
C
EE40 Fall 2009
Slide 5
Prof. Cheung
Creating a Better Circuit
What makes a digital circuit better?
• Fewer number of gates
• Fewer inputs on each gate
– multi-input gates are slower
• Let’s see how we can simplify the sum-ofproducts expression for S1, to make a
better circuit…
– Use the Boolean algebra relations
EE40 Fall 2009
Slide 6
Prof. Cheung
Logic Synthesis Example: Adder
ABC + AB C + AB C + ABC
A
B
C
= ABC + AB C + AB( C + C)
= ABC + AB C + AB
A
C
B
A
B
SOP Simplification
Can we simplify this digital circuit further?
EE40 Fall 2009
Slide 7
Prof. Cheung
Logic Synthesis Example: Adder
A
B
Add in two
inversions
(signal stays the
same)
B
C
A
C
A
B
EE40 Fall 2009
Slide 8
Prof. Cheung
Logic Synthesis Example: Adder
A
B
This becomes a NAND
B
C
A
C
A
B
Apply DeMorgan’s
Theorem, i.e. “bubble
pushing”
hi ”
X + Y + Z = XYZ
EE40 Fall 2009
Slide 9
Prof. Cheung
NAND Gate Implementation
• De Morgan’s law tells us that
is the same as
• By definition,
is the same as
Æ All sum-of-products expressions can be implemented with only NAND gates.
EE40 Fall 2009
Slide 10
Prof. Cheung
Logic Synthesis Example: Adder
Output
Input
A B
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1
1
EE40 Fall 2009
C
0
1
0
1
0
1
0
1
S1 S0
0 0
0 1
0 1
1 0
0 1
1 0
1 0
1 1
Product-of-sums method for S1
1) Find rows where S1 is 0
2) Write down each sum of inputs
which create a 0 (invert logic
variables that are 1 in that row)
( A + B + C) ( A + B + C )
( A + B + C) ( A + B + C)
3) Product of the sums
( A + B + C)( A + B + C )( A + B + C)( A + B + C)
4) Draw the logic circuit
Slide 11
Prof. Cheung
SOP or POS ?
The Boolean Expression
p
will appear
pp
shorter
• If the Truth table has less 1’s, SOP
• If the Truth Table has less 0
0’s
s, POS
• After Minimization, both methods should
give same results , unless there are “don’t
care” rows in the Truth Table.
EE40 Fall 2009
Slide 12
Prof. Cheung
Notations of Hambley Textbook
Sum of Products (SOP)
D = Σ m ( 0 , 2 ,6 ,7 )
Product of Sums ((POS))
D = Π M(1,3,4,5)
EE40 Fall 2009
Slide 13
Row #
0
1
2
3
4
5
6
7
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
Prof. Cheung
D
1
0
1
0
0
0
1
1
Another Logic Synthesis Example: XOR
Sum of Products (SOP)
F = Σ m(1,2)
F = AB + AB
EE40 Fall 2009
A
B
F
0
0
0
0
1
1
1
0
1
1
1
0
Slide 14
Product of Sums (POS)
F = Π M(0,3)
F = ( A + B )( A + B )
Prof. Cheung
Karnaugh Maps
2-variable
Karnaugh Map
3-variable
Karnaugh Map
4-variable Karnaugh Map
* Arrows show example locations of logic PRODUCTS
EE40 Fall 2009
Slide 15
Prof. Cheung
Comments on Karnaugh Maps
•
•
Required reading
http://www.facstaff.bucknell.edu/mastascu/eLessonsHTM
L/Logic/Logic3 html
L/Logic/Logic3.html
•
You may find more details there than the textbook.
•
As the number of variables increases (say >4) it becomes
more difficult to see patterns
patterns, and computer methods
start to become more attractive.
•
EE40 will
ill focus
f
only
l on 3 variables
i bl and
d 4 variables
i bl
Karnaugh Maps
EE40 Fall 2009
Slide 16
Prof. Cheung
Comments on Karnaugh Maps
For a 4-variables map
1-cube: 1 square by itself
((⇒ logic
g p
product of 4 variables))
2-cube: 2 squares that have a
common edge
(⇒ logic product of 3 variables)
4-cube: 4 squares with common edges
(⇒ logic product of 2 variables)
8-cube: 8 squares with common edges
(⇒ logic product of 1 variable)
EE40 Fall 2009
Slide 17
Prof. Cheung
Comments on Karnaugh Maps
•
In locating cubes on a Karnaugh map, the map should be considered
to fold around from top to bottom, and from left to right.
– Squares on the right-hand side
are considered to be adjacent to
those on the left-hand
left hand side.
side
– Squares on the top of the map are
considered to be adjacent to those
on the bottom.
–
CD
00 01 11 10
00 1
Example:
p
The four squares in the
map corners form a 4-cube
AB
01
11
10 1
EE40 Fall 2009
Slide 18
1
1
Prof. Cheung
4-Variables Example
•
•
•
From Truth
F
T th Table
T bl and
d Sum
S
off Products
P d t
F=Σ m(1,3,4,5,7,10,12,13)
Converting the row numbers to binary yields 0001,0011,
0001 0011
0100 etc..
Place 1’s into the Karnaugh
g Map
F = A B C D + AD + B C
EE40 Fall 2009
Slide 19
Prof. Cheung
3-Variables Example: Adder
I
Input
t
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
EE40 Fall 2009
O t t Simplification of expression for S1:
Output
S1
0
0
0
1
0
1
1
1
S0
0
1
1
0
1
0
0
1
B
BC
A
0
1
00 01 11 10
0 0 1 0
0 1 1 1
C
BC
AC
AB
S1 = AB + BC + AC
Slide 20
Prof. Cheung
Miscellaneous Examples
EE40 Fall 2009
Slide 21
Prof. Cheung
3-Variable Exercise
EE40 Fall 2009
Slide 22
Prof. Cheung
4-Variable Exercise
EE40 Fall 2009
Slide 23
Prof. Cheung
Exercise with “Don’t Cares”
EE40 Fall 2009
Slide 24
Prof. Cheung
Sequential Logic Circuits
• Sequential logic circuits that possess memory
because their present output value depends on
previous
i
as wellll as presentt iinputt values.
l
EE40 Fall 2009
Slide 25
Prof. Cheung
Clock Signals
• Often, the operation of a sequential circuit is
synchronized by a clock signal :
vC(t)
positive-going edge
(leading edge)
VOH
0
TC
2TC
negative-going edge
(trailing edge)
time
• The clock signal regulates when the circuits
respond to new inputs
inputs, so that operations occur
in proper sequence.
• Sequential circuits that are regulated by a clock
signal are said to be synchronous.
EE40 Fall 2009
Slide 26
Prof. Cheung
Flip-Flops
• One of the basic building blocks for sequential
circuits is the flip-flop:
– A simple flip-flop can be constructed using two
inverters:
Q
Q
Two possible states:
Q = 1, Q = 0
Q = 0, Q = 1
* Circuit can remain in either state indefinitely
EE40 Fall 2009
Slide 27
Prof. Cheung
The S-R (“Set”-“Reset”) Flip-Flop
S Q
S-R Flip-Flop Symbol:
R Q
• Rule 1:
– If S = 0 and R = 0, Q does not change.
• Rule 2:
– If S = 0 and R = 1, then Q = 0
• Rule 3:
– If S = 1 and R = 0,
0 then Q = 1
• Rule 4:
– S = 1 and R = 1 should never occur.
EE40 Fall 2009
Slide 28
Prof. Cheung
Realization of the S-R Flip-Flop
S
Q
Q
R
EE40 Fall 2009
R
S
Qn
0
0
Qn-1
0
1
1
1
0
0
1
1
(not allowed)
Slide 29
Prof. Cheung
XOR and NAND Implementation
EE40 Fall 2009
Slide 30
Prof. Cheung
Exercise: Timing Diagram of SR flip-flop
R
S
Qn
0
0
Qn-1
0
1
1
1
0
0
1
1
((not allowed))
Q
EE40 Fall 2009
Slide 31
Prof. Cheung
Clocked S-R Flip-Flop
• Wh
When CK = 0,
0 disables
di bl th
the iinputs
t R and
dS
• When CK = 1, enables inputs R and S
EE40 Fall 2009
Slide 32
Prof. Cheung
The D (“Delay”) Flip-Flop
D
D Flip-Flop Symbol:
Q
CK Q
• The output terminals Q and Q behave just as in
the S-R flip-flop.
• Q changes
h
only
l when
h th
the clock
l k signal
i
l CK
makes a positive transition. CK D
Qn
EE40 Fall 2009
Slide 33
0
×
Qn-1
1
×
Qn-1
↑
0
0
↑
1
1
Prof. Cheung
D Flip-Flop Example (Timing Diagram)
CK
t
D
t
Q
t
EE40 Fall 2009
Slide 34
Prof. Cheung
Registers
• A register is an array of flip-flops that is used to
store or manipulate the bits of a digital word.
• Example: Serial-In,
Serial In Parallel-Out
Parallel Out Shift Register using D
Flipflops
Q0
Parallel outputs
Data input
Q1
Q2
D0 Q0
D1 Q1
D2 Q2
CK
CK
CK
Cl k iinputt
Clock
EE40 Fall 2009
Slide 35
Prof. Cheung
Shift Register
Timing Diagram
EE40 Fall 2009
Slide 36
Prof. Cheung
J-K Flip Flop
EE40 Fall 2009
Slide 37
Prof. Cheung
Ripple Counter
EE40 Fall 2009
Slide 38
Prof. Cheung
Conclusion (Logic Circuits)
• Complex combinational logic functions can be
achieved simply by interconnecting NAND gates
(or NOR gates).
• Logic gates can be interconnected to form flipflops.
• Interconnections of flip-flops form registers.
• A complex digital system such as a computer
consists of many gates, flip-flops, and registers.
Th
Thus,
logic
l i gates
t are the
th basic
b i building
b ildi bl
blocks
k
for complex digital systems.
EE40 Fall 2009
Slide 39
Prof. Cheung
Download