EEE180 Lec Chapter 5 RBM v1
EEE180 Lec Chapter 5 RBM v1
Chapter 5
Sequential Logic
RBM
November 21, 2023 1
Introduction
R 0 0
Q
S Q
0 1
Initial Value
R 0 1
Q
S Q
0 0
S Q
0 1
S Q
0 0
S Q
1 1
S Q
1 0
S Q
1 10
S S R Q
Q
0 0 Q=Q’=1 Invalid
0 1 1 Set
1 0 0 Reset
R Q
1 1 Q0 No change
Eastern Mediterranean University 24
Latches
• SR Latch
S R Q
R Q Q0 No change
0 0
0 1 0 Reset
1 0 1 Set
S Q 1 1 Q=Q’=0 Invalid
S S’ R’ Q
Q Invalid
0 0 Q=Q’=1
0 1 1 Set
Q 1 0 0 Reset
R Q0 No change
1 1
Eastern Mediterranean University 25
Controlled Latches
• SR Latch with Control Input
R R S S
Q Q
C C
S Q R Q
S R
C S R Q
0 x x Q0 No change
1 0 0 Q0 No change
1 0 1 0 Reset
1 1 0 1 Set
1 1 1Eastern Mediterranean Invalid
Q=Q’ University 26
SR Latch with Enable
D Latch (Transparent Latch)
• The D latch receives that designation from its ability to hold data in its
internal storage.
• It is suited for use as a temporary storage for binary information
between a unit and its environment. The binary information present
at the data input of the D latch is transferred to the Q output when
the enable input is asserted. The output follows changes in the data
input as long as the enable input is asserted. This situation provides a
path from input D to the output, and for this reason, the circuit is
often called a transparent latch.
Controlled Latches
• SR Latch with Control Input
R R S S
Q Q
C C
S Q R Q
S R
C S R Q
0 x x Q0 No change
1 0 0 Q0 No change
1 0 1 0 Reset
1 1 0 1 Set
1 1 1 Q=Q’ Invalid
31
Controlled Latches
• D Latch (D = Data) Timing Diagram
D S C
Q
C D
R Q
Q
t
C D Q
Output may
0 x Q0 No change
change
1 0 0 Reset
1 1 1 Set
32
Controlled Latches
• D Latch (D = Data) Timing Diagram
D S C
Q
C D
R Q
Q
C D Q Output may
0 x Q0 No change change
1 0 0 Reset
1 1 1 Set
33
Flip-Flops
• Controlled latches are level-triggered
C
• Flip-Flops are edge-triggered
34
Flip-Flops
• Master-Slave D Flip-Flop
D D Q D Q Q
D Latch D Latch
(Master) (Slave)
C C
Master Slave
CLK
CLK
D
Looks like it is negative
edge-triggered QMaster
QSlave
35
Flip-Flops
• Edge-Triggered D Flip-Flop
D Q
Q Positive Edge
CLK
Q D Q
D Negative Edge
36
Flip-Flops
• JK Flip-Flop
J
D Q Q
K
CLK Q Q
J Q
D = JQ’ + K’Q
K Q
37
Flip-Flops
• T Flip-Flop
T J Q T D Q
Q
K Q
T Q
D = JQ’ + K’Q
D = TQ’ + T’Q = T Q Q
38
Flip-Flop Characteristic Tables
D Q D Q(t+1)
0 0 Reset
Q 1 1 Set
J K Q(t+1)
J Q 0 0 Q(t) No change
0 1 0 Reset
K Q 1 0 1 Set
1 1 Q’(t) Toggle
T Q T Q(t+1)
0 Q(t) No change
Q 1 Q’(t) Toggle
39
Flip-Flop Characteristic Equations
D Q D Q(t+1)
0 0 Q(t+1) = D
Q 1 1
J K Q(t+1)
J Q 0 0 Q(t)
0 1 0 Q(t+1) = JQ’ + K’Q
K Q 1 0 1
1 1 Q’(t)
T Q T Q(t+1)
0 Q(t) Q(t+1) = T Q
Q 1 Q’(t)
40
Flip-Flop Characteristic Equations
• Analysis / Derivation
J K Q(t) Q(t+1)
0 0 0 0 No change
0 0 1 1
J Q
0 1 0 Reset
0 1 1
K Q 1 0 0 Set
1 0 1
1 1 0 Toggle
1 1 1
41
Flip-Flop Characteristic Equations
• Analysis / Derivation
J K Q(t) Q(t+1)
0 0 0 0 No change
0 0 1 1
J Q
0 1 0 0 Reset
0 1 1 0
K Q 1 0 0 Set
1 0 1
1 1 0 Toggle
1 1 1
42
Flip-Flop Characteristic Equations
• Analysis / Derivation
J K Q(t) Q(t+1)
0 0 0 0 No change
0 0 1 1
J Q
0 1 0 0 Reset
0 1 1 0
K Q 1 0 0 1 Set
1 0 1 1
1 1 0 Toggle
1 1 1
43
Flip-Flop Characteristic Equations
• Analysis / Derivation
J K Q(t) Q(t+1)
0 0 0 0 No change
0 0 1 1
J Q
0 1 0 0 Reset
0 1 1 0
K Q 1 0 0 1 Set
1 0 1 1
1 1 0 1 Toggle
1 1 1 0
44
Flip-Flop Characteristic Equations
• Analysis / Derivation
J K Q(t) Q(t+1)
0 0 0 0
0 0 1 1 K
J Q
0 1 0 0 0 1 0 0
0 1 1 0 J 1 1 0 1
K Q 1 0 0 1 Q
1 0 1 1
1 1 0 1
1 1 1 0
D Q R’ D CLK Q(t+1)
0 x x 0
Q
R
Reset
46
Flip-Flops with Direct Inputs
• Asynchronous Reset
D Q R’ D CLK Q(t+1)
0 x x 0
Q 1 0 ↑ 0
R 1 1 ↑ 1
Reset
47
Flip-Flops with Direct Inputs
• Asynchronous Preset and Clear
Preset
Q
CLR
Reset
48
Flip-Flops with Direct Inputs
• Asynchronous Preset and Clear
Preset
49
Flip-Flops with Direct Inputs
• Asynchronous Preset and Clear
Preset
50
Analysis of Clocked Sequential Circuits
• The State
• State = Values of all Flip-Flops
Example x
D Q A
AB=00
Q
D Q B
CLK Q
51
Analysis of Clocked Sequential Circuits
• State Equations
x
D Q A
A(t+1) = DA
= A(t) x(t)+B(t) x(t) Q
=Ax+Bx
B(t+1) = DB D Q B
= A’(t) x(t)
= A’ x CLK Q
52
Analysis of Clocked Sequential Circuits
• State Table (Transition Table)
x
Present Next D Q A
Input Output
State State
Q
A B x A B y
0 0 0 0 0 0 B
D Q
0 0 1 0 1 0
CLK Q
0 1 0 0 0 1
0 1 1 1 1 0 y
1 0 0 0 0 1
1 0 1 1 0 0
1 1 0 0 0 1
A(t+1) = A x + B x
1 1 1 1 0 0 B(t+1) = A’ x
y(t) = (A + B) x’
t t+1 t 53
Analysis of Clocked Sequential Circuits
• State Table (Transition Table)
x
Present Next State Output D Q A
t t+1 t A(t+1) = A x + B x
B(t+1) = A’ x
y(t) = (A + B) x’
54
Analysis of Clocked Sequential Circuits
• State Diagram
Present Next State Output
State x=0 x=1 x=0 x=1
A B A B A B y y
AB input/output
0 0 0 0 0 1 0 0
0 1 0 0 1 1 1 0
0/0 1/0 1 0 0 0 1 0 1 0
0/1 1 1 0 0 1 0 1 0
00 10
x
D Q A
0/1 Q
1/0 0/1 1/0
D Q B
CLK Q
01 11
y
1/0 55
Analysis of Clocked Sequential Circuits
• D Flip-Flops
Example:
x D Q A
Present Next y
Input
State State CLK Q
A x y A
0 0 0 0
0 0 1 1 A(t+1) = DA = A x y
0 1 0 1
0 1 1 0
1 0 0 1 01,10
1 0 1 0
00,11 0 1 00,11
1 1 0 0
1 1 1 1 01,10
56
Analysis of Clocked Sequential Circuits
• JK Flip-Flops J Q A
Example: x K Q
0 0 0 0 1 0 0 1 0 CLK
0 0 0 0 0 1
0 0 1 JA = B KA = B x’
0 1 0 1 1 1 1 1 0
JB = x’ KB = A x
0 1 1 1 0 1 0 0 1
1 0 0 1 1 0 0 1 1 A(t+1) = JA Q’A + K’A QA
1 0 1 1 0 0 0 0 0 = A’B + AB’ + Ax
1 1 0 0 0 1 1 1 1 B(t+1) = JB Q’B + K’B QB
1 1 1 1 1 1 0 0 0 = B’x’ + ABx + A’Bx’
57
Analysis of Clocked Sequential Circuits
• JK Flip-Flops J Q A
Example: x K Q
0 0 0 0 1 0 0 1 0 CLK
0 0 1 0 0 0 0 0 1 1 0 1
0 1 0 1 1 1 1 1 0 00 11
0 1 1 1 0 1 0 0 1
0
1 0 0 1 1 0 0 1 1 0 0
1 0 1 1 0 0 0 0 0
1 1 0 0 0 1 1 1 1 01 10
1 1 1 1 1 1 0 0 0 1
1 58
Analysis of Clocked Sequential Circuits
• T Flip-Flops x T Q
A
y
Example:
R Q
0 0 1 0 1 0 1 0 CLK Reset
0 1 0 0 1 0 0 0
TA = B x TB = x
0 1 1 1 0 1 1 0
y =AB
1 0 0 1 0 0 0 0
1 0 1 1 1 0 1 0
A(t+1) = TA Q’A + T’A QA
= AB’ + Ax’ + A’Bx
1 1 0 1 1 0 0 1
1 1
B(t+1) = TB Q’B + T’B QB
1 1 1 0 0 1
=xB 59
Analysis of Clocked Sequential Circuits
• T Flip-Flops x T Q
A
y
Example: R Q
• The Mealy model: the outputs are functions of both the present
state and inputs (Fig. 5-15).
• The outputs may change if the inputs change during the clock pulse
period.
• The outputs may have momentary false values unless the inputs are synchronized
with the clocks.
• The Moore model: the outputs are functions of the present state
only (Fig. 5-20).
• The outputs are synchronous with the clocks.
61
Mealy and Moore Models
63
Moore State Diagram
State / Output
0 0
1
00/0 01/0
1 1
11/1 10/0
1
0 0
64
State Reduction and Assignment
67
• Reducing the state table
• e = g (remove g);
• d = f (remove f);
68
• The reduced finite state machine
State: a a b c d e d d e d e a
Input: 0 1 0 1 0 1 1 0 1 0 0
Output: 0 0 0 0 0 1 1 0 1 0 0
69
• The checking of each pair of states for
possible equivalence can be done
systematically using Implication Table.
• The unused states are treated as don't-
care condition fewer combinational
gates.
• (a, b) imply (c, d) and (c, d) imply (a, b). Both pairs of states are
equivalent; i.e., a and b are equivalent as well as c and d.
71
Implication Table
• The checking of each pair of states for possible equivalence
in a table with a large number of states can be done
systematically by means of an implication table. This a chart
that consists of squares, one for every possible pair of
states, that provide spaces for listing any possible implied
states. Consider the following state table:
72
Implication Table
• The implication table is:
73
Implication Table
• On the left side along the vertical are listed all the states defined in
the state table except the last, and across the bottom horizontally are
listed all the states except the last.
• The states that are not equivalent are marked with a ‘x’ in the
corresponding square, whereas their equivalence is recorded with a
‘√’.
• Some of the squares have entries of implied states that must be
further investigated to determine whether they are equivalent or
not.
• The step-by-step procedure of filling in the squares is as follows:
1. Place a cross in any square corresponding to a pair of states whose outputs are
not equal for every input.
2. Enter in the remaining squares the pairs of states that are implied by the pair
of states representing the squares. We do that by starting from the top square
in the left column and going down and then proceeding with the next column
to the right.
74
Implication Table
3. Make successive passes through the table to determine whether any
additional squares should be marked with a ‘x’. A square in the table is
crossed out if it contains at least one implied pair that is not
equivalent.
4. Finally, all the squares that have no crosses are recorded with check
marks. The equivalent states are: (a, b), (d, e), (d, g), (e, g).
We now combine pairs of states into larger groups of equivalent states.
The last three pairs can be combined into a set of three equivalent
states (d, e,g) because each one of the states in the group is equivalent
to the other two. The final partition of these states consists of the
equivalent states found from the implication table, together with all
the remaining states in the state table that are not equivalent to any
other state:
(a, b) (c) (d, e, g) (f)
75
Implication Table
The reduced state table is:
76
State Assignment
• State Assignment
• To minimize the cost of the combinational circuits.
• Three possible binary state assignments. (m states need n-
bits, where 2n > m)
77
• Any binary number assignment is satisfactory as long as each state is assigned
a unique number.
• Use binary assignment 1.
78
Design Procedure
79
Design of Clocked Sequential Circuits
• Example:
Detect 3 or more consecutive 1’s
0 1
S0 / 0 S1 / 0
0 State A B
S0 0 0
0 1
0 S1 0 1
S2 1 0
S3 / 1 S2 / 0 S3 1 1
1 1
80
Design of Clocked Sequential Circuits
• Example:
Detect 3 or more consecutive 1’s
Present Next
Input Output
State State
A B x A B y 0 1
0 0 0 0 0 0 S0 / 0 S1 / 0
0 0 1 0 1 0 0
0 1 0 0 0 0
0 1 1 1 0 0 0 0 1
1 0 0 0 0 0
1 0 1 1 1 0
S3 / 1 S2 / 0
1 1 0 0 0 1
1 1 1 1 1 1 1 1
81
Design of Clocked Sequential Circuits
• Example:
Detect 3 or more consecutive 1’s
Present Next
Input Output
State State
A B x A B y Synthesis using D Flip-Flops
0 0 0 0 0 0
0 0 1 0 1 0 A(t+1) = DA (A, B, x)
0 1 0 0 0 0 = ∑ (3, 5, 7)
0 1 1 1 0 0 B(t+1) = DB (A, B, x)
1 0 0 0 0 0 = ∑ (1, 5, 7)
1 0 1 1 1 0 y (A, B, x) = ∑ (6, 7)
1 1 0 0 0 1
1 1 1 1 1 1
82
Design of Clocked Sequential Circuits with D F.F.
• Example:
Detect 3 or more consecutive 1’s
y (A, B, x) = ∑ (6, 7) A 0 1 1 0
x
= AB B
0 0 0 0
A 0 0 1 1
x 83
Design of Clocked Sequential Circuits with D F.F.
• Example:
Detect 3 or more consecutive 1’s
DA = A x + B x
DB = A x + B’ x x D Q A
y = AB Q
y
D Q B
CLK Q
84
Flip-Flop Excitation Tables
Present Next F.F. Present Next F.F.
State State Input State State Input
Q(t) Q(t+1) D Q(t) Q(t+1) J K 0 0 (No change)
0 1 (Reset)
0 0 0 0 0 0 x 1 0 (Set)
0 1 1 0 1 1 x 1 1 (Toggle)
0 1 (Reset)
1 0 0 1 0 x 1 1 1 (Toggle)
1 1 1 1 1 x 0 0 0 (No change)
1 0 (Set)
Q(t) Q(t+1) T
0 0 0
0 1 1
1 0 1
1 1 0 85
Design of Clocked Sequential Circuits with JK F.F.
• Example:
Detect 3 or more consecutive 1’s
K Q
CLK 87
Design of Clocked Sequential Circuits with T F.F.
• Example:
Detect 3 or more consecutive 1’s
Q y
B B
T Q B
0 0 1 0 0 1 1 1
Q
A 1 0 0 1 A 0 1 0 1
x x
CLK
89