Counters
Digital counting circuits - asynchronous ripple counters and synchronous counters with modulo-N operation.
Counters are sequential circuits that cycle through a sequence of states, typically counting in binary. They are used for frequency division, event counting, timing, and address generation. Asynchronous (ripple) counters are simple but have timing issues; synchronous counters are faster and glitch-free because all flip-flops change simultaneously.
Objectives
- Design asynchronous (ripple) counters and understand their limitations
- Design synchronous up, down, and up/down counters
- Build modulo-N counters (e.g., mod-10 BCD counter)
- Use 74HC393 (ripple) and 74HC163 (synchronous) counter ICs
Key Takeaways
- Asynchronous (ripple) counters: simple but outputs change at different times (glitchy)
- Synchronous counters: all outputs change simultaneously (preferred for modern design)
- Mod-N counters: detect terminal state and reset for non-power-of-2 counts
- Each counter bit divides the clock frequency by 2
- 74HC163 (synchronous, loadable) and 74HC393 (ripple) are standard counter ICs
- Counters are used for timing, frequency division, address generation, and event counting
Applications
- Frequency Division: Dividing clock frequencies for slower peripherals.
- Event Counting: Counting pulses, items, or occurrences.
- Address Generation: Sequentially addressing memory locations.
- Timers: Generating time delays and periodic signals.
Practice Problems
Problem 1: A 4-bit ripple counter has 15ns propagation delay per flip-flop. What is the worst-case delay from clock to all outputs valid?
Problem 2: Design a mod-6 counter using a 3-bit synchronous counter.
Problem 3: What is the output frequency of a 4-bit binary counter's MSB if the input clock is 16 MHz?
Problem 4: Why are ripple counters unsuitable for driving a DAC (digital-to-analog converter)?
Problem 5: How many 74HC163 (4-bit synchronous counter) ICs for a 12-bit counter?