[Link]
sg/~cs2100/
Lecture #19
Sequential Logic
Lecture #2: Overview of C Programming 1-2
Questions?
IMPORTANT: DO NOT SCAN THE QR CODE IN THE
VIDEO RECORDINGS. THEY NO LONGER WORK
Ask at
[Link]
OR
Scan and ask your questions here!
(May be obscured in some slides)
Aaron Tan, NUS Lecture #19: Sequential Logic 3
6. Synchronous Sequential Circuits
§ Building blocks: logic gates and flip-flops.
§ Flip-flops make up the memory while the gates
form one or more combinational sub-circuits.
§ We have discussed S-R flip-flop, J-K flip-flop, D
flip-flop and T flip-flop.
Aaron Tan, NUS Lecture #19: Sequential Logic 4
6.1 Flip-flop Characteristic Tables
§ Each type of flip-flop has its own behaviour,
shown by its characteristic table.
J K Q(t+1) Comments S R Q(t+1) Comments
0 0 Q(t) No change 0 0 Q(t) No change
0 1 0 Reset 0 1 0 Reset
1 0 1 Set 1 0 1 Set
1 1 Q(t)' Toggle 1 1 ? Unpredictable
D Q(t+1) T Q(t+1)
0 0 Reset 0 Q(t) No change
1 1 Set 1 Q(t)' Toggle
Aaron Tan, NUS Lecture #19: Sequential Logic 5
6.2 Sequential Circuits: Analysis (1/7)
§ Given a sequential circuit diagram, we can
analyze its behaviour by deriving its state table
and hence its state diagram.
§ Requires state equations to be derived for the
flip-flop inputs, as well as output functions for the
circuit outputs other than the flip-flops (if any).
§ We use A(t) and A(t+1) (or simply A and A+) to
represent the present state and next state,
respectively, of a flip-flop represented by A.
Aaron Tan, NUS Lecture #19: Sequential Logic 6
6.2 Sequential Circuits: Analysis (2/7)
§ Example using D flip-flops
x D Q A
State equations:
A+ = A∙x + B∙x Q' A'
B+ = A'∙x
Output function: D Q B
y = (A + B)∙x'
Q' B'
CP
Figure 1
Lecture #19: Sequential Logic
Aaron Tan, NUS 7
6.2 Sequential Circuits: Analysis (3/7)
§ From the state equations and output function, we
derive the state table, consisting of all possible
binary combinations of present states and inputs.
§ State table
§ Similar to truth table.
§ Inputs and present state on the left side.
§ Outputs and next state on the right side.
§ m flip-flops and n inputs ® 2m+n rows.
Aaron Tan, NUS Lecture #19: Sequential Logic 8
6.2 Sequential Circuits: Analysis (4/7)
§ State table for circuit of Figure 1:
State equations: Output function:
A+ = A∙x + B∙x y = (A + B)∙x'
B+ = A'∙x
Present Next
State Input State Output
A B x A+ B+ y
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 0 1
0 1 1 1 1 0
1 0 0 0 0 1
1 0 1 1 0 0
1 1 0 0 0 1
1 1 1 1 0 0
Aaron Tan, NUS Lecture #19: Sequential Logic 9
6.2 Sequential Circuits: Analysis (5/7)
§ Alternative form of state table:
Present Next
State Input State Output
+ +
A B x A B y
Full table 0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 0 1
0 1 1 1 1 0
1 0 0 0 0 1
1 0 1 1 0 0
1 1 0 0 0 1
1 1 1 1 0 0
Present Next State Output
State x=0 x=1 x=0 x=1
Compact table
AB A B A+B+
+ +
y y
00 00 01 0 0
01 00 11 1 0
10 00 10 1 0
11 00 10 1 0
Aaron Tan, NUS Lecture #19: Sequential Logic 10
6.2 Sequential Circuits: Analysis (6/7)
§ From the state table, we can draw the state
diagram.
§ State diagram
§ Each state is denoted by a circle.
§ Each arrow (between two circles) denotes a transition of the
sequential circuit (a row in state table).
§ A label of the form a/b is attached to each arrow where a (if
there is one) denotes the inputs while b (if there is one)
denotes the outputs of the circuit in that transition.
§ Each combination of the flip-flop values represents a
state. Hence, m flip-flops ® up to 2m states.
Aaron Tan, NUS Lecture #19: Sequential Logic 11
6.2 Sequential Circuits: Analysis (7/7)
§ State diagram of the circuit of Figure 1:
Present Next State Output
State x=0 x=1 x=0 x=1
AB A B A+B+
+ +
y y
00 00 01 0 0
01 00 11 1 0 0/0 1/0
10 00 10 1 0 0/1
11 00 10 1 0 00 10
1/0 0/1 0/1 1/0
DONE! 1/0
01 11
Aaron Tan, NUS Lecture #19: Sequential Logic 12
6.2 Flip-flop Input Functions (1/3)
§ The outputs of a sequential circuit are functions of the
present states of the flip-flops and the inputs. These are
described algebraically by the circuit output functions.
§ In Figure 1: y = (A + B)∙x'
§ The part of the circuit that generates inputs to the flip-
flops are described algebraically by the flip-flop input
functions (or flip-flop input equations).
§ The flip-flop input functions determine the next state
generation.
§ From the flip-flop input functions and the characteristic
tables of the flip-flops, we obtain the next states of the
flip-flops.
Aaron Tan, NUS Lecture #19: Sequential Logic 13
6.2 Flip-flop Input Functions (2/3)
§ Example: circuit with a JK flip-flop.
§ We use 2 letters to denote each flip-flop input: the first
letter denotes the input of the flip-flop (J or K for J-K flip-
flop, S or R for S-R flip-flop, D for D flip-flop, T for T flip-
flop) and the second letter denotes the name of the flip-
flop.
B
C'
JA = B∙C'∙x + B'∙C∙x' x
KA = B + y B'
C
J Q A
x'
B K Q'
y
CP
Aaron Tan, NUS Lecture #19: Sequential Logic 14
6.2 Flip-flop Input Functions (3/3)
§ In Figure 1, we obtain the following state equations by
observing that Q+ = DQ for a D flip-flop:
A+ = A∙x + B∙x (since DA = A∙x + B∙x)
B+ = A'∙x (since DB = A'∙x)
x D Q A
Q' A'
D Q B
Q' B'
CP
y
Figure 1
Aaron Tan, NUS Lecture #19: Sequential Logic 15
6.2 Analysis: Example #2 (1/3)
§ Given Figure 2, a sequential circuit with two J-K flip-flops
A and B, and one input x.
J Q A
x K Q'
J Q B
K Q'
Figure 2
CP
§ Obtain the flip-flop input functions from the circuit:
JA = B JB = x'
KA = B∙x' KB = A'∙x + A∙x' = A Å x
Aaron Tan, NUS Lecture #19: Sequential Logic 16
6.2 Analysis: Example #2 (2/3)
JA = B JB = x'
KA = B∙x' KB = A'∙x + A∙x' = A Å x
n Fill the state table using the above functions, knowing
the characteristics of the flip-flops used.
Present Next
J K Q(t+1) Comments state Input state Flip-flop inputs
+ +
0 0 Q(t) No change A B x A B JA KA JB KB
0 1 0 Reset
1 0 1 Set 0 0 0 0 1 0 0 1 0
1 1 Q(t)' Toggle 0 0 1 0 0 0 0 0 1
0 1 0 1 1 1 1 1 0
0 1 1 1 0 1 0 0 1
1 0 0 1 1 0 0 1 1
1 0 1 1 0 0 0 0 0
1 1 0 0 0 1 1 1 1
1 1 1 1 1 1 0 0 0
±
Aaron Tan, NUS Lecture #19: Sequential Logic 17
6.2 Analysis: Example #2 (3/3)
n Draw the state diagram from the state table.
Present Next
state Input state Flip-flop inputs
A B x A+ B+ JA KA JB KB
0 0 0 0 1 0 0 1 0
0 0 1 0 0 0 0 0 1
0 1 0 1 1 1 1 1 0 1 1
0 1 1 1 0 1 0 0 1
1 0 0 1 1 0 0 1 1
1 0 1 1 0 0 0 0 0
0 11
00
1 1 0 0 0 1 1 1 1
1 1 1 1 1 1 0 0 0
0 0 0
1 10
01
1
±
Aaron Tan, NUS Lecture #19: Sequential Logic 18
6.2 Analysis: Example #3 (1/3)
§ Derive the state table and state diagram of this circuit.
J Q A J Q B
K Q' K Q'
CP
y
x
Figure 3
§ Flip-flop input functions:
JA = B JB = KB = (A Å x)' = A∙x + A'∙x'
KA = B'
Aaron Tan, NUS Lecture #19: Sequential Logic 19
6.2 Analysis: Example #3 (2/3)
§ Flip-flop input functions:
JA = B JB = KB = (A Å x)' = A∙x + A'∙x'
KA = B'
§ State table:
Present Next
state Input state Output Flip-flop inputs
A B x A+ B+ y JA KA JB KB
0 0 0 0 1 0 0 1 1 1
0 0 1 0 0 1 0 1 0 0
0 1 0 1 0 1 1 0 1 1
0 1 1 1 1 0 1 0 0 0
1 0 0 0 0 1 0 1 0 0
1 0 1 0 1 0 0 1 1 1
1 1 0 1 1 0 1 0 0 0
1 1 1 1 0 1 1 0 1 1
±
Aaron Tan, NUS Lecture #19: Sequential Logic 20
6.2 Analysis: Example #3 (3/3)
§ State diagram:
Present Next
state Input state Output Flip-flop inputs
+ +
A B x A B y JA KA JB KB
0 0 0 0 1 0 0 1 1 1
0 0 1 0 0 1 0 1 0 0
0 1 0 1 0 1 1 0 1 1
0 1 1 1 1 0 1 0 0 0
1/1
1 0 0 0 0 1 0 1 0 0
1 0 1 0 1 0 0 1 1 1
0/1
00 10
1 1 0 1 1 0 1 0 0 0
1 1 1 1 0 1 1 0 1 1
0/0 0/1 1/1
1/0
01 1/0 11
0/0
±
Aaron Tan, NUS Lecture #19: Sequential Logic 21
End of File