Vdocuments - MX - Cascading Asynchronous Counters Svbit Svbitecwordpresscom 3 Cascading Asynchronous
Vdocuments - MX - Cascading Asynchronous Counters Svbit Svbitecwordpresscom 3 Cascading Asynchronous
Q0 Q1 Q2 Q3 Q4
J Q J Q J Q J Q J Q
CLK C C C C C
Q' K Q' Q' K Q' K Q'
K K
svbitec.wordpress.com 1
Cascading Asynchronous Counters
Example: A 6-bit binary counter (counts from 0 to
63) constructed from two 3-bit counters.
A0 A1 A2 A3 A4 A5
A5 A4 A3 A2 A1 A0
0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 : : :
0 0 0 1 1 1
0 0 1 0 0 0
0 0 1 0 0 1
: : : : : :
svbitec.wordpress.com 2
Cascading Asynchronous Counters
If counter is a not a binary counter, requires
additional output.
Example: A modulus-100 counter using two decade
counters.
freq/10
1 CTEN Decade CTEN Decade freq/100
counter TC counter TC
CLK C Q3 Q2 Q1 Q0 C Q3 Q2 Q1 Q0
freq
svbitec.wordpress.com 3
Synchronous (Parallel) Counters
Synchronous (parallel) counters: the flip-flops are
clocked at the same time by a common clock pulse.
We can design these counters using the sequential
logic design process.
Example: 2-bit synchronous binary counter (using T
flip-flops, or JK flip-flops with identical J,K inputs).
Present Next Flip-flop
state state inputs
00 01 A1 A0 A1+ A0+ TA1 TA0
0 0 0 1 0 1
11 10 0 1 1 0 1 1
1 0 1 1 0 1
1 1 0 0 1 1
svbitec.wordpress.com 4
Synchronous (Parallel) Counters
Example: 2-bit synchronous binary counter (using T
flip-flops, or JK flip-flops with identical J,K inputs).
Present Next Flip-flop
state state inputs
A1 A0 A1+ A0+ TA1 TA0 TA1 = A0
0 0 0 1 0 1
0 1 1 0 1 1 TA0 = 1
1 0 1 1 0 1
1 1 0 0 1 1
A0 J A1
J Q Q
C C
Q' K Q'
K
CLK
svbitec.wordpress.com 5
Synchronous (Parallel) Counters
Example: 3-bit synchronous binary counter (using T
flip-flops, or JK flip-flops with identical J, K inputs).
Present Next Flip-flop
state state inputs
A2 A1 A0 A2+ A1+ A0+ TA2 TA1 TA0
0 0 0 0 0 1 0 0 1
0 0 1 0 1 0 0 1 1
0 1 0 0 1 1 0 0 1
0 1 1 1 0 0 1 1 1
1 0 0 1 0 1 0 0 1
1 0 1 1 1 0 0 1 1
1 1 0 1 1 1 0 0 1
1 1 1 0 0 0 1 1 1
A1 A1 A1
1 1 1 1 1 1 1
A2 1 A2 1 1 A2 1 1 1 1
A0 A0 A0
TA2 = A1.A0 TA1 = A0 TA0 = 1
svbitec.wordpress.com 6
Synchronous (Parallel) Counters
Example: 3-bit synchronous binary counter (cont’d).
TA2 = A1.A0 TA1 = A0 TA0 = 1
A2 A1 A0
Q Q Q
J K J K J K
CP
1
svbitec.wordpress.com 7
Synchronous (Parallel) Counters
Note that in a binary counter, the nth bit (shown
underlined) is always complemented whenever
011…11 100…00
or 111…11 000…00
Hence, Xn is complemented whenever
Xn-1Xn-2 ... X1X0 = 11…11.
As a result, if T flip-flops are used, then
TXn = Xn-1 . Xn-2 . ... . X1 . X0
svbitec.wordpress.com 8
Synchronous (Parallel) Counters
Example: 4-bit synchronous binary counter.
TA3 = A2 . A1 . A0
TA2 = A1 . A0
TA1 = A0
TA0 = 1
1 A1.A0 A2.A1.A0
A0 J A1 J A2 J A3
J Q Q Q Q
C C C C
Q' K Q' K Q' K Q'
K
CLK
svbitec.wordpress.com 9
Synchronous (Parallel) Counters
Example: Synchronous decade/BCD counter.
Clock pulse Q3 Q2 Q1 Q0
Initially 0 0 0 0
1 0 0 0 1 T0 = 1
2 0 0 1 0
3 0 0 1 1 T1 = Q3'.Q0
4 0 1 0 0
5 0 1 0 1 T2 = Q1.Q0
6 0 1 1 0
7 0 1 1 1 T3 = Q2.Q1.Q0 + Q3.Q0
8 1 0 0 0
9 1 0 0 1
10 (recycle) 0 0 0 0
svbitec.wordpress.com 10
Synchronous (Parallel) Counters
Example: Synchronous decade/BCD counter
(cont’d).
T0 = 1
T1 = Q3'.Q0
T2 = Q1.Q0
T3 = Q2.Q1.Q0 + Q3.Q0
Q0
1 T T Q1 T Q2 T Q3
Q Q Q Q
C C C C
Q' Q' Q' Q'
CLK
svbitec.wordpress.com 11
Up/Down Synchronous Counters
Up/down synchronous counter: a bidirectional
counter that is capable of counting either up or
down.
An input (control) line Up/Down (or simply Up)
specifies the direction of counting.
Up/Down = 1 Count upward
Up/Down = 0 Count downward
svbitec.wordpress.com 12
Up/Down Synchronous Counters
Example: A 3-bit up/down synchronous binary
counter.
Clock pulse Up Q2 Q1 Q0 Down
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
Q0 Q1
1 T T T Q2
Q Q Q
Up C C C
Q' Q' Q'
CLK
svbitec.wordpress.com 14
Designing Synchronous Counters
Covered in Lecture #12. 000
100 001
Example: A 3-bit Gray code
101 011
counter (using JK flip-flops).
111 010
110
Present Next Flip-flop
state state inputs
Q2 Q1 Q0 Q2+ Q1+ Q0+ JQ2 KQ2 JQ1 KQ1 JQ0 KQ0
0 0 0 0 0 1 0 X 0 X 1 X
0 0 1 0 1 1 0 X 1 X X 0
0 1 0 1 1 0 1 X X 0 0 X
0 1 1 0 1 0 0 X X 0 X 1
1 0 0 0 0 0 X 1 0 X 0 X
1 0 1 1 0 0 X 0 0 X X 1
1 1 0 1 1 1 X 0 X 0 1 X
1 1 1 1 0 1 X 0 X 1 X 0
svbitec.wordpress.com 15
Designing Synchronous Counters
3-bit Gray code counter: flip-flop inputs.
svbitec.wordpress.com 16
Designing Synchronous Counters
3-bit Gray code counter: logic diagram.
JQ2 = Q1.Q0' JQ1 = Q2'.Q0 JQ0 = (Q2 Q1)'
KQ2 = Q1'.Q0' KQ1 = Q2.Q0 KQ0 = Q2 Q1
Q0 Q1 Q2
J Q J Q J Q
C C C
Q1 Q2
K Q' K Q' ' K Q' '
Q0
'
CLK
svbitec.wordpress.com 17