- Asked 2/22
- 2078 Bhadra · 6 marks
- 2074 Chaitra · 6 marks
3-bit asynchronous up/down counter
Short answer
Use negative-edge JK flip-flops with J=K=1. For up counting (M=1) clock each stage from Q of the previous; for down counting (M=0) clock from Q'. Mode M selects the clock source through AND-OR gates.
Explain the operation of 3 bit Asynchronous up/down counter with timing diagram.
An asynchronous up/down counter is a ripple counter that can count either upward (0, 1, 2, …, 7) or downward (7, 6, …, 0) depending on a mode control input M. Only the first flip-flop gets the external clock; each later flip-flop is clocked by the previous stage.
Principle
For negative-edge triggered JK flip-flops with (toggle mode):
- Up count: the next flip-flop must toggle when the previous output goes , so it is clocked from .
- Down count: the next flip-flop must toggle when the previous output goes , i.e. when goes , so it is clocked from .
A 2-input AND-OR (or MUX) between stages selects or :
M = 1 gives up counting, M = 0 gives down counting.
Circuit
M=1: UP M=0: DOWN (all J = K = 1)
+-----+ Q0 --[AND]--+
CLK --o| FF0 | M +--[OR]--> CLK of FF1
+-----+ Q0' --[AND]--+
M'
+-----+ Q1 --[AND]--+
... -o| FF1 | M +--[OR]--> CLK of FF2
+-----+ Q1' --[AND]--+
M'
Outputs (Q0 = LSB) give the count.
Operation
- M = 1 (up): FF0 toggles on every falling clock edge. When falls from 1 to 0, FF1 toggles; when falls, FF2 toggles. Sequence: 000, 001, 010, …, 111, 000.
- M = 0 (down): FF1 toggles when rises (its falls), and FF2 toggles when rises. Sequence: 000, 111, 110, …, 001, 000.
Timing diagram: up mode (M = 1)
CLK __|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾
Q2 ________________|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|___
Q1 ________|‾‾‾‾‾‾‾|_______|‾‾‾‾‾‾‾|___
Q0 ____|‾‾‾|___|‾‾‾|___|‾‾‾|___|‾‾‾|___
Cnt 0 1 2 3 4 5 6 7 0
Timing diagram: down mode (M = 0)
CLK __|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾
Q2 ____|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|_______________
Q1 ____|‾‾‾‾‾‾‾|_______|‾‾‾‾‾‾‾|_______
Q0 ____|‾‾‾|___|‾‾‾|___|‾‾‾|___|‾‾‾|___
Cnt 0 7 6 5 4 3 2 1 0
Points to note
- Each stage waits for the previous one, so the total delay is and short false states appear during transitions.
- The mode M should be changed only when the clock is steady; switching M can create an extra edge at the next stage and give a wrong count.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- 4-bit asynchronous down counter · Digital Logic, chapter 8
- Sync vs async; 3-bit synchronous down counter · Digital Logic, chapter 8
- Asynchronous mod-12 down counter · Digital Logic, chapter 8
- Sync vs async; 3-bit synchronous up counter (T) · Digital Logic, chapter 8
- Asynchronous mod-12 up counter, positive edge · Digital Logic, chapter 8 · asked 3×
- Ripple counter; asynchronous mod-11 up counter · Digital Logic, chapter 8
- Structural modelling; 3-bit up counter · Embedded System, chapter 9
- 8255 mode 2 operation with timing diagram · Instrumentation II, chapter 2
- Synchronous/asynchronous bus; LXI timing · Microprocessor, chapter 2 · asked 2×
- Count up/down and tracking type ADC · Advanced Electronics, chapter 3