E
Ehsan
Guest
Hey Folks,
I am trying to implemented an all digital PLL on Xilinx FPGAs. First,
I wrote some Matlab code to see the functionality of the PLL.
Everything seemed to work fine. Then I quantized the operations in
Matlab to find out the amount of precision I need in hardware. That's
when the PLL stopped working, or started oscillating! It seems to me
that every part of the PLL is OK with fixed precession, i.e. 20 bits,
except for the Loop Filter which needs to be double-precession. One
reason can be the fact that Loop Filter coefficients are very small
numbers so their effect is not preserved in finite precession. Since
my target is FPGA, I don't have any idea how to implement double-
precession function. Or, is it even possible? I wondered if any of you
has any kind of experience with digital PLLs or double precession
operations in FPGAs.
Thank you!
I am trying to implemented an all digital PLL on Xilinx FPGAs. First,
I wrote some Matlab code to see the functionality of the PLL.
Everything seemed to work fine. Then I quantized the operations in
Matlab to find out the amount of precision I need in hardware. That's
when the PLL stopped working, or started oscillating! It seems to me
that every part of the PLL is OK with fixed precession, i.e. 20 bits,
except for the Loop Filter which needs to be double-precession. One
reason can be the fact that Loop Filter coefficients are very small
numbers so their effect is not preserved in finite precession. Since
my target is FPGA, I don't have any idea how to implement double-
precession function. Or, is it even possible? I wondered if any of you
has any kind of experience with digital PLLs or double precession
operations in FPGAs.
Thank you!