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

Gated Ring Oscillator

MediumLogic CircuitBuild

Localized high-frequency clock generation for charge pumps and timing loops relies on ring oscillators. Uncontrolled oscillators burn static power and cause simulation deadlocks. A gated ring oscillator solves this by allowing a control signal to start and stop the oscillation cleanly.

Construct a 3-stage ring oscillator that can be disabled. Replace one inverter in a standard 3-stage ring with a 2-input NAND gate. Connect the en signal to one input of the NAND gate. Tap the output of the final stage (the signal feeding back into the NAND gate) to drive clk_out.

| en | clk_out | |------|-----------| | 0 | 1 | | 1 | Oscillating |

Constraints

  • Use exactly one 2-input NAND gate and two NOT gates.
  • Form a single continuous combinational loop.
  • Do not use external clock sources or flip-flops.

Topics

asynchronousoscillatorsclocks

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