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

4-Bit Synchronous Binary Counter: Carry Chain Derivation

EasyLogic CircuitBuild

Program counters, timers, and frequency dividers rely on synchronized state transitions to maintain precise timing. A synchronous binary counter updates all bits simultaneously by sharing a common clock edge, requiring combinational logic to determine when each bit should toggle.

Implement a 4-bit synchronous up-counter using T flip-flops. The outputs Q3, Q2, Q1, and Q0 represent the 4-bit binary value, where Q0 is the least significant bit. The counter must increment by one on every active high edge of clk. A reset signal rst forces all outputs to 0 asynchronously. Derive the toggle expressions T3, T2, T1, and T0 for each bit based on the current state of the lower-order bits.

| Q3 | Q2 | Q1 | Q0 | T3 | T2 | T1 | T0 | |------|------|------|------|------|------|------|------| | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 | | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |

Constraints

  • Use exactly four T-type flip-flops.
  • Connect all flip-flop clock pins to the single clk input.
  • Derive the toggle inputs T0, T1, T2, and T3 using only AND gates.
  • Connect rst to the asynchronous reset pin of every flip-flop.

Topics

SynchronousCountersT-Flip-Flop

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