COE 202: Digital Logic Design Sequential Circuits: Courtesy of Dr. Ahmad Almulhem
COE 202: Digital Logic Design Sequential Circuits: Courtesy of Dr. Ahmad Almulhem
COE 202: Digital Logic Design Sequential Circuits: Courtesy of Dr. Ahmad Almulhem
Sequential Circuits
Part 3
KFUPM
Objectives
• Design of Synchronous Sequential
Circuits
• Procedure
• Examples
• Important Design Concepts
• State Reduction and Assignment
KFUPM
Design of Synchronous
Sequential Circuits
• The design of a clocked sequential circuit starts
from a set of specifications and ends with a logic
diagram (Analysis reversed!)
• Building blocks: flip-flops, combinational logic
• Need to choose type and number of flip-flops
• Need to design combinational logic together with
flip-flops to produce the required behavior
• The combinational part is
• flip-flop input equations
• output equations
KFUPM
Design of Synchronous
Sequential Circuits
Design Procedure:
• Obtain a state diagram from the word description
• State reduction if necessary
• Obtain State Table
• State Assignment
• Choose type of flip-flops
• Use FF’s excitation table to complete the table
• Derive state equations
• Obtain the FF input equations and the output equations
• Use K-Maps
• Draw the circuit diagram
KFUPM
Step1: Obtaining the State
Diagram
•A very important step in
the design procedure.
•Requires experience!
KFUPM
Step1: Obtaining the State
Diagram
•A very important step in
the design procedure.
•Requires experience!
KFUPM
Step2: Obtaining the State Table
•Assign binary codes for the states
•We choose 2 D-FF
•Next state specifies what should
be the input to each FF
KFUPM
Step3: Obtaining the State
Equations
Using K-Maps
•A(t + 1) = DA = ∑(3,5,7) = A x + B x
•B(t + 1) = DB = ∑(1,5,7) = A x + B’ x
•y = ∑(6,7) = A B
KFUPM
Step4: Draw Circuits
Using K-Maps
•A(t + 1) = DA = ∑(3,5,7) = A x + B x
•B(t + 1) = DB = ∑(1,5,7) = A x + B’ x
•y = ∑(6,7) = A B
KFUPM
Timing Diagram (Verification)
Question: Does it detect 111 ?
KFUPM
Example 2
Problem: Design of A Sequence Recognizer
Design a circuit that reads as inputs continuous bits,
and generates an output of ‘1’ if the sequence (1011)
is detected
X Y
Input 1 1 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 1 0 1 1 0 1 1 1 1 1 1
Output 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0
KFUPM
Example 2 (cont.)
Sequence to be detected:1011
Step1: State Diagram
KFUPM
Example 2 (cont.)
Step 2: State Table
OR
KFUPM
Example 2 (cont.)
Step 2: State Table Q: How many FF?
KFUPM
Example 2 (cont.)
Step 2: State Table
choose FF
In this example, lets use JK–FF
for A and D-FF for B
KFUPM
Example 2 (cont.)
Step 2: State Table D–FF excitation table
KFUPM
Example 2 (cont.)
Step 3: State Equations
use k-map
JA = BX’
KA = BX + B’X’
DB = X
Y = ABX’
KFUPM
Example 2 (cont.)
Step 4: Draw Circuit
JA = BX’
KA = BX + B’X’
DB = X
Y = ABX’
KFUPM
Example 3
Problem: Design of A 3-bit Counter
Design a circuit that counts in binary form as follows
000, 001, 010, … 111, 000, 001, …
KFUPM
Example 3 (cont.)
Step1: State Diagram
KFUPM
Example 3 (cont.)
Step2: State Table
KFUPM
Example 3 (cont.)
Step2: State Table T–FF excitation table
We choose T-FF
KFUPM
Example 3 (cont.)
Step3: State Equations
KFUPM
Example 3 (cont.)
Step4: Draw Circuit
TA0 = 1
TA1 = A0
TA2 = A1A0
KFUPM
Example 4
Problem: Design a traffic light controller for a 2-way
intersection. In each way, there is a sensor and a light
N
Traffic Action
S
KFUPM
Example 4 (cont.)
Step1: State Diagram
11, 10
00, 01 00, 10
NS / 01 EW / 10
11, 01
INPUTS OUTPUTS
STATES
• Sensors X1, X0 • Light S1, S0
• NS: NS is green X0: car coming on NS S0 : NS is green
• EW: EW is green X1 : car coming on EW S1 : EW is green
KFUPM
Example 4 (cont.)
Exercise: Complete the design using:
• D-FF
• JK-FF
• T-FF
KFUPM
Example 5
Problem: Design Up/Down counter with Enable
Design a sequential circuit with two JK flip-flops A
and B and two inputs X and E. If E = 0, the
circuit remains in the same state, regardless of
the input X. When E = 1 and X = 1, the circuit
goes through the state transitions from 00 to 01
to 10 to 11, back to 00, and then repeats. When
E = 1 and X = 0, the circuit goes through the
state transitions from 00 to 11 to 10 to 01, back
to 00 and then repeats.
KFUPM
Example 5 (cont.)
Present Inputs Next FF Inputs
State State
A B E X A B JA KA JB KB
00 10 00 0 0 0 0 0 0 0 X 0 X
01 01 0 0 0 1 0 0 0 X 0 X
00 01 0 0 1 0 1 1 1 X 1 X
11 0 0 1 1 0 1 0 X 1 X
0 1 0 0 0 1 0 X X 0
10 11 11 10 0 1 0 1 0 1 0 X X 0
0 1 1 0 0 0 0 X X 1
11 0 1 1 1 1 0 1 X X 1
11 10 1 0 0 0 1 0 X 0 0 X
00 00
01 01 1 0 0 1 1 0 X 0 0 X
10 1 0 1 0 0 1 X 1 1 X
1 0 1 1 1 1 X 0 1 X
1 1 0 0 1 1 X 0 X 0
1 1 0 1 1 1 X 0 X 0
1 1 1 0 1 0 X 0 X 1
1 1 1 1 0 0 X 1 X 1
KFUPM
Example 5 (cont.)
E
EX 00 01 11 10 EX 00 01 11 10
AB AB X
00 0 0 0 1 00 x x x x
Y
01 0 0 1 0 01 x x x x
11 x x x x 11 0 0 1 0
JA A
10 x x x x 10 0 0 0 1
C
JA = BEX + B’EX’ KA = BEX + B’EX’ KA A’
EX 00 01 11 10 EX 00 01 11 10 JB B
AB AB
C
00 0 0 1 1 00 x x x x
B’
KB
01 x x x x 01 0 0 1 1
11 x x x x 11 0 0 1 1 clock
10 0 0 1 1 10 x x x X
JB = E KB = E
KFUPM
More Design Examples
• More design examples can be found at
• Homework 5
• Textbook
• Course CD
• Google
KFUPM
Summary
• To design a synchronous sequential circuit:
• Obtain a state diagram
• State reduction if necessary
• Obtain State Table
• State Assignment
• Choose type of flip-flops
• Use FF’s excitation table to complete the table
• Derive state equations
• Use K-Maps
• Obtain the FF input equations and the output equations
• Draw the circuit diagram
KFUPM