CodiodeCodiode
Home
Problem Solving
Skill Tracks
My Assignments
Contests
Leaderboard
Community
Settings
Codiode/Problems/Sequential Logic

4-Bit Ripple Binary Counter from T Flip-Flops

EasyLogic CircuitBuild

Low-power frequency dividers and simple timing circuits often rely on asynchronous counting structures. A 4-bit ripple binary counter divides an input clock frequency by up to sixteen, utilizing cascaded toggle stages rather than a globally distributed clock network.

The circuit must increment its 4-bit value Q3, Q2, Q1, Q0 on each falling edge of the main CLK. The least significant bit Q0 toggles on the primary clock. Each subsequent bit toggles on the falling edge of the preceding stage's output. The RST signal asynchronously clears all outputs to 0.

| RST | CLK | Q3 | Q2 | Q1 | Q0 | |-------|-------|------|------|------|------| | 1 | X | 0 | 0 | 0 | 0 | | 0 | fall | 0 | 0 | 0 | 1 | | 0 | fall | 0 | 0 | 1 | 0 | | 0 | fall | 0 | 0 | 1 | 1 | | 0 | fall | 0 | 1 | 0 | 0 |

Constraints

  • Use exactly four falling-edge triggered T flip-flops.
  • Tie the T input of all flip-flops permanently to logic 1.
  • Connect the main CLK signal only to the clock input of the first flip-flop.
  • Drive the clock input of each subsequent flip-flop using the Q output of the preceding stage.

Topics

Sequential LogicAsynchronousCounters

Solve this problem

Place the gates, wire them up and watch the signals settle. Every submission runs on the same simulation engine that grades it.

This problem is part of Codiode Pro. The statement above is free to read.

Sign in to solveSee what Pro unlocks

The circuit builder and code editor need a desktop screen. On a phone, read the problem here and open it on a laptop to solve.

Related problems

  • 3-bit Ripple Counter from Toggle Flip-FlopsEasy
  • D Latch from a 2:1 MUXEasy
  • 2-bit Ring CounterEasy
  • T Flip-Flop from a D Flip-FlopEasy
  • Handshake Deadlock Due to Early ResetHard
  • Reconvergence of Individually Synchronized BitsHard
  • Debug: Asynchronous Clear GlitchHard
  • Clock Gate Enable Crossing DomainsHard

Browse all problems · Learning tracks