tags:

views:

45

answers:

1

Is there any straight forward way to implement an all digital phase lock in synthesizable Verilog? Everything (including the VCO) should be synthesized. The signals I'm looking to lock to are ~0.1-1% of the system clock frequency. I am using one that I've reconstructed from 1980's IEEE papers, but it doesn't behave as well as advertised.

For simplicity, the lock can work on a binary pulse signal.

+1  A: 

In FPGA designs I normally use the built in DCMs, or PLLs.

The Cyclone 2 has up to 4 PLLs built in.

Have a look at PLLs in Cyclone 2.

George
The built in PLL's are fine for clock synchronization and synthesis (I'm using one to get my 200MHz system clock from the 10MHz clock source). But they are extremely limited. They have enormous jitter for any kind of DSP purposes (they are designed to synchronize not de-jitter), they are also not very flexible being completely defined at synthesis time, and most importantly, the minimum frequency that the onboard PLL's can lock is about 10 MHz, about 10 times higher than my signal frequency.
crasic
Yes, if you are trying to lock to a slow clock, the on board devices won't be much use. You could check [OpenCores](http://opencores.org/) for sample code.
George