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

D Latch from a 2:1 MUX

EasyLogic CircuitBuildFree

A 2:1 multiplexer with a feedback path from its output back to one of its data inputs becomes a level-sensitive D latch — one of the most elegant structural insights in digital design. This construction shows that a MUX is not merely a selector but a universal building block capable of implementing memory. FPGA architectures exploit this: Xilinx and Intel FPGA lookup tables can be configured as latches by exploiting exactly this MUX-feedback topology.

Your task is to implement a D latch using exactly one 2:1 MUX component. The behavior: when EN=1, Q follows D (the latch is transparent). When EN=0, Q holds its previous value. The MUX implements this directly: when EN=0, the MUX selects Q (the feedback input), so Q feeds back to itself and holds. When EN=1, the MUX selects D, so Q takes on D.

The circuit: connect D to MUX input I1, connect Q (the MUX output) back to MUX input I0, and connect EN as the MUX select. When SEL=0, output = I0 = Q (hold). When SEL=1, output = I1 = D (transparent).

| Signal | Direction | Width | Description | |--------|-----------|-------|-------------| | D | input | 1 | Data input: captured when EN=1 | | EN | input | 1 | Enable: when 1, Q transparently follows D; when 0, Q holds | | Q | output | 1 | Latch output |

Constraints

  • Use exactly 1 MUX 2:1 component. No other gates.
  • The feedback wire: Q output connects back to MUX input I0 (the input selected when EN=0).
  • D connects to MUX input I1 (the input selected when EN=1).
  • EN connects to the MUX select input.

Topics

sequentialmuxd-latchlevel-triggeredfeedback

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.

Free to solve. A Codiode account keeps your progress.

Sign in to solve

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

  • 2-bit Ring CounterEasy
  • 3-bit Ripple Counter from Toggle Flip-FlopsEasy
  • T Flip-Flop from a D Flip-FlopEasy
  • Debug: Asynchronous Clear GlitchHard
  • Handshake Deadlock Due to Early ResetHard
  • Reconvergence of Individually Synchronized BitsHard
  • Clock Gate Enable Crossing DomainsHard
  • FIFO Empty Logic Evaluated in Wrong DomainMedium

Browse all problems · Learning tracks