Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
18 years ago

Variable Data Rate

Hello

I'm using a CycloneII EP2C20 and want to dynamically control the output data rate from the fpga.

I can't find a optimum solution to this, as the CycloneII doesn't have dynamic PLLs. Currently I have a fixed clock and a counter that waits X clock cycles before outputing a new data. It works but isn't very flexible because I'm limited to rate values of (Clock Rate/X) only.

Any ideas?

Thank you!

Thiago

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Build an NCO. Take an adder feeding back to itself (Accumulator) with a variable 'delta phase' on the other input. When the adder overflows, send your data. This gives you a fractional division of the PLL frequency. OutputRate=PLL_Freq*DeltaPhase/2^AdderBits. The more adder bits, the finer the resolution, but the adder has to work at speed also.