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

Simple Divide by 2 Clock Generator

EasyLogic CircuitBuild

System-on-chip designs frequently require multiple clock domains operating at integer fractions of a master oscillator. The fundamental building block for all even clock dividers is a circuit that produces an output toggling at exactly half the frequency of the input clock.

The circuit receives an input clock clk and an active-high reset rst. On every positive edge of clk, the output div_clk must update according to the following state table:

| rst | div_clk (current) | div_clk (next) | |-------|---------------------|------------------| | 1 | 0 | 0 | | 1 | 1 | 0 | | 0 | 0 | 1 | | 0 | 1 | 0 |

Constraints

  • Implement the design using exactly one D flip-flop and one inverter.
  • Do not use any other logic gates or sequential elements.
  • Wire the D flip-flop to trigger on the positive edge of clk.

Topics

SequentialClockingDividers

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