The digital clock is one of the quintessential projects to undertake when learning digital logic as it employs a large amount of theory that is often taught in digital circuits classes. Though such a project can be succinctly summed up to be no more than a couple of shift registers with decoders, the process of designing such an implementation involves the use of Boolean algebra, Karnaugh mapping, and state-machine diagrams.
A modular based development is key when designing this clock as there are many parts to address despite its simplicity. Particular attention is paid to any modules which are essentially duplicates of one another e.g. seconds and minutes both are Mod-60 counters.