So far we have focused only on combinational circuits. It is time to deal with circuits that have a memory. Memory, in principle, means that the output depends not only on the input but also on the history. However, if we wish to refer to the history, then we need a notion of time. So before we consider a memory device, we must address the issue of time.
Time in digital logic is defined by a special signal called the clock. The clock signal is not a clock in everyday terms; it is simply a periodic signal that alternates between zero and one. The alternations help us partition time into disjoint intervals, called clock cycles.
Bits are stored in a special memory device called a flip-flop. The definition of flip-flops ...