clock multiplier in spartan 2

how to implement a clock multiplier in spartan2 from ref clock. I have input clock of 25 mhz and need to generate 50 Mhz clock.



Reply to
Loading thread data ...

You can use a DLL or DCM for that; You could also search for Peter Alfkes paper 'six easy pieces', chapter 4

Reply to

Yes thats simple trick. Thanks for your input.

Reply to


If you decide to use the DLL (there is no DCM in Spartan 2) you should be aware that the "lock" output of the DLL will not de-assert after the initial lock, so you need a secondary means of detecting that lock was lost. When the DLL is not locked, the 2x clock output actually runs at 1x the input clock.

The six easy pieces approach will not generate a 50% duty cycle like the DCM.

There's always a trade-off...

Cheers, Gabor

Reply to

The 6-easy-pieces XOR design works reliably, but it just generates one pulse on each input transition, irrespective of that transition's direction. Therefore the doubled clock does not have a defined duty cycle, and two adjacent output clocks (or pulses) may have different spacing, as a result of a non-50% input duty cycle. If these limitations are acceptable, it's a nice and simple/cheap way to double the clock frequency, and it works down to as low a frequency as you possibly might want. Peter Alfke, Xilinx

Reply to
Peter Alfke

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.