Discuss the difference between latches and flip-flops.
Latches and flip-flops are both bistable devices used for temporary data storage. Both devices can have active low or active high inputs. A latch determines its output from its input signals only, while a flip-flop is triggered by a timing or enable input. The timing input on a flip-flop is edge triggered, either rising edge (0®1) or falling edge (1®0). A flip-flop can also be either synchronous (triggered by only the clock) or asynchronous (having inputs that override the clock).
A latch has a truth table with an invalid condition when both inputs are activated simultaneously since the output is unpredictable when they return to inactive at about the same time.
The flip-flop does not have this invalid output. When both inputs are activated on a flip-flop, the output is toggled.
The asynchronous flip-flop inputs, preset and clear, override the device. These inputs change the output independently when they are activated regardless of inputs or the clock.
Discuss the applications of flip-flops.
Flip-flops are commonly used for data storage, frequency division, and counters. The data storage would use multiple flip-flops in groups depending on the number of bits required. The frequency division and counters work the same dividing the clock frequency by 2 with each device, except that for the frequency divider, you would only be worried about the output of the last device at the required frequency. For the counter, you need the output of every flip-flop.
Floyd, T. L. (2014). Digital Fundamentals (11th ed.). Pearson Education (US).