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

Pulse Train Counter

MediumLogic CircuitBuild

Particle detectors and frequency meters measure signal intensity by tallying discrete events over a fixed time interval.

When start is asserted, a measurement window opens for exactly 64 clk cycles. During this window, every cycle where pulse is high increments an internal counter. When the 64-cycle window closes, the circuit must assert valid and hold the accumulated count on the output until the next start signal or rst. Triggering start while a window is already open must be ignored.

Constraints

  • Use only synchronous elements clocked by the main system clk.
  • Do not route pulse to any clock pins: it must be treated as a synchronous enable signal.
  • The count output must be 7 bits wide to accommodate a maximum possible value of 64.
  • A synchronous rst must clear all internal counters and deassert valid.

Topics

countersstate-machinetimers

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