0

I have implemented a frequency divider by the powers of 2. Now I am interested in doing a divider by any integer number from 1 to 16. Yes, I have tried but yet no ideas. How can I approach this problem?

I want to use common elements like multiplexers, flip flops and so on. Not asking for a complete solution, even though it would be great.

Emil Vikström
  • 90,431
  • 16
  • 141
  • 175
twist900
  • 33
  • 1
  • 6

1 Answers1

0

That is normally the job of a PLL many FPGA have some PLL on chip.

Or try a counter that resets when limit (0-15) is reached. Each time limit is reached toggle clock. The value for 1:1 clock needs special handling, maybe a clock bypass. A better way would be to run the counter at double frequency to avoid the mux.

Instead of an incrementing counter a decrementing counter that loads the configured value on zero would do as well.

deepsubmicron
  • 351
  • 1
  • 4