Sequential Design
Self-Reloading Counter
A counter that automatically reloads a configured value upon reaching zero or a terminal count.
Detailed Explanation
Self-reloading counters generate periodic events. When the count reaches the terminal value, it loads a programmable reload value and continues. This creates interrupts at fixed intervals for timers, or generates waveforms at specific frequencies.
The reload value determines the period: period = (reload_value + 1) × clock_period. Double-buffered reload values allow changing the period without glitches during the current period.
