A Clock Divider creates a lower frequency clock signal ($f_{out}$) from a higher frequency source ($f_{in}$). This is fundamental in digital systems for generating timing signals, baud rates, and lower-power clock domains.
The simplest divider connects the inverted output ($\overline{Q}$) of a D-Flip Flop back to its input ($D$).
By cascading flip-flops where the output of one drives the clock of the next, we create a binary counter. Each stage divides the frequency by 2.
To divide by an arbitrary integer $N$ (e.g., 3, 5, 10), we use a counter that counts from $0$ to $N-1$ and then resets.
Duty Cycle Note: Simple counters often produce pulses with non-50% duty cycles. Creating a perfect 50% duty cycle for odd numbers requires logic on both rising and falling edges of the source clock.