Flip-Flop (FF) and Latch are digital electronic circuits that are used to store information in bits as they have two stable states. One FF or latch can store 1 bit of information. FF is a circuit that can be made to change its state by applying signals to one or more control inputs and will have one or two outputs.
Both latches and FF are the building blocks of sequential circuits (which use memory elements because their output depend both on present inputs as well as past output). There are four types of flip-flops and latches: D (Data or Delay), T (Toggle), SR (Set-Reset) and JK (Jack-Kilby).
One of the most frequent but confusing question that we face during viva and interviews is the difference between a latch and a flip-flop. Now, let’s make the answer easy to understand by tabulating some simple & important differences between latch and Flip-Flop.
|The state of circuit changes only when the control signal goes from high to low or low to high (i.e. sensitive to signal change only).||Changes state as soon as the input signals change (of course there is some propagation delay).|
|Edge triggered which means that the output of the circuit changes when there is a change in clock pulse (it may be a positive or negative edge of the clock pulse).||Level triggered which means that the output of the circuit depends on the level of the enable signal (either 1 or 0).|
|Built from latches (a FF is like a clocked latch). FF is used as a register.||Built from logic gates.|
|Works on clock pulses||Works on enable function input|
|Has a clock signal||Does not have a clock signal|
|Edge sensitive i.e. content of FF change only either at the rising or falling edge of the enable signal (usually the controlling clock signal). After the rising or falling edge of the clock signal, the content of FF remains constant even if the input changes.||Level sensitive i.e. content of latch changes immediately when there is a change in its inputs. Output is sensitive for the duration of enable signal active pulse and thus, can transmit or receive data during the active pulse only.|
|Sampling of the inputs is done only at a clock event for example, rising edge, falling edge.||Sampling of the inputs is done continuously only when the enable signal is on.|
Hope the above points would now help you to clearly differentiate between a latch and a flip-flop.