Chapter 5 Synchronous Sequential Circuit
Chapter 5 Synchronous Sequential Circuit
Chapter 5 Synchronous Sequential Circuit
Asynchronous
Inputs Outputs
Combinational
Circuit
Memory
Elements
Synchronous
Inputs Outputs
Combinational
Circuit
Flip-flops
Clock
0
Latches
SR Latch
S R Q0 Q Q’
0 0 0 0 1 Q = Q0
R
0 0
Q
S Q
0 1
Initial Value
4
Latches
SR Latch
S R Q0 Q Q’
0 0 0 0 1 Q = Q0
0 0 1 1 0 Q = Q0
R
0 1
Q
S Q
0 0
5
Latches
SR Latch
S R Q0 Q Q’
0 0 0 0 1
Q = Q0
0 0 1 1 0
0 1 0 0 1 Q=0
R
1 0
Q
S Q
0 1
6
Latches
SR Latch
S R Q0 Q Q’
0 0 0 0 1
Q = Q0
0 0 1 1 0
0 1 0 0 1 Q=0
R
1 1 0 1 1 0 1 Q=0
Q
S Q
0 0
7
Latches
SR Latch
S R Q0 Q Q’
0 0 0 0 1
Q = Q0
0 0 1 1 0
0 1 0 0 1
R
0 0 0 1 1 0 1
Q=0
Q 1 0 0 1 0 Q=1
S Q
1 1
8
Latches
SR Latch
S R Q0 Q Q’
0 0 0 0 1
Q = Q0
0 0 1 1 0
0 1 0 0 1
R
0 1 0 1 1 0 1
Q=0
Q 1 0 0 1 0 Q=1
1 0 1 1 0 Q=1
S Q
1 0
9
Latches
SR Latch
S R Q0 Q Q’
0 0 0 0 1
Q = Q0
0 0 1 1 0
0 1 0 0 1
R
1 0 0 1 1 0 1
Q=0
Q 1 0 0 1 0
Q=1
1 0 1 1 0
1 1 0 0 0 Q = Q’
S Q
1 10
10
Latches
SR Latch
S R Q0 Q Q’
0 0 0 0 1 Q = Q0
0 0 1 1 0
0 1 0 0 1
R
1 10 0 1 1 0 1
Q=0
Q 1 0 0 1 0 Q=1
1 0 1 1 0
1 1 0 0 0 Q = Q’
1 1 1 0 0 Q = Q’
S Q
1 0
11
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
1 0 0 Reset
R Q
1 1 Q0 No change
12
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
13
Controlled Latches
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
15
Controlled Latches
S
C
D
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
16
Controlled Latches
S
C
D
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
17
Advantages of edge triggering:
FF change states only once for a clock cycle
Flip-Flops
22
J-K Flip-Flop
S S
Q
C
R Q
R
11/12/2022 BIT,23 / 65
Mesra
Flip-Flops
JK Flip-Flop
J
D Q Q
K
CLK Q Q
J Q
D = JQ’ + K’Q
K Q
24
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
25
Y=1
Y’=0
Master Slave J-K Flip-Flop
33
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
34
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
35
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)
36
Flip-Flop Characteristic Equations
Analysis / Derivation
J K Q(t) Q(t+1)
0 0 0 0 No change
J Q 0 0 1 1
0 1 0 Reset
0 1 1
K Q
1 0 0 Set
1 0 1
1 1 0 Toggle
1 1 1
37
Flip-Flop Characteristic Equations
Analysis / Derivation
J K Q(t) Q(t+1)
0 0 0 0 No change
J Q 0 0 1 1
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
38
Flip-Flop Characteristic Equations
Analysis / Derivation
J K Q(t) Q(t+1)
0 0 0 0 No change
J Q 0 0 1 1
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
39
Flip-Flop Characteristic Equations
Analysis / Derivation
J K Q(t) Q(t+1)
0 0 0 0 No change
J Q 0 0 1 1
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
40
Flip-Flop Characteristic Equations
Analysis / Derivation
J K Q(t) Q(t+1)
0 0 0 0
J Q 0 0 1 1 K
0 1 0 0 0 1 0 0
0 1 1 0 J 1 1 0 1
K Q Q
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
Asynchronous Reset
D Q R’ D CLK Q(t+1)
0 x x 0
Q
R
Reset
42
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
Eastern Mediterranean 43
Flip-Flops with Direct Inputs
Preset
Q
CLR
Reset
44
Flip-Flops with Direct Inputs
Preset
45
Flip-Flops with Direct Inputs
Preset
46
Register
Buffer Register
Shift Register
11/12/2022 49 / 65
Din 1 1 1 1
Q3 1 1 1 1
Q2 0 1 1 1
Q1 0 0 1 1
Q0 0 0 0 1
Application of Shift registers:
• For example, in UP counter a counter increases count for every rising/ falling
edge of clock.
• A counter can follow the certain sequence based on our design like any random
sequence 0,1,3,2… .
• They are used as frequency dividers where the frequency of given pulse
waveform is divided.
1. Asynchronous counter
1. Synchronous counter
Asynchronous counter
11/12/2022 BIT,68 / 65
Mesra
Synchronous counter
BIT, Mesra
11/12/2022 69 / 65
1. Asynchronous Counter/ Ripple counter
Counter pu
or
clock puls
11/12/2022 BIT,72 / 65
Mesra
Application of Shift registers:
Counter pu
or
clock puls
A1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
A2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
A3 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0
A4 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0
Solution:
(1) Either, use +ve edge triggered FF and apply
normal output of the FF to clock input of nex
[if normal output is not available]
State of FFs:
Q3 Q2 Q1 Q0
Counter counts from 0-to-9, so total no. of count is 10, hence MOD-10
When the state after 1001 i.e. 1010 is about to come all FFs are
cleared so 1010 will not come
Hence, When Q3=1 and Q1=1, FFs are cleared
Circuit Diagram of MOD-10 counter or BCD counter (asynchronous)
Q3 Q2 Q1 Q0
Timing Diagram
glitches
(asynchronous)
Excitation table
(also
discussed later)
TA3
A3 A2
A’3
Propagation delay in synchronous counter
Design of sequential Circuits
Using
State Diagram
1
1
An example: state assignment
Unused-states
Analysis of Clocked Sequential Circuits
The State
● State = Values of all Flip-Flops
x
A
Example D Q
Q
AB=00
D Q B
CLK Q
118
Analysis of Clocked Sequential Circuits
State Equations
x
A
A(t+1) = DA D Q
=Ax+Bx
D Q B
B(t+1) = DB
CLK Q
= A’(t) x(t)
y
= A’ x
y(t) = [A(t)+ B(t)] x’(t)
= (A + B) x’
119
Analysis of Clocked Sequential Circuits
1 0 0 0 0 1
1 0 1 1 0 0
A(t+1) = A x + B x
1 1 0 0 0 1
1 1 1 1 0 0 B(t+1) = A’ x
y(t) = (A + B) x’
t t+1 t 120
Analysis of Clocked Sequential Circuits
t t+1 t A(t+1) = A x + B x
B(t+1) = A’ x
y(t) = (A + B) x’
121
Analysis of Clocked Sequential Circuits
CLK Q
01 11
y
1/0 122
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
123
Analysis of Clocked Sequential Circuits
JK Flip-Flops J Q A
Example: x K Q
JK Flip-Flops J Q A
x K Q
Example:
Present Next Flip-Flop J Q B
I/P
State State Inputs
A B x A B JA KA JB KB 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 1 0 0 0 1
125
Analysis of Clocked Sequential Circuits
x A
T Flip-Flops T Q y
R Q
Example:
Present Next F.F
I/P O/P
State State Inputs T Q
B
A B x A B TA TB y
R Q
0 0 0 0 0 0 0 0
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 126
Analysis of Clocked Sequential Circuits
x A
T Flip-Flops T Q y
R Q
Example:
Present Next F.F
I/P O/P
State State Inputs T Q
B
A B x A B TA TB y
R Q
0 0 0 0 0 0 0 0
0 0 1 0 1 0 1 0 CLK Reset
0 1 0 0 1 0 0 0 0/0 0/0
0 1 1 1 0 1 1 0 00 1/0 01
1 0 0 1 0 0 0 0
1 0 1 1 1 0 1 0 1/1 1/0
1 1 0 1 1 0 0 1 11 10
0/1 0/0
1 1 1 0 0 1 1 1 1/0
Eastern Mediterranean 127