04-07-2015 07:15 PM
At the beginning, we designed10MHz input of the first MMCM, and output 40MHz, which was the input of the second MMCM, the output of the second MMCM was several 10MHz clocks with different phases, using vivado.
But now, the new requirement is input 9.995MHz, and the output is several 9.995MHz clocks with different phase.
I want to set the input of the first MMCM is 9.995MHz, but this value exceed the range of MMCM. I have to set it as 10MHz.
When I set the output of the second MMCM as 9.995MHz, the Actual value is still 10MHz..
I wonder if I can specify to three decimal of ouput in MMCM? If this imposible , how to deal with this problem?
04-08-2015 07:42 AM
f,
The MMCM will create a clock exactly 4 times the input, if that is what it is programmed to do.
Set it for 10 MHz in the tools, multiply by 4. In the hardware, if you put in 9.995, you will get 39.980 out.
Although you are out of specification, it is by so little that the hardware will still work, almost surely. Although Xilinx will only guarantee what is in the data sheet, your risk of it not working is going to be practically none....
04-07-2015 08:17 PM
Hello @fireken
The minimum input frequency of mmcm is 10 MHz. See below snapshot:
See 7 series datasheet for mmcm switching characteristics.
Thanks,
Vinay
04-07-2015 08:37 PM
yes,thank you . Minimum input frequency of mmcm is 10 MHz. But I cann't find the information of output of MMCM.
can input 10MHz clk to mmcm , and the ouput of MMCM is the 9.995MHz?
When i set this frequency, the Acutal will be 10MHz.
04-07-2015 11:09 PM
Hi,
Open the datasheet and check for "MMCM_Foutmin" "MMCM_Foutmax" you will find the output frequency.
Thanks,
Yash
04-07-2015 11:37 PM
Thanks Yash!
But I am not looking for the minimun output frequency. I hope MMCM output accurate frequency.
I means than can MMCM output the frequency with accuracy of 3 decimal points?
for example, the frequency I need is 9.995MHz , not 9.99MHz,or 10MHz..
This may be call frequency frequency resolution. I remeber I saw 1.5% in document(ug472). but I think it is too large and impossible. I hope you or someone know the 'frequency resolution'.
@yashp wrote:
Hi,
Open the datasheet and check for "MMCM_Foutmin" "MMCM_Foutmax" you will find the output frequency.
Thanks,
Yash
04-08-2015 07:42 AM
f,
The MMCM will create a clock exactly 4 times the input, if that is what it is programmed to do.
Set it for 10 MHz in the tools, multiply by 4. In the hardware, if you put in 9.995, you will get 39.980 out.
Although you are out of specification, it is by so little that the hardware will still work, almost surely. Although Xilinx will only guarantee what is in the data sheet, your risk of it not working is going to be practically none....
04-08-2015 05:19 PM
I means than can MMCM output the frequency with accuracy of 3 decimal points?
You have to understand what the MMCM is doing, and not confuse its capabilities with what the Wizard is doing.
The MMCM can do frequency multiplication and division. There is a formula for the operation
Fout = Fin * M/(D*O)
The M, D, and O are all parameters of the MMCM and have specific ranges
M = [1,64] (in 0.125 increments)
D = [1,56] (integer only)
O = [1,128], integers for all but the first output, which can be in increments of 0.125
When you use the wizard, you tell it what the input frequency is, and what the desired output frequencies are. It will then try and find the values of M, D, (which are global to the MMCM) and O (which is individual for each output) that meets these requirements and minimizes jitter (and meets some other restrictions internal to the MMCM).
So there is no single answer to your question. Obviously, you cannot convert a 10MHz clock to a 9.995MHz clock, because there is no value of M, D, and O in the range above that will accomplish this - that is why when you ask for 9.995MHz it tells you "the closest I can get to that is 10MHz" - its not a number precision thing, its the fact that this really is the best the MMCM can do. If you asked for (say) 14.285, it would give you exactly that (well, really 14.285714..., which is 10/7 of 10MHz), since the MMCM can do that...
Avrum
04-08-2015 05:43 PM
Thank you avrumw. Your reply is so detailed.
Although I saw this formular in the datasheet, my understand is not enough so I cann't solve this problem.