Chap - 04-Sequential Circuits
Chap - 04-Sequential Circuits
Chapter 4 – Sequential
Circuits
Sequential circuits
Inputs Outputs
Combina-
▪ A Sequential tional
circuit contains: Storage
Logic
Elements
• Storage elements:
Latches or Flip-Flops Present
Next
State State
• Combinational Logic:
▪ Implements a multiple-output
switching function
▪ Inputs are signals from the outside.
▪ Outputs are signals to the outside.
▪ Other inputs, State or Present State, are
signals from storage elements.
▪ The remaining outputs, Next State are
inputs to storage elements.
Introduction to Sequential Circuits
Inputs Outputs
Combina-
tional
Storage
Logic
Elements
▪ Combinatorial Logic Next
• Next state function State State
Next State = f(Inputs, State)
• Output function (Mealy)
Outputs = g(Inputs, State)
• Output function (Moore)
Outputs = h(State)
▪ Output function type depends on specification and affects
the design significantly
Types of Sequential Circuits
▪ Adding an inverter D
to the S-R Latch, Q
it begins operation
▪ This initialization is often done C Q
R
outside of the clocked behavior
of the circuit, i.e., asynchronously.
▪ Direct R and/or S inputs that control the state of the
latches within the flip-flops are used for this
initialization.
▪ For the example flip-flop shown
• 0 applied to R resets the flip-flop to the 0 state
• 0 applied to S sets the flip-flop to the 1 state
Sequential Circuit Analysis
▪ General Model
Inputs Outputs
• Current State Combina-
at time (t) is tional
stored in an Storage Logic
array of Elements
Next
flip-flops. State State
• Next State at time (t+1)
is a Boolean function of CLK
State and Inputs.
• Outputs at time (t) are a Boolean function of
State (t) and (sometimes) Inputs (t).
Example 1
▪ Input: x(t) x D Q A
▪ Output: y(t) A
C Q
▪ State: (A(t), B(t))
▪ What is the Output
D Q B
Function?
CP C Q
• B(t+1) = A(t)x(t)
• y(t) = x(t)(B(t) + A(t)) D Q B
CP C Q'
Output
State Table Characteristics
▪ Label form:
• On circle with output included:
▪ state/output
▪ Moore type output depends only on state
• On directed arc with the output included:
▪ input/output
▪ Mealy type output depends on state and
input
Example 1
Equivalent State Definitions
1/0
Moore and Mealy Models
x=1 x=1
x=0
S1/0 S2/1
x=1
Moore and Mealy Example Tables
I\AB 00 01 11 10 I\AB 00 01 11 10
0 0 0 0 0 0 0 0 0 0
1 0 1 1 1 1 1 26
1 0 0
Moore
I
D Q
A
Q’
O
D Q
B
Q’
27
Mealy
A(t+1)= X(A+B)
B(t+1)= X(A+B’)
O= XA
28
Mealy
D Q
A
Q’
X Out
D Q
B
Q’
29
Example 2
The Design Procedure
▪ Specification
▪ Formulation - Obtain a state diagram or state table
▪ State Assignment - Assign binary codes to the states
▪ Flip-Flop Input Equation Determination - Select flip-flop
types and derive flip-flop equations from next state entries in the
table
▪ Output Equation Determination - Derive output equations
from output entries in the table
▪ Optimization - Optimize the equations
▪ Technology Mapping - Find circuit from equations and map to
flip-flops and gate technology
▪ Verification - Verify correctness of final design
Sequence Recognizer Procedure
▪ To develop a sequence recognizer state diagram:
• Begin in an initial state in which NONE of the initial portion of
the sequence has occurred (typically “reset” state).
• Add a state that recognizes that the first symbol has occurred.
• Add states that recognize each successive symbol occurring.
• The final state represents the input sequence (possibly less the
final input value) occurence.
• Add state transition arcs which specify what happens when a
symbol not in the proper sequence has occurred.
• Add other arcs on non-sequence inputs which transition to
states that represent the input subsequence that has occurred.
▪ The last step is required because the circuit must recognize the
input sequence regardless of where it occurs within the overall
sequence applied since “reset.”.
Sequence Recognizer Example
A 1/0
B
1/0 0/0 1/1
C D
▪ Clearly the final 1 in the recognized sequence
1101 is a sub-sequence of 1101. It follows a 0
which is not a sub-sequence of 1101. Thus it
should represent the same state reached from the
initial state after a first 1 is observed. We obtain:
1/1
Example: Recognize 1101 (continued)
1/1
▪ The state have the following abstract meanings:
• A: No proper sub-sequence of the sequence has
occurred.
• B: The sub-sequence 1 has occurred.
• C: The sub-sequence 11 has occurred.
• D: The sub-sequence 110 has occurred.
• The 1/1 on the arc from D to B means that the last 1
has occurred and thus, the sequence is recognized.
Example: Recognize 1101 (continued)
▪ Answer: 1/1
"0" arc from A
"0" arc from B
"1" arc from C
"0" arc from D.
Example: Recognize 1101 (continued)
0/0 1/1
0/0
▪ Note that the 1 arc from state C to state C
implies that State C means two or more 1's have
occurred.
Formulation: Find State Table
0/0 1/1
0/0
Present Next State Output
State x=0 x=1 x=0 x=1
A A B 0 0
B A C 0 0
C D C 0 0
D A B 0 1
▪ What would the state diagram and state table
look like for the Moore model?
Example: Moore Model for Sequence 1101
0
Present Next State Output
State x=0 x=1 y
A A B 0
B A C 0
C D C 0
D A E 0
E A C 1
State Assignment – Example 2
▪ Counting Order Assignment: A = 00, B = 01,
C = 10, D = 11
▪ The resulting coded state table:
Gray code Design for the Sequence
Recognizer
Logic Diagram