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

4-Bit Synchronous Counter with Terminal Count

MediumLogic CircuitBuild

Cascading multiple counters to form larger timers or dividers requires a clean synchronization signal. The terminal count output provides this cascade interface by signaling exactly when the counter reaches its maximum value.

Implement a 4-bit synchronous up-counter with a synchronous reset. The counter increments its 4-bit output Q on every rising edge of the clock. When rst is 1, Q resets to 0 on the next clock edge. The terminal count output TC is a combinational signal that goes high only when all bits of Q are 1.

| Q[3] | Q[2] | Q[1] | Q[0] | TC | |--------|--------|--------|--------|------| | 0 | 1 | 1 | 1 | 0 | | 1 | 0 | 1 | 1 | 0 | | 1 | 1 | 0 | 1 | 0 | | 1 | 1 | 1 | 0 | 0 | | 1 | 1 | 1 | 1 | 1 |

Constraints

  • TC must be driven by combinational logic directly from the Q outputs.
  • Do not use asynchronous resets.
  • TC must strictly be 0 for states 7, 11, and 13.

Topics

CounterCascadeSynchronousTerminal Count

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