Professional Documents
Culture Documents
Part 2 Sequential Logic
Part 2 Sequential Logic
Part 2: 循序邏輯簡介
Introduction to Synchronous Sequential Logic
授課教師
Che-Wei LIN (林哲偉)
Asynchronous
Inputs Outputs
Combinational
Circuit
Memory
Elements
Synchronous
Inputs Outputs
Combinational
Circuit
Flip-flops
Clock
R 0 0
Q
S Q
0 1
Initial Value
R 0 1
Q
S Q
0 0
R 1 0
Q
S Q
0 1
R 1 1
Q
0 1 1 0 1 Q=0
S Q
0 0
S Q
1 1
1 0 1 1 0 Q=1
S Q
1 0
S Q
1 10
S Q
1 0
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
Introduction to Embedded System-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
Introduction to Embedded System-13
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
Introduction to Embedded System-14
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
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
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
Introduction to Embedded System-18
Flip-Flops
Edge-Triggered D Flip-Flop
D Q
Q Positive Edge
CLK
Q D Q
D Negative Edge
J
D Q Q
K
CLK Q Q
J Q
D = JQ’ + K’Q
K Q
Introduction to Embedded System-20
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
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
Introduction to Embedded System-22
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)
Introduction to Embedded System-23
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
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
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
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
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
D Q R’ D CLK Q(t+1)
0 x x 0
Q 1 0 ↑ 0
R 1 1 ↑ 1
Reset
Preset
Q
CLR
Reset
Preset
Preset
Example
x
AB=00 D Q A
D Q B
CLK Q
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
Introduction to Embedded System-36
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’
Introduction to Embedded System-37
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
Introduction to Embedded System-38
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
Introduction to Embedded System-39
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’
Introduction to Embedded System-40
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
Introduction to Embedded System-41
Analysis of Clocked Sequential Circuits
x A
T Flip-Flops T Q y
Example: R Q
Example: R Q
The Moore model: the outputs are functions of the present state
only.
The outputs are synchronous with the clocks.
State / Output
0 0
1
00/0 01/0
1 1
11/1 10/0
1
0 0
Introduction to Embedded System-47
State Reduction and Assignment
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
Only the input-output sequences
are important.
Two circuits are equivalent
» Have identical outputs for all
input sequences;
» The number of states is not
important.
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.
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
Introduction to Embedded System-52
Reducing the state table
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.
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
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
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
Introduction to Embedded System-59
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
Introduction to Embedded System-60
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
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
Introduction to Embedded System-62
Design of Clocked Sequential Circuits
with JK F.F.
Example:
Detect 3 or more consecutive 1’s
K Q
CLK
Introduction to Embedded System-64
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