Professional Documents
Culture Documents
Chapter 5 Synchronous Sequential Circuit
Chapter 5 Synchronous Sequential Circuit
Sequential Circuits
Asynchronous
Inputs Combinational Circuit Outputs Memory Elements
Synchronous
Inputs Combinational Circuit Clock Flip-flops Outputs
Latches
SR Latch
S R Q0 0 0 0 Q 0 Q 1
Q = Q0
1
Initial Value
Latches
SR Latch
S R Q0 0 0 0 0 0 1 Q 0 1
Q 1 0
Q = Q0 Q = Q0
Latches
SR Latch
S 0 0 0 R 0 0 1 Q0 0 1 0 Q 0 1 0
Q 1 0 1
Q = Q0 Q=0
Latches
SR Latch
S 0 0 0 0 R 0 0 1 1 Q0 0 1 0 1 Q 0 1 0 0
Q 1 0 1 1
Q = Q0 Q=0 Q=0
Latches
SR Latch
S 0 0 0 0 1 R 0 0 1 1 0 Q0 0 1 0 1 0 Q 0 1 0 0 1
Q 1 0 1 1 0
Q = Q0
0 R
Q=0
Q=1
Latches
SR Latch
S 0 0 0 0 1 1 R 0 0 1 1 0 0 Q0 0 1 0 1 0 1 Q 0 1 0 0 1 1
Q 1 0 1 1 0 0
Q = Q0
0 R
Q=0
Q=1 Q=1
Latches
SR Latch
S 0 0 0 0 1 1 1 R 0 0 1 1 0 0 1 Q0 0 1 0 1 0 1 0 Q 0 1 0 0 1 1 0
Q 1 0 1 1 0 0 0
Q = Q0
1 R
Q=0
Q=1 Q = Q
1 0
Latches
SR Latch
S 0 0 0 0 1 1 1 1 R 0 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 Q 0 1 0 0 1 1 0 0
Q 1 0 1 1 0 0 0 0
Q = Q0
1 R
1 0
Q=0
Q=1 Q = Q Q = Q
Latches
SR Latch
R
S R Q Q0
S
S
0 0 1 1 S 0 0 1 1
0 1 0 1
Latches
SR Latch
R
S R Q Q0
S
S
0 0 1 1
0 1 0 1
S R
0 0 1 1 0 1 0 1
Controlled Latches
SR Latch with Control Input
R C S S Q R Q S C R R Q S Q
C S R 0 1 1 1 1 x 0 0 1 1 x 0 1 0 1
Q Q0 Q0 0 1 Q=Q
Controlled Latches
D Latch (D = Data)
D C R Q S Q
Timing Diagram
C D Q t
C D
0 x 1 0 1 1
Q Q0
0 1
13
Controlled Latches
D Latch (D = Data)
D C R Q S Q
Timing Diagram
C D Q
C D
0 x 1 0 1 1
Q Q0
0 1
14
Flip-Flops
Controlled latches are level-triggered
C
CLK
Negative Edge
15
Flip-Flops
Master-Slave D Flip-Flop
D D C CLK
D Latch (Master)
D C
D Latch (Slave)
Master
Slave
CLK D
QMaster QSlave
16
Flip-Flops
Edge-Triggered D Flip-Flop
D Q Q
Q CLK Q
Positive Edge
D Q Q
Negative Edge
17
Flip-Flops
JK Flip-Flop
J D K CLK Q Q Q
Q Q
18
D = JQ + KQ
K
Eastern Mediterranean University
Flip-Flops
T Flip-Flop
J K
Q Q
Q Q
D = JQ + KQ
D = TQ + TQ = T Q
Q
Q
19
D 0 1
J 0 0 1 1 T 0 1
Q(t+1) 0 1
K Q(t+1) 0 Q(t) 1 0 0 1 1 Q(t) Q(t+1) Q(t) Q(t)
Reset Set
Q Q
No change Toggle
20
D 0 1
J 0 0 1 1 T 0 1
Q(t+1) 0 1
K Q(t+1) 0 Q(t) 1 0 0 1 1 Q(t) Q(t+1) Q(t) Q(t)
Q(t+1) = D
Q(t+1) = JQ + KQ
Q Q
Q(t+1) = T Q
21
J K
Q Q
22
J K
Q Q
23
J K
Q Q
24
J K
Q Q
25
J K
Q Q
K 0 J 1 1 1 Q 0 0 0 1
Q(t+1) = JQ + KQ
Eastern Mediterranean University
26
R 0
D CLK Q(t+1) x x 0
Q
R Reset
27
Q
R Reset
R 0 1 1
D CLK Q(t+1) x x 0 0 0 1 1
28
PR D Q
Q
CLR
Reset
29
PR D Q
Q
CLR
Reset
30
PR D Q
Q
CLR
Reset
31
Example AB=00
Q Q
D CLK
Q Q
32
Q Q
Q Q
CLK
= A x
y(t) = [A(t)+ B(t)] x(t) = (A + B) x
Eastern Mediterranean University
33
Output
Q Q
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1 t
x 0 1 0 1 0 1 0 1
A 0 0 0 1 0 1 0 1 t+1
B 0 1 0 1 0 0 0 0
y 0 0 1 0 1 0 1 0 t
D CLK
Q Q
A(t+1) = A x + B x
B(t+1) = A x y(t) = (A + B) x
34
Present State
Q Q
A 0 0 1 1
B 0 1 0 1
A 0 0 0 0
B 0 0 0 0
A 0 1 1 1
B 1 1 0 0
y 0 1 1 1 t
y 0 0 0 0
D CLK
Q Q
t+1
A(t+1) = A x + B x
B(t+1) = A x y(t) = (A + B) x
35
input/output
1/0 0/1
10
A B 0 0
A B A B 0 0 0 1
y 0
y 0
0/0
00
0 1
1 0 1 1
0
0 0
0
0 0
1
1 1
1
0 0
1
1 1
0
0 0
0/1 1/0
01
Q Q
0/1
11
1/0
D CLK
Q Q
1/0
36
Example:
Present Input State Next State
x y
CLK
Q
Q
A 0 0 0 0 1 1 1 1
x 0 0 1 1 0 0 1 1
y 0 1 0 1 0 1 0 1
A 0 1 1 0 1 0 0 1
A(t+1) = DA = A x y
01,10 00,11
0
01,10
00,11
37
Example:
Present Next I/P State State A B x A B 0 0 0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 Flip-Flop Inputs JA KA JB KB 0 0 1 0
J K CLK
Q Q
0
1 1 1 1 0 1
0
1 0 1 0 0 1
0
1 1 0
0
1 0 0
0
1 0 1
1
0 1 1
JA = B JB = x
KA = B x KB = A x
0
1 1
0
1 0
0
1 0
0
1 0
Example:
Present Next I/P State State A B x A B 0 0 0 0 1 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 Flip-Flop Inputs JA KA JB KB 0 0 1 0
J K CLK
Q Q
0
1 1 1 1 0 1
0
1 0 1 0 0 1
0
1 1 0
0
1 0 0
0
1 0 1
1
0 1 1
1
00
0
11
0
01
0
10
0
1 1
0
1 0
0
1 0
0
1 0
1
39
Example:
Present Next F.F I/P O/P State State Inputs A B x A B TA TB y 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0
T
Q B R Q
CLK
Reset
TA = B x y =AB
TB = x
0
0 1
40
Example:
Present Next F.F I/P O/P State State Inputs A B x A B TA TB y 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1
T
Q B R Q
CLK
Reset
0/0
00
0/0
1/0
01
0
0 1
1
0 1
1/1
11 10
0/1
The Moore model: the outputs are functions of the present state only (Fig. 5-20).
The outputs are synchronous with the clocks.
42
43
Moore
Present State A B 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 I/P x 0 1 0 1 0 1 0 1 Next O/P State A B y 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1
For the same state, the output changes with the input
For the same state, the output does not change with the input
44
1
11/1
1
10/0
1
0
Eastern Mediterranean University
0
45
46
State Reduction
State: a a b c d e f f g f g 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
47
Equivalent states
Two states are said to be equivalent
For each member of the set of inputs, they give exactly the same output and send the circuit to the same state or to an equivalent state. One of them can be removed.
48
49
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
Eastern Mediterranean University
50
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.
51
Implication Table
The state-reduction procedure for completely specified state tables is based on the algorithm that two states in a state table can be combined into one if they can be shown to be equivalent. There are occasions when a pair of states do not have the same next states, but, nonetheless, go to equivalent next states. Consider the following state table:
(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.
Eastern Mediterranean University
52
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:
53
Implication Table
The implication table is:
54
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.
Eastern Mediterranean University
55
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) The reduced state table is:
56
Implication Table
57
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)
58
Any binary number assignment is satisfactory as long as each state is assigned a unique number. Use binary assignment 1.
59
Design Procedure
Design Procedure for sequential circuit
The word description of the circuit behavior to get a state diagram;
60
S1 / 0 1
State A B S0 0 0 S1 0 1 S2 1 0 1 1 S3
0 S3 / 1 S2 / 0 1
61
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
x 0 1 0 1 0 1 0 1
A 0 0 0 1 0 1 0 1
B 0 1 0 0 0 1 0 1
y 0 0 0 0 0 0 1 1
0
S0 / 0
1 S1 / 0
0
0 0 1
S3 / 1 1
S2 / 0
1
62
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
x 0 1 0 1 0 1 0 1
A 0 0 0 1 0 1 0 1
B 0 1 0 0 0 1 0 1
y 0 0 0 0 0 0 1 1
A(t+1) = DA (A, B, x)
= (3, 5, 7)
B(t+1) = DB (A, B, x) = (1, 5, 7) y (A, B, x) = (6, 7)
63
B 0 0 1 0 A 0 1 1 0 x B 0 1 0 0 A 0 1 1 0 x
y (A, B, x) = (6, 7)
=AB
B 0 0 0 0
64
DA = A x + B x DB = A x + B x y =AB
D CLK
Eastern Mediterranean University
Q Q
Q Q
65
Q(t) Q(t+1) 0 0 0 1 1 0 1 1
D 0 1 0 1
J 0 1 x x T 0 1 1 0
K x x 1 0
0 0 (No change) 0 1 (Reset) 1 0 (Set) 1 1 (Toggle) 0 1 (Reset) 1 1 (Toggle) 0 0 (No change) 1 0 (Set)
66
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
x 0 1 0 1 0 1 0 1
A 0 0 0 1 0 1 0 1
B JA 0 0 1 0 0 0 0 1 0 x 1 x 0 x 1 x
KA x x x x 1 0 1 0
JB KB 0 x 1 x x 1 x 1 0 x 1 x x 1 x 0
JA (A, B, x) = (3) dJA (A, B, x) = (4,5,6,7) KA (A, B, x) = (4, 6) dKA (A, B, x) = (0,1,2,3) JB (A, B, x) = (1, 5) dJB (A, B, x) = (2,3,6,7) KB (A, B, x) = (2, 3, 6) dKB (A, B, x) = (0,1,4,5)
67
JA = B x
JB = x
KA = x
KB = A + x
J Q Q A y K
B 0 0 1 0 A x x x x x B 0 1 x x A 0 1 x x x
B x x x x A 1 0 0 1 x B x x 1 1 A x x 0 1 x
J K CLK
Q Q
68
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
x 0 1 0 1 0 1 0 1
A 0 0 0 1 0 1 0 1
B 0 1 0 0 0 1 0 1
TA 0 0 0 1 1 0 1 0
TB 0 1 1 1 0 1 1 0
69
TA = A x + A B x TB = A B + B x
B 0 0 1 0 A 1 0 0 1 x B 0 1 1 1 A 0 1 0 1 x
Q x T Q Q A y
CLK
70