Download presentation
Presentation is loading. Please wait.
1
Instructor: Alexander Stoytchev
CprE 281: Digital Logic Instructor: Alexander Stoytchev
2
(Using the Sequential Circuit Approach)
Designing a Counter (Using the Sequential Circuit Approach) CprE 281: Digital Logic Iowa State University, Ames, IA Copyright © Alexander Stoytchev
3
Example: Implement a modulo-8 counter
4
Mini Review
5
Asynchronous Counters
6
A three-bit up-counter
[ Figure 5.19 from the textbook ]
7
A three-bit up-counter
The first flip-flop changes on the positive edge of the clock [ Figure 5.19 from the textbook ]
8
A three-bit up-counter
The first flip-flop changes on the positive edge of the clock The second flip-flop changes on the positive edge of Q0 [ Figure 5.19 from the textbook ]
9
A three-bit up-counter
The first flip-flop changes on the positive edge of the clock The second flip-flop changes on the positive edge of Q0 The third flip-flop changes on the positive edge of Q1 [ Figure 5.19 from the textbook ]
10
A three-bit up-counter
Q Clock 1 2 (a) Circuit Count 3 4 5 6 7 (b) Timing diagram [ Figure 5.19 from the textbook ]
11
A three-bit up-counter
Q Clock 1 2 (a) Circuit Count 3 4 5 6 7 (b) Timing diagram The propagation delays get longer [ Figure 5.19 from the textbook ]
12
A three-bit down-counter
[ Figure 5.20 from the textbook ]
13
A three-bit down-counter
Q Clock 1 2 (a) Circuit Count 7 6 5 4 3 (b) Timing diagram [ Figure 5.20 from the textbook ]
14
A three-bit down-counter
Q Clock 1 2 (a) Circuit Count 7 6 5 4 3 (b) Timing diagram The propagation delays get longer [ Figure 5.20 from the textbook ]
15
Synchronous Counters
16
A four-bit synchronous up-counter
[ Figure 5.21 from the textbook ]
17
A four-bit synchronous up-counter
The propagation delay through all AND gates combined must not exceed the clock period minus the setup time for the flip-flops [ Figure 5.21 from the textbook ]
18
A four-bit synchronous up-counter
Q Clock 1 2 (a) Circuit Count 3 5 9 12 14 (b) Timing diagram 4 6 8 7 10 11 13 15 [ Figure 5.21 from the textbook ]
19
Derivation of the synchronous up-counter
1 2 3 4 5 6 7 Clock cycle 8 Q changes [ Table 5.1 from the textbook ]
20
Derivation of the synchronous up-counter
1 2 3 4 5 6 7 Clock cycle 8 Q changes T0= 1 T1 = Q0 T2 = Q0 Q1 [ Table 5.1 from the textbook ]
21
A four-bit synchronous up-counter
T1 = Q0 T2 = Q0 Q1 [ Figure 5.21 from the textbook ]
22
In general we have T0= 1 T1 = Q0 T2 = Q0 Q1 T3 = Q0 Q1 Q2 …
Tn = Q0 Q1 Q2 …Qn-1
23
Inclusion of Enable and Clear capability
Q Clock Enable Clear_n [ Figure 5.22 from the textbook ]
24
Inclusion of Enable and Clear capability
This is the new thing relative to the previous figure, plus the clear_n line T Q Clock Enable Clear_n [ Figure 5.22 from the textbook ]
25
T Flip-Flop [ Figure 5.15a from the textbook ]
26
Positive-edge-triggered
T Flip-Flop Positive-edge-triggered D Flip-Flop [ Figure 5.15a from the textbook ]
27
T Flip-Flop 2-to-1 multiplexer [ Figure 5.15a from the textbook ]
28
2-to-1 Multiplexer Q T D
29
What is this? Q T D + = ?
30
T Flip-Flop T D Q 1 Clock
31
T Flip-Flop D Q Q T Q Q Clock
32
T Flip-Flop D Q Q T Q Q Clock
33
T Flip-Flop D Q Q T Q Q Clock
34
These two circuits are equivalent
35
What is this? Q T D
36
What is this? Q T D D = QT + QT
37
What is this? Q T D D = Q + T
38
What is this? D Q T D = Q + T
39
What is this? + = ?
40
T Flip-Flop T D Q Clock
41
Synchronous Counter with D Flip-Flops
42
A three-bit up-counter with T flip-flops
Q Clock Enable
43
A three-bit up-counter with D flip-flops
Q Clock
44
A three-bit up-counter with D flip-flops
Q Clock Enable
45
A three-bit up-counter with D flip-flops
Q Clock Enable
46
A four-bit up-counter with T flip-flops
Q Clock Enable [ Figure 5.22 from the textbook (Modified) ]
47
A four-bit up-counter with D flip-flops
[ Figure 5.23 from the textbook ]
48
End of Mini Review
49
Goal Implement a modulo-8 counter using the sequential circuit approach In other words, the counting sequence must be 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, … The count changes based on the input signal w: If w=0, then the count remains the same If w=1, then the count is advanced by one
50
State diagram for the counter
w = 1 A/0 B/1 C/2 D/3 E/4 F/5 G/6 H/7 [ Figure 6.60 from the textbook ]
51
State table for the counter
Present Next state Output state w = 1 A B C D 2 E 3 F 4 G 5 H 6 7 [ Figure 6.61 from the textbook ]
52
State-assigned table for the counter
Present Next state state w = 1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H [ Figure 6.62 from the textbook ]
53
K-map for Y0 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 y 1 wy 2
54
K-map for Y0 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 y 1 wy 2
55
K-map for Y0 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 1 y wy 2
56
K-map for Y0 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 1 y wy 2 Y + =
57
K-map for Y1 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 y 1 wy 2
58
K-map for Y1 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 y 1 wy 2
59
K-map for Y1 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 1 y wy 2
60
K-map for Y1 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 1 y wy 2 Y + =
61
K-map for Y2 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 y 1 wy 2
62
K-map for Y2 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 y 1 wy 2
63
K-map for Y2 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 1 y wy 2
64
K-map for Y2 Present Next state state w = 1 Count y Y z A 000 001 B
1 Count y 2 Y z A 000 001 B 010 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 1 y wy 2
65
Karnaugh maps for D flip-flops for the counter
00 01 11 10 1 y wy 2 Y + = 00 01 11 10 1 y wy 2 Y + = 00 01 11 10 1 y wy 2 Y = wy + y y + y y + w y y y 2 2 2 1 2 1 2 [ Figure 6.63 from the textbook ]
66
Circuit diagram for the counter implemented with D flip-flops
[ Figure 6.64 from the textbook ]
67
Circuit diagram for the counter What is this? implemented
with D flip-flops What is this? [ Figure 6.64 from the textbook ]
68
Circuit diagram for the counter XOR implemented with D flip-flops
[ Figure 6.64 from the textbook ]
69
We can simplify all three expressions
70
We can simplify all three expressions
71
A three-bit counter with D flip-flops
Q Clock Enable
72
A four-bit counter with D flip-flops
[ Figure 5.23 from the textbook ]
73
Summary The up-counters that we studied in Chapter 5 can now be derived using the sequential circuit approach We get the same circuit diagrams as before
74
Example 2: Implement a modulo-8 counter using JK Flip-Flops
75
JK Flip-Flop D = JQ + KQ [ Figure 5.16a from the textbook ]
76
JK Flip-Flop ( ) (b) Truth table (c) Graphical symbol (a) Circuit J Q
1 t + ( ) (b) Truth table (c) Graphical symbol D Clock (a) Circuit [ Figure 5.16 from the textbook ]
77
JK Flip-Flop (How it Works)
A versatile circuit that can be used both as a SR flip-flop and as a T flip flop If J=0 and S =0 it stays in the same state Just like SR It can be set and reset J=S and K=R If J=K then it behaves as a T flip-flop
78
Rules for J and K inputs Current State Next State of the Flip-flop
From 0 to 0 J=0 and K= d From 0 to 1 J=1 and K= d From 1 to 0 J=d and K= 1 From 1 to 1 J=d and K= 0
79
Excitation table for the counter with JK flip-flops
Present Flip-flop inputs state w = 1 Count y 2 Y J K z A 000 0d 001 1d B d0 010 d1 C 011 D 100 E 101 F 110 G 111 H [ Figure 6.65 from the textbook ]
80
Karnaugh maps for the first JK flip-flop
Present Flip-flop inputs state w = 1 Count y 2 Y J K z A 000 0d 001 1d B d0 010 d1 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 y 1 wy 2
81
Karnaugh maps for the first JK flip-flop
Present Flip-flop inputs state w = 1 Count y 2 Y J K z A 000 0d 001 1d B d0 010 d1 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 y 1 wy 2 J0 K0
82
Karnaugh maps for the first JK flip-flop
Present Flip-flop inputs state w = 1 Count y 2 Y J K z A 000 0d 001 1d B d0 010 d1 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 y 1 wy 2 J0 K0
83
Karnaugh maps for the first JK flip-flop
Present Flip-flop inputs state w = 1 Count y 2 Y J K z A 000 0d 001 1d B d0 010 d1 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 d 1 y wy 2 J0 K0
84
Karnaugh maps for the first JK flip-flop
Present Flip-flop inputs state w = 1 Count y 2 Y J K z A 000 0d 001 1d B d0 010 d1 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 d 1 y wy 2 J0 K0
85
Karnaugh maps for the first JK flip-flop
Present Flip-flop inputs state w = 1 Count y 2 Y J K z A 000 0d 001 1d B d0 010 d1 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 d 1 y wy 2 J0 K0
86
Karnaugh maps for the first JK flip-flop
Present Flip-flop inputs state w = 1 Count y 2 Y J K z A 000 0d 001 1d B d0 010 d1 C 011 D 100 E 101 F 110 G 111 H 00 01 11 10 d 1 y wy 2 J w = K J0 K0
87
Karnaugh maps for the first JK flip-flop
00 01 11 10 d 1 y wy 2 J w = K J0 K0 [ Figure 6.66 from the textbook ]
88
Karnaugh maps for the second JK flip-flop
00 01 11 10 d 1 y wy 2 J = K J1 K1 [ Figure 6.66 from the textbook ]
89
Karnaugh maps for the third JK flip-flop
00 01 11 10 d 1 y wy 2 J = K J2 K2 [ Figure 6.66 from the textbook ]
90
Circuit diagram using JK flip-flops
91
Circuit diagram using JK flip-flops
[ Figure 6.67 from the textbook ]
92
Factored-form implementation of the counter
[ Figure 6.68 from the textbook ]
93
Another Example (A Different “Counter”)
94
Goal Implement a 3-bit counter using the sequential circuit approach that counts the pulses on the input line w. The counter must count in the following sequence: 0, 4, 2, 6, 1, 5, 3, 7, 0, 4, 2, … The count must be represented directly by the flip-flop values. No extra gates are allowed. In other words, count = Q2 Q1 Q0 The count changes based on the input signal w: If w=0, then the count remains the same If w=1, then the count is advanced by one
95
Goal Implement a 3-bit counter using the sequential circuit approach that counts the pulses on the input line w. The counter must count in the following sequence: 0, 4, 2, 6, 1, 5, 3, 7, 0, 4, 2, … The count must be represented directly by the flip-flop values. No extra gates are allowed. In other words, count = Q2 Q1 Q0 The count changes based on the input signal w: If w=0, then the count remains the same If w=1, then the count is advanced by one Clock = w
96
By flipping the order of the bits we get
000 001 010 011 100 101 110 111 000 100 010 110 001 101 011 111
97
By flipping the order of the bits we get
1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 000 100 010 110 001 101 011 111 4 2 6 1 5 3 7
98
State table for the counterlike example
Present Next Output state z 2 1 A B 000 C 100 D 010 E 110 F 001 G 101 H 011 111 [ Figure 6.69 from the textbook ]
99
State-assigned table for this example
Present Next Output state state y y y Y Y Y z z z 2 1 2 1 2 1 000 1 00 00 100 10 1 00 010 1 10 10 110 01 1 10 001 1 01 01 101 11 1 01 011 1 11 11 111 00 1 11 [ Figure 6.70 from the textbook ]
100
K-maps for Y2, Y1, and Y0 Present Next Output state y Y z 000 00 100
Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10
101
K-maps for Y2, Y1, and Y0 Notice that these are scrambled Present Next
Output state y 2 1 Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10 Notice that these are scrambled
102
K-maps for Y2, Y1, and Y0 Notice that these are scrambled Present Next
Output state y 2 1 Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10 Notice that these are scrambled
103
K-map for Y2 Present Next Output state y Y z 000 00 100 10 010 110 01
Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10
104
K-map for Y2 Present Next Output state y Y z 000 00 100 10 010 110 01
Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10
105
K-map for Y2 Present Next Output state y Y z 000 00 100 10 010 110 01
Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10
106
K-map for Y2 Y2= y2 Present Next Output state y Y z 000 00 100 10 010
Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10 Y2= y2
107
K-map for Y1 Present Next Output state y Y z 000 00 100 10 010 110 01
2 1 Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10
108
K-map for Y1 Present Next Output state y Y z 000 00 100 10 010 110 01
2 1 Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10
109
K-map for Y1 Present Next Output state y Y z 000 00 100 10 010 110 01
2 1 Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10
110
K-map for Y1 Y1= y2y1 + y2 y1 XOR Present Next Output state y Y z 000
Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10 Y1= y2y1 + y2 y1 XOR
111
K-map for Y0 Present Next Output state y Y z 000 00 100 10 010 110 01
2 1 Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10
112
K-map for Y0 Present Next Output state y Y z 000 00 100 10 010 110 01
2 1 Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10 1
113
K-map for Y0 Y0= y1y0 + y2 y0 + y2 y1 y0 Present Next Output state y Y
Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10 1 Y0= y1y0 + y2 y0 + y2 y1 y0
114
K-map for Y0 Y0= y1y0 + y2 y0 + y2 y1 y0 = ( y1 + y2 ) y0 + y2 y1 y0
Present Next Output state y 2 1 Y z 000 00 100 10 010 110 01 001 101 11 011 111 y 1 2 00 01 11 10 1 Y0= y1y0 + y2 y0 + y2 y1 y0 = ( y1 + y2 ) y0 + y2 y1 y0 = ( y1 y2 ) y0 + (y2 y1) y0 = ( y1 y2 ) + y0
115
Let’s Draw the Circuit for this example
Q z 1 2 w
116
Let’s Draw the Circuit for this example
Q z 1 2 w Y2= y2 Y1 = y1 + y2 Y0 = ( y1 y2 ) + y0
117
The Circuit for this example
D Q z 1 2 w Y2= y2 Y1 = y1 + y2 Y0 = ( y1 y2 ) + y0 [ Figure 6.71 from the textbook ]
118
Questions?
119
THE END
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.