![Page 1: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/1.jpg)
CSE 140: Components and Design
Techniques for Digital Systems
Lecture 9:
Sequential Networks: Implementation
CK Cheng
Dept. of Computer Science and Engineering
University of California, San Diego
1
![Page 2: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/2.jpg)
Implementation
• Format and Tool
• Procedure
• Excitation Tables
• Example
2
![Page 3: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/3.jpg)
3
Mealy Machine: yi(t) = fi(X(t), S(t))
Moore Machine: yi(t) = fi(S(t))
si(t+1) = gi(X(t), S(t))
C1 C2
CLK
x(t)
y(t)
Mealy Machine
C1 C2
CLK
x(t) y(t)
Moore Machine
S(t) S(t)
Canonical Form: Mealy and Moore Machines
![Page 4: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/4.jpg)
D
iClicker
4
y
CLK
x Q
In the logic diagram below, a D flip-flop has input x and output y.
A: x= Q(t), y=Q(t)
B: x=Q(t+1), y=Q(t)
C: x=Q(t), y=Q(t+1)
D: None of the above
![Page 5: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/5.jpg)
Understanding Current State and Next
State in a sequential circuit
5
today
sunrise
Preparing for
tomorrow according
to our effort in today
![Page 6: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/6.jpg)
C1 C2
CLK
x(t)
y(t)
Implementation Format
Q(t)
Q(t+1) = h(x(t), Q(t)) Circuit C1
y(t) = f(x(t), Q(t)) Circuit C2 6
Canonical Form: Mealy & Moore machines
State Table Netlist
Tool: Excitation Table
![Page 7: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/7.jpg)
Implementation Tool: Excitation Table
7
x(t)
Q(t)
CLK
C1
id x(t) Q(t) Q(t+1)
0 0 0 1
1 1 1 0
2 0 0 1
3 1 1 0
State Table
Find D, T, (S R), (J K) to drive F-Fs
![Page 8: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/8.jpg)
Implementation Tool: Excitation Table
8
x(t)
Q(t)
CLK
Q(t)
C1 id x(t) Q(t) T(t) Q(t+1)
0 0 0 1 1
1 1 1 1 0
2 0 1 0 1
3 1 1 1 0
id x(t) Q(t) Q(t+1)
0 0 0 1
1 1 1 0
2 0 1 1
3 1 1 0
State Table
Excitation Table
Example with T flip flop
T(t)
![Page 9: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/9.jpg)
Implementation Tool: Excitation Table
9
x(t)
Q(t)
CLK
Q(t)
C1 id x(t) Q(t) T(t) Q(t+1)
0 0 0 1 1
1 1 1 1 0
2 0 1 0 1
3 1 1 1 0
Excitation Table
Implement combinational logic C1
D(t), T(t), (S(t) R(t)), (J(t) K(t)) are functions of (x,Q(t))
![Page 10: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/10.jpg)
Implementation: Procedure State Table => Excitation Table
Problem: Given a state table, we have
NS: Q(t+1) = h(x(t),Q(t))
We find D, T, (S R), (J K) to drive F-Fs from
Q(t) to Q(t+1).
Excitation Table: The setting of
D(t), T(t), (S(t) R(t)), (J(t) K(t)) to drive
Q(t) to Q(t+1).
We implement combinational logic C1
D(t), T(t), (S(t) R(t)), (J(t) K(t)) are functions of
(x,Q(t)). 10
![Page 11: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/11.jpg)
Implementation: Procedure State Table => Excitation Table
Problem: Given a state table, we have
NS: Q(t+1) = h(x(t),Q(t))
We find D, T, (S R), (J K) to drive F-Fs from
Q(t) to Q(t+1).
Excitation Table: The setting of
D(t), T(t), (S(t) R(t)), (J(t) K(t)) to drive
Q(t) to Q(t+1).
We implement combinational logic C1
D(t), T(t), (S(t) R(t)), (J(t) K(t)) are functions of
(x,Q(t)). 11
![Page 12: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/12.jpg)
Implementation: Procedure F-F State Table <=> F-F Excitation Table
12
DTSRJK
PS
Q(t) NS Q(t+1)
NS Q(t+1)
PS
Q(t) DTSRJK
•D F-F •D(t)= eD(Q(t+1), Q(t))
•T F-F •T(t)= eT(Q(t+1), Q(t))
•SR F-F •S(t)= eS(Q(t+1), Q(t)) •R(t)= eR(Q(t+1), Q(t))
•JK F-F •J(t)= eJ(Q(t+1), Q(t)) •K(t)= eK(Q(t+1), Q(t))
![Page 13: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/13.jpg)
State table of JK F-F:
00
0
1
01
0
0
10
1
1
11
1
0
0
1 Q(t) Q(t+1)
JK
Excitation table of JK F-F:
0
0-
-1
1
1-
-0
0
1
PS NS
Q(t)
Q(t+1)
JK
If Q(t) is 1, and Q(t+1) is 0, then JK needs to be -1.
Excitation Table
13
![Page 14: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/14.jpg)
Excitation Tables and State Tables
0
0-
01
1
10
-0 0
1
PS NS
Q(t)
Q(t+1) SR
Excitation Tables:
0
0
1
1
1
0 0
1
PS NS
Q(t)
Q(t+1) T
00
0
1
01
0
0
0
1
PS SR
Q(t)
Q(t+1)
SR 10
1
1
11
-
-
0
0
1
1
1
0 0
1
PS T
Q(t)
Q(t+1)
T
State Tables:
14
![Page 15: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/15.jpg)
0
0-
-1
1
1-
-0 0
1
PS NS
Q(t)
Q(t+1) JK
Excitation Tables:
0
0
0
1
1
1
0
1
PS NS
Q(t)
Q(t+1) D
00
0
1
01
0
0 0
1
PS JK
Q(t)
Q(t+1)
JK 10
1
1
11
1
0
0
0
0
1
1
1
0
1
PS D
Q(t)
Q(t+1)
D
State Tables:
Excitation Tables and State Tables
15
![Page 16: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/16.jpg)
Implementation: Procedure 1. State table: y(t)= f(Q(t), x(t)), Q(t+1)= h(x(t),Q(t))
2. Excitation table of F-Fs:
• D(t)= eD(Q(t+1), Q(t));
• T(t)= eT(Q(t+1), Q(t));
• (S, R), or (J, K)
3. From 1 & 2, we derive excitation table of the system
• D(t)= gD(x(t),Q(t))= eD(h(x(t),Q(t)),Q(t));
• T(t)= gT(x(t),Q(t))= eT(h(x(t),Q(t)),Q(t));
• (S, R) or (J, K).
4. Use K-map to derive optional combinational logic implementation.
• D(t)= gD(x(t),Q(t))
• T(t)= gT(x(t),Q(t))
• y(t)= f(x(t),Q(t))
16
![Page 17: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/17.jpg)
Implementation: Example
Implement a JK F-F with a T F-F
00
0
1
01
0
0
0
1
PS JK
Q(t)
Q(t+1) = h(J(t),K(t),Q(t)) = J(t)Q’(t)+K’(t)Q(t)
JK 10
1
1
11
1
0
Implement a JK F-F:
Q
Q’ C1
J
K T
17
Q
![Page 18: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/18.jpg)
id
0
1
2
3
4
5
6
7
J(t)
0
0
0
0
1
1
1
1
K(t)
0
0
1
1
0
0
1
1
Q(t)
0
1
0
1
0
1
0
1
Q(t+1)
0
1
0
0
1
1
1
0
T(t)
0
0
0
1
1
0
1
1
0
0
1
1
1
0 0
1
PS NS
Q(t)
Q(t+1) Excitation Table of T Flip-Flop T(t) = Q(t) ⊕ Q(t+1)
T(t) = Q(t) XOR ( J(t)Q’(t) + K’(t)Q(t))
Excitation Table of the Design
Example: Implement a JK flip-flop using a T flip-flop
T
18
![Page 19: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/19.jpg)
0 2 6 4
1 3 7 5
Q(t)
J
0 0 1 1
0 1 1 0
K T(J,K,Q):
T = K(t)Q(t) + J(t)Q’(t)
Q
Q’
J
K
T
Example: Implement a JK flip-flop using a T flip-flop
19
![Page 20: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/20.jpg)
iClicker
20
Given a flip-flop, the relation of its state table
and excitation table is
A.One to one
B.One to many
C.Many to one
D.Many to many
E.None of the above
![Page 21: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/21.jpg)
21
Let’s implement our free running 2-bit counter using T-flip flops
S0
S1
S2
S3
PS Next state S1
S2
S3
S0
State Table
S0
S1
S2
S3
![Page 22: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/22.jpg)
22
Let’s implement our free running 2-bit counter using T-flip flops
S0
S1
S2
S3
S1
S2
S3
S0
State Table
S0
S1
S2
S3
State Table with Assigned
Encoding
0 0
0 1
1 0
1 1
Current 01
10
11
00
Next
![Page 23: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/23.jpg)
23
Let’s implement our free running 2-bit counter using T-flip flops
id Q1(t) Q0(t) T1(t) T0(t) Q1(t+1) Q0(t+1)
0 0 0 0 1
1 0 1 1 0
2 1 0 1 1
3 1 1 0 0
Excitation table
![Page 24: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/24.jpg)
24
Let’s implement our free running 2-bit counter using T-flip flops
id Q1(t) Q0(t) T1(t) T0(t) Q1(t+1) Q0(t+1)
0 0 0 0 1 0 1
1 0 1 1 1 1 0
2 1 0 0 1 1 1
3 1 1 1 1 0 0
Excitation table
![Page 25: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/25.jpg)
25
Let’s implement our free running 2-bit counter using T-flip flops
id Q1(t) Q0(t) T1(t) T0(t) Q1(t+1) Q0(t+1)
0 0 0 0 1 0 1
1 0 1 1 1 1 0
2 1 0 0 1 1 1
3 1 1 1 1 0 0
Excitation table
T0(t) =
T1(t) =
Q0(t+1) = T0(t) Q’0(t)+T’0(t)Q0(t)
Q1(t+1) = T1(t) Q’1(t)+T’1(t)Q1(t)
![Page 26: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/26.jpg)
26
Let’s implement our free running 2-bit counter using T-flip flops
id Q1(t) Q0(t) T1(t) T0(t) Q1(t+1) Q0(t+1)
0 0 0 0 1 0 1
1 0 1 1 1 1 0
2 1 0 0 1 1 1
3 1 1 1 1 0 0
Excitation table
T0(t) = 1
T1(t) = Q0(t)
![Page 27: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/27.jpg)
27
T Q
Q’
T Q
Q’
Q0
Q1
1
T1
Free running counter with T flip flops
T0(t) = 1
T1(t) = Q0(t)
![Page 28: CSE 140: Components and Design Techniques for Digital ...cseweb.ucsd.edu/classes/wi16/cse140-a/slides/lec9note.pdf · Techniques for Digital Systems Lecture 9: Sequential Networks:](https://reader033.vdocuments.site/reader033/viewer/2022060213/5f05679a7e708231d412cc17/html5/thumbnails/28.jpg)
Summary: Implementation
28
• Set up canonical form
• Mealy or Moore machine
• Identify the next states
• state diagram ⇨ state table
• state assignment
• Derive excitation table
• Inputs of flip flops
• Design the combinational logic
• don’t care set utilization