- Asked 2/22
- 2076 Chaitra · 8 marks
- 2072 Chaitra · 7 marks
3-bit Gray code synchronous counter
Short answer
A 3-bit Gray code synchronous counter uses 3 JK flip-flops with a common clock. The sequence is 000→001→011→010→110→111→101→100→000. Input equations: J2=Q1Q0', K2=Q1'Q0'; J1=Q2'Q0, K1=Q2Q0; J0=XNOR(Q2,Q1), K0=XOR(Q2,Q1).
Design and draw the circuit diagram of a 3 bit gray code synchronous counter.
A 3-bit Gray code counter steps through the 3-bit Gray sequence, in which only one bit changes between successive counts: 000 → 001 → 011 → 010 → 110 → 111 → 101 → 100 → 000. A synchronous design with JK flip-flops is given below.
Step 1: Flip-flops
8 states, so 3 JK flip-flops () with a common clock. No unused states.
JK excitation: 0→0: J=0, K=X; 0→1: J=1, K=X; 1→0: J=X, K=1; 1→1: J=X, K=0.
Step 2: Excitation table
| 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 | 010 | 0 | X | X | 0 | X | 1 |
| 010 | 110 | 1 | X | X | 0 | 0 | X |
| 110 | 111 | X | 0 | X | 0 | 1 | X |
| 111 | 101 | X | 0 | X | 1 | X | 0 |
| 101 | 100 | X | 0 | 0 | X | X | 1 |
| 100 | 000 | X | 1 | 0 | X | 0 | X |
Step 3: K-maps
| J0: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 1 | X | X | 0 |
| 1 | 0 | X | X | 1 |
| K0: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | X | 0 | 1 | X |
| 1 | X | 1 | 0 | X |
| J1: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 1 | X | X |
| 1 | 0 | 0 | X | X |
| K1: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | X | X | 0 | 0 |
| 1 | X | X | 1 | 0 |
| J2: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 |
| 1 | X | X | X | X |
| K2: Q2 / Q1Q0 | 00 | 01 | 11 | 10 |
|---|---|---|---|---|
| 0 | X | X | X | X |
| 1 | 1 | 0 | 0 | 0 |
Step 4: Equations
So (XNOR) and (XOR).
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 = XNOR(Q2,Q1) K0 = XOR(Q2,Q1)
J1 = Q2'.Q0 K1 = Q2.Q0
J2 = Q1.Q0' K2 = Q1'.Q0'
Gates needed: one XOR, one XNOR (or XOR + NOT) and four 2-input AND gates.
Step 6: Timing diagram
CLK __|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾|_|‾
Q2 ________________|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|___
Q1 ________|‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾|___________
Q0 ____|‾‾‾‾‾‾‾|_______|‾‾‾‾‾‾‾|_______
Cnt 000 001 011 010 110 111 101 100 000
Only one output changes at each clock edge, which is the main advantage of a Gray code counter (no decoding glitches, low noise).
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Sync vs async; 3-bit Gray code counter · Digital Logic, chapter 8
- Mod-5 Gray code synchronous up counter · Digital Logic, chapter 8
- Gray code and 3-bit binary-to-Gray converter · Digital Logic, chapter 1
- BCD code and 3-bit binary-to-Gray converter · Digital Logic, chapter 1
- Sync vs async; 3-bit synchronous down counter · Digital Logic, chapter 8
- Sync vs async; 3-bit synchronous up counter (T) · Digital Logic, chapter 8
- Structural modelling; 3-bit up counter · Embedded System, chapter 9