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?