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!

cancel
Showing results for
Did you mean:
Contributor
6,649 Views
Registered: ‎01-02-2015

## MMCM Dynamic Phase Shift Increments on XC7Z020

I am having descepencies between the dynamic phase shift increments of the MMCM module on a MicroZed board with XC7Z020. I would like to shift the phase of CLKOUT1 with respect to CLKOUT0. Simulation gives me the phase shift that I would expect based on the 7 Series FPGAs Clocking Resources User Guide and the parameters that I have set. However, these increments are exactly doubled when implemented on the board and measured with an oscilloscope.

I am feeding a 100MHz clock into the MMCM, multiplying it by 10, then dividing by 10 to get the same 100MHz frequency on channels 0 and 1.

Important parameters:

CLKFBOUT_MULT_F (M) = 10

CLKIN1_PERIOD (Fclkin) = 10

CLKOUT0_DIVIDE_F (O_0) = 10

CLKOUT1_DIVIDE (O_1) = 10

DIVCLK_DIVIDE (D) = 1

According to the  7 Series FPGAs Clocking Resources User Guide:

Fvco = Fclkin * (M / D)

Fout = Fclkin * (M / D*O)

Phase shift increment = 1 / (56 * Fvco)

With these parameters, I expect that Fvco is 1GHz and that the fine phase shift should be in increments of ~18ps. In simulation, shifting the phase by 280 increments results in the two signals being 180 degrees out of phase. When implemented on the MicroZed, a phase shift of 140 increments gives me the same result. 280 increments will bring the two signals back into phase with each other.

To me, it seems that the most likely reason for this happening is that the MMCM is receiving a clock that is half as fast in implementation than in simulation. I have checked many times that the 10ns period in my testbench matches the 100MHz clock in implementation. I am measuring MMCM output clocks of 100MHz on the Microzed which match the 100MHz output clocks in simulation.

What can be causing this difference?

Attached are the instantiation of the MMCM with dynamic phase shift logic and the associated test bench.

1 Solution

Accepted Solutions
Contributor
11,839 Views
Registered: ‎01-02-2015

## Re: MMCM Dynamic Phase Shift Increments on XC7Z020

Solved: Only assert PSEN for a single PSCLK cycle.

Thanks for the help, everyone!
3 Replies
Highlighted
Contributor
6,636 Views
Registered: ‎01-02-2015

## Re: MMCM Dynamic Phase Shift Increments on XC7Z020

I've just read that asserting PSEN for more that 1 clock cycle can result in unpredictable behavior. I've been leaving it high for 2 cycles. Working on that now.
Contributor
11,840 Views
Registered: ‎01-02-2015

## Re: MMCM Dynamic Phase Shift Increments on XC7Z020

Solved: Only assert PSEN for a single PSCLK cycle.

Thanks for the help, everyone!
Scholar
6,622 Views
Registered: ‎06-23-2013