Lo que aprenderás

  • Recognize the D latch as a single-data-input memory element.
  • Understand how the D latch eliminates the SR latch's forbidden state.
  • Distinguish transparent mode (enable = 1, Q follows D) from hold mode (enable = 0, Q frozen).
  • Connect the D latch's structure to its underlying SR latch.
  • Identify D latches as the simplest building block for registers.

Cómo funciona

A D latch ('Data latch' or 'Delay latch') solves the SR latch's forbidden-state problem by replacing two control inputs (S, R) with a single data input D plus an enable. When enable is high, Q = D (transparent mode); when enable is low, Q holds its last value (latched).

Internal construction: D feeds an inverter; D and ¬D become the S and R inputs of an underlying SR latch. With this wiring, S and R are always opposites — the forbidden state (S=R=1) cannot be reached. Hence the D latch is safer for general use.

In this 'basic' version (no clock), the enable is implicit — the latch is always transparent: whatever D is, Q reflects it. To make the latch actually store a value, you need an enable that can go low to freeze the state. That's the next template (D Latch with Clock).

The D latch is the building block of every register: store one bit per latch, fan in N latches for N-bit storage. Modern flip-flops (edge-triggered) refine this further — they sample only on a clock edge instead of being continuously transparent.

Tabla de verdad

Basic D latch (always transparent, no enable). Q always equals D.

Entradas Salida
D Q¬Q
0 01 D=0 → Q=0
1 10 D=1 → Q=1

Expresión booleana

Q=DQ = D

Transparent latch: output follows input directly. The SR forbidden state is impossible because S and R are derived from D and ¬D — never both high.

Pruébalo paso a paso

Configura las entradas en la simulación de arriba, lee qué debería suceder y verifícalo.

  1. 1
    D = 0
    Esperado: Q = 0, ¬Q = 1
    Lo que verás: D = 0 → Q = 0 immediately. The latch is always transparent (no clock to gate it).
  2. 2
    D = 1
    Esperado: Q = 1, ¬Q = 0
    Lo que verás: D = 1 → Q = 1. Output follows input with only gate-propagation delay.

Componentes utilizados

Aplicaciones en el mundo real

Latched outputs of decoders. Address decoders sometimes feed latched outputs so glitchy address transitions don't propagate as multiple chip-select pulses.

Pipelined processor stages. Older pipelined CPUs used D latches between stages to hold values for the next clock; modern CPUs use edge-triggered flip-flops instead.

Configuration register storage. Configuration bits set during initialization can use D latches with a one-time enable pulse to freeze the value.

Holding peripheral data. A peripheral whose output bus is read once per cycle can use D latches with the bus-strobe as enable.

Educational stepping stone. D latches are introduced before D flip-flops because they're simpler internally — once you understand transparency vs. holding, edge triggering follows naturally.

Preguntas frecuentes

Why is this called a latch if it doesn't actually latch?
Without an enable, the basic D latch is always transparent — it doesn't truly latch a value. The 'D Latch with Clock' template adds the enable input that gives this circuit memory. The 'basic' version exists to introduce the D latch's internal structure before adding control.
How does this eliminate SR's forbidden state?
The D input and its inverse (D, ¬D) are the underlying S and R. Since S = D and R = ¬D, they're always opposites — never both high. So the forbidden S=R=1 state is structurally unreachable.
What's the practical difference between this and a buffer?
In transparent-only mode, none — both implement Y = D. The D latch's value comes when you add an enable: it can switch to hold mode and remember D's value. A buffer never holds; it always passes through.
Why include both Q and ¬Q outputs?
Symmetry from the underlying SR latch. Many circuits want both polarities — saves an external inverter. ¬Q is also called Q-bar or Q-prime in textbooks.
How does this scale to multi-bit storage?
Replicate. An N-bit register is N D latches in parallel, all sharing the same enable signal. Each latch stores one bit independently. This is the building block of every CPU register file.

Sigue aprendiendo