Generating equally spaced timing pulses — Which counter/sequencer topology is commonly used to create a sequence of evenly spaced timing outputs with simple decoding?

Difficulty: Easy

Correct Answer: johnson

Explanation:


Introduction:
Timing generators often need multiple nonoverlapping, evenly spaced phase signals. Certain counter topologies simplify decoding and ensure uniform spacing without complex logic.


Given Data / Assumptions:

  • Goal: produce a set of sequential timing pulses, one per clock step.
  • Low logic complexity desired for decoding.
  • Consistent duty cycle and spacing preferred.


Concept / Approach:

A Johnson counter (twisted ring) feeds the inverted output of the last flip-flop back to the first. It cycles through 2N unique states using N flip-flops, providing evenly spaced, easily decoded outputs. Simple gating can extract narrow pulses or phase signals with minimal logic compared to binary counters.


Step-by-Step Solution:

Construct N-stage Johnson counter with feedback from inverted last stage.As the sequence advances, a pattern of consecutive ones and zeros rotates.Decode transitions with simple AND/OR gating to produce one-hot timing pulses.Result: equally spaced pulses over a 2N-step cycle.


Verification / Alternative check:

Design texts show that, for the same number of flip-flops, Johnson counters need fewer gates to obtain nonoverlapping phases than binary counters, and are widely used in timing sequencers and DAC timing logic.


Why Other Options Are Wrong:

  • Shift register sequencer / ring: Workable, but Johnson offers 2N states and easier decoding for equal spacing.
  • Binary: Requires more complex decoding to obtain equal spacing and one-hot pulses.
  • Clock: A clock alone is a single pulse train, not a sequencer topology.


Common Pitfalls:

  • Mistaking simple ring for Johnson; the twisted feedback differentiates them.
  • Ignoring reset/initialization to a valid Johnson state.


Final Answer:

johnson

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion