In order to know the difference between a latch and a flip-flop you need to understand what they are.Ī "latch" by definition is a memory element that does not have immunity to external feedback. The two circuits are identical and are based off an SR latch.īelow is a pure SR NOR latch along with a state table and symbol.īy adding additional logic a D-latch is created. Neither of the pictures you posted are flip-flops, they are gated D-latches drawn differently. Notice however that in the symbol of a flip-flop you'll find a small "beak" at the clock pin to denote a edge-triggered input. Since these circuits are usually "bulky" when draw, they are, unfortunately, often omitted, resulting in the "same" schematic for both flip-flops and latches. So you may have inadvertently searched for the same device.įrom a block-level perspective both the D-latch and the D-flip-flop are the same, but in the latter the CLK signal is edge-triggered.Ī special circuit must be uses to detect edges (an example is here or in the Wikipedia page). If the input is allowed to change the output only on the rising or falling edge of a control signal (denoted with CLK) then the device is called flip-flop (Some author uses the term edge-triggered flip-flop). If the input is allowed to change the output when a control signal (typically denoted E but sometime confusingly labelled as CLK) is held at a particular level (high or low), the device is called simple opaque latch (Some author uses the term level-triggered clocked flip-flop). If the input is always allow to change the output the device is called a simple transparent latch (Some author uses the term level-triggered flip-flop). The important aspect to consider is how the input is allowed to change the output. It's hard to find consistent terminology in the literature because the usage of the term flip-flop and latch has changed over time.