A gated D latch stores whatever is on its data input D, but only while its enable (EN, or E in expressions) lets it.
- EN = 1: the latch is transparent. Q follows D, live, including every change.
- EN = 0: the latch is closed. Q holds the value D had at the moment EN fell.
Picture a window. While EN = 1 the window is open and Q shows whatever D does. When EN drops, the window shuts on the last thing it saw.
Inside, it is a NOR SR latch with two AND gates in front: S = and R = . When E = 0 both are 0, so the latch holds. When E = 1, D = 1 sets and D = 0 resets. S and R can never both be 1, because one needs D = 1 and the other D = 0. So the D latch has no forbidden input.
Its characteristic equation is Q⁺ = : pass D when enabled, keep Q when not.
The D latch is level sensitive, which is its weakness. Chain two of them on the same enable and data can race through both while the enable is high. That is why clocked designs use the edge-triggered D flip-flop instead. Some latches are transparent while the enable is low, shown by a bubble on EN.
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |