We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Participant pthomas
Registered: ‎04-22-2015

MMCM fractional details

Hello, I'm trying to use an MMCM with dynamic reconfiguration using the DRP registers. ug572 and xapp888 have been very helpful. Also I found this site helpful (http://billauer.co.il/blog/2014/12/mmcme2-adv-drp-fractional-pll/). I can see from Billauer's site the pattern in 'high time' and 'low time' (mc_ckout0_ht[5:0] and mc_ckout0_lt[5:0] in my case). For the fractional cases these are -1 of the whole number and then frac (mc_ckout0_frac[2:0]) is set to 1-7 value coresponding to 0.125-0.875.

So my two questions are why are 'high time' and 'low time' -1 from the integer case? and how are the falling & rising edge waits calculated (mc_ckout0_frac_wf_r and mc_ckout0_frac_wf_f)?

The examples in ug572 show how the fractional divide is able to work, but not how this maps to the registers. What would be really helpful is for the examples to show how the register set for each example case is calculated, using the diagrams to help.

I also see mmcme4_drp_func.h file from xapp888, but this dosn't make things clearer for me either.



0 Kudos