- 2079 Bhadra · 3+6 marks
Sync counter for sequence 000,001,011,111,110,100
Short answer
Asynchronous counter: only first flip-flop gets external clock, succeeding stages clocked by preceding output, causing ripple. The 6-state synchronous counter (000,001,011,111,110,100) is a Johnson ring with 3 JK flip-flops: J2=Q1Q0, K2=Q1'; J1=Q0, K1=Q0'; J0=Q2', K0=Q2. Self-starting.
What is an asynchronous counter? Design a synchronous counter with counting sequence: 000, 001, 011, 111, 110, 100, 000, ... using JK flip-flop.
Asynchronous counter
An asynchronous (ripple) counter is a counter in which the external clock is applied only to the first flip-flop, and every other flip-flop is clocked by the output of the preceding flip-flop. The flip-flops therefore change state one after another, not together. It is simple but slow, and it shows short false states while the change ripples through.
Design of the synchronous counter: 000, 001, 011, 111, 110, 100, 000 …
Step 1: 6 states, so 3 JK flip-flops () with a common clock. Unused states: 010 and 101 (don't cares).
Step 2: Excitation table (JK: 0→0: 0X, 0→1: 1X, 1→0: X1, 1→1: X0)
| Present Q2Q1Q0 | Next Q2Q1Q0 | J2 | K2 | J1 | K1 | J0 | K0 |
|---|---|---|---|---|---|---|---|
| 000 | 001 | 0 | X | 0 | X | 1 | X |
| 001 | 011 | 0 | X | 1 | X | X | 0 |
| 011 | 111 | 1 | X | X | 0 | X | 0 |
| 111 | 110 | X | 0 | X | 0 | X | 1 |
| 110 | 100 | X | 0 | X | 1 | 0 | X |
| 100 | 000 | X | 1 | 0 | X | 0 | X |
Step 3: K-maps
| J0: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 1 | X | X | X |
| 1 | 0 | X | X | 0 |
| K0: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | X | 0 | 0 | X |
| 1 | X | X | 1 | X |
| J1: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 1 | X | X |
| 1 | 0 | X | X | X |
| K1: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | X | X | 0 | X |
| 1 | X | X | 0 | 1 |
| J2: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | X |
| 1 | X | X | X | X |
| K2: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | X | X | X | X |
| 1 | 1 | X | 0 | 0 |
Step 4: Equations
The minimum groups give , but then the unused states form a closed loop 010 → 101 → 010, so a counter that powers up in 010 or 101 would never enter the sequence (lock-out). Taking the 1-cell 011 alone, , removes this problem at the cost of one AND gate:
Check of unused states (with )
| Unused state | Next state |
|---|---|
| 010 | 001 (in sequence) |
| 101 | 010 → 001 |
So the counter is self-starting.
Step 5: Circuit diagram
+-----+ +-----+ +-----+
J0>|J Q|-Q0 J1>|J Q|-Q1 J2>|J Q|-Q2
| FF0 | | FF1 | | FF2 |
K0>|K | K1>|K | K2>|K |
+--o--+ +--o--+ +--o--+
| | |
CLK---+-------------+-------------+
J0 = Q2' K0 = Q2
J1 = Q0 K1 = Q0'
J2 = Q1.Q0 K2 = Q1'
The sequence is that of a 3-bit Johnson (twisted-ring) counter: in the count, copies , copies , and takes the inverted .
Timing diagram
CLK __|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾
Q2 ____________|‾‾‾‾‾‾‾‾‾‾‾|_______
Q1 ________|‾‾‾‾‾‾‾‾‾‾‾|___________
Q0 ____|‾‾‾‾‾‾‾‾‾‾‾|___________|‾‾‾
Cnt 000 001 011 111 110 100 000 001
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Sequence detector 001 using JK flip-flops · Digital Logic, chapter 9 · asked 7×
- Sync vs async; mod-6 synchronous counter (JK) · Digital Logic, chapter 8
- Sequence detector 011 using JK flip-flops · Digital Logic, chapter 9 · asked 7×
- Sequence detector 110 using JK flip-flops · Digital Logic, chapter 9 · asked 3×
- Sequence detector 011 using RS flip-flops · Digital Logic, chapter 9
- Sync vs async; 3-bit synchronous down counter · Digital Logic, chapter 8
- JK flip-flop operation and truth table · Basic Electronics Engineering, chapter 6
- Combinational vs sequential; JK flip-flop · Basic Electronics Engineering, chapter 6
- VHDL dataflow/behavioural models; JK flip-flop · Embedded System, chapter 9
- VHDL COMPONENT; JK flip-flop with PROCESS · Embedded System, chapter 9