Latch vs Flip-Flop
Latch and flip flops are basic building blocks of sequential logic circuits, hence the memory. A sequential logic circuit is a type of digital circuit which responds not only to the present inputs, but to the present state (or past) of the circuit. In order to achieve this functionality, the circuit must be able to retain its state as binary information.
More about Latches
The basic property of a memory device is that, it should be able to retain its outputs at a fixed state until it is instructed to change. This function is provided by a bistable logic circuit. Simply put, it has two stable states; a Set state and a Reset state. By convention, the set state is considered as 1 and reset state is considered as 0. Such a circuit element is known as a latch; analogous to a mechanical device latching the objects to a fixed position.
Basic Set-Reset latch (SR latch) is the simplest form of bistable circuits. JK and D latches are two other types of latches. Their operation is conveniently expressed by a truth table. It is a tabular representation of all the possible outcomes for different input states.
A basic latch changes its value whenever correct inputs are given. This poses problems for controlling the data bit stored in the latch in a large circuit. More control to bistable circuit can be introduced by passing each input through an AND gate. By controlling the AND gate using another signal, inputs can be allowed at desirable events. This additional input is known as the Enable, and a latch configured in this manner is known as a clocked latch or a gated latch. Usually the Enable is controlled by a clock, which is a digital signal with desirable intervals of high (1) and low (0) states.
For a clocked D-latch, whenever the clock is in the high state, the output assumes the high state for every high state of the inputs. This behaviour is called transparency. In some applications, transparency of the latches is a disadvantage.
More about Flip-Flops
It is often necessary to have the capability to sample the input at a specific instant and retain the value internally. Because of the transparency, the latch responds to any event occurring in the high state of the clock. As a solution, bistable circuits triggered on the rising edge or the falling edge of the clock pulse can be used. These circuits are known as flip-flops, which are synchronous with the edge of a clock pulse. Therefore, Flip-Flops are also known as synchronous bistable multivibrator circuits. On the other hand, latches are asynchronous bistable multivibrator circuits.
Corresponding to operation of the latches, SR, JK, D, and T flips flops are also designed.
What is the difference between Latches and Flip Flops?
• The latch is an asynchronous bistable multivibrator circuit, and a flip-flop is a synchronous bistable multivibrator circuit.
• In latches, the retained state can change at any instant when the enable is at the high state, but in flip flops, the retained state can change only at the rising edge or the falling edge of the clock signal given as the input of the enable.