UPGRADE YOUR BROWSER

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 
Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
1,797 Views
Registered: ‎03-27-2017

TX PPM PI Behavior

Target: VCU118

 

I am attempting to vary the frequency of the GTY TX data clock by using the TX PI PPM controller to vary the phase. I am monitoring gtwiz_userclk_tx_usrclk2_out to see the effects of changing the TX PI codes.

 

The GTY is being sourced by a 156.25 MHz clock.

 

Results:

 

1) 

TXPIPPMEN = 1'b0

 

DSC_0030.JPG

 

  • Green:  gtwiz_userclk_tx_usrclk2_out 
  • Pink: Frequency histogram (peak located at 156.25 MHz with observable jitter)
  • Turquoise: Period histogram
  • Yellow: Phase histogram (signal phase - average signal phase)
  • Orange: FFT of green (peak located at 156.25 MHz)

These results indicate that gtwiz_userclk_tx_usrclk2_out is indeed a 156.25 MHz clock with no effect from the TX PI PPM controller.

 

2) 

TXPIPPMEN = 1'b1 

TXPIPPMSEL = 1'b1

TXPIPPMSTEPSIZE = 0x1F

 

DSC_0029.JPG

 

  • Pink: Two peaks, one centered at 156.25 MHz, another at 155.7 MHz
  • Turquoise: Two peaks, results correlate with two frequency peaks seen in pink
  • Orange: No frequency shift observed; same results as when TXPIPPMEN = 1'b0

With the TX PI controller turned on, I expected to see a single frequency peak instead of 2, with the single peak at a frequency not centered at 156.25 MHz and shifted an amount related to the rate of change of the phase. 

 

As TXPIPPMSTEPSIZE = 0x1F, I also expected this shift in frequency to be a positive amount from 156.25 MHz. Instead, I see a secondary peak at 155.7 MHz (lower than 156.25 MHz)

 

Perhaps I am misunderstanding how the TX PI module works or I am not using it correctly?

Is there a way to monitor the TX PI codes directly?

0 Kudos
3 Replies
1,728 Views
Registered: ‎01-08-2012

Re: TX PPM PI Behavior

If I were to try to do the things you are doing, I would tackle them in a different way:

 

- I would not use an oscilloscope (even an expensive one) to measure frequency, or expect it to produce a meaningful frequency domain representation of a signal.  However, I would use an oscilloscope (e.g. with infinite persistence to pick up the effects of jitter) to verify the minimum period of gtwiz_userclk_tx_usrclk2_out so that I would know that the timing constraints are correct.

 

- I would use a frequency counter to measure frequency.  I would spend a couple of hours writing one in the FPGA fabric, that could easily and accurately measure the small ppm offsets that I am trying to measure.  (Actually I would spend a few minutes instantiating one that I wrote a long time ago, but we all have to start somewhere.)

 

- I would concentrate on measuring the things that actually matter to my product.  These will be:

Frequency offset, which is best measured on gtwiz_userclk_tx_usrclk2_out with a frequency counter in the FPGA fabric.

Tx jitter at the transceiver data output (rather than on gtwiz_userclk_tx_usrclk2_out), which can be tricky to measure without a dedicated test set.

 

I contend that the jitter on the internal clocks is irrelevant to the operation of your product, as long as the timing constraints take the jitter into account.

 

 

Finally, the frequency offset in the transceiver is generated by stepping the PI at a certain rate.  These steps happen at discrete times.  This produces a (small) sawtooth phase modulation on the output, thus the output should not be expected to have a clean spectrum.

 

Allan

Xilinx Employee
Xilinx Employee
1,705 Views
Registered: ‎11-29-2007

Re: TX PPM PI Behavior

Hello

if you want to keep the TX jitter low you should use a small TXPIPPMSTEPSIZE (1 or 2)

Adventurer
Adventurer
1,692 Views
Registered: ‎03-27-2017

Re: TX PPM PI Behavior

Thanks for the reply @allanherriman. I will use a frequency counter in the fabric to measure the frequency changes with changes in the TX PI code.

 

Finally, the frequency offset in the transceiver is generated by stepping the PI at a certain rate.  These steps happen at discrete times.  This produces a (small) sawtooth phase modulation on the output, thus the output should not be expected to have a clean spectrum.

 

From the histogram data, it is evident that there are two peaks when the TX PI is enabled. On a plot of frequency and time, this could be described like the presented:

 

txpi_theoretical(4).JPG

 

From the description of the TX PI in the documentation, I expected the output waveform of the TX PI to be like a staircase function (time on the x-axis, and PI code (or phase magnitude) on the y-axis):

 

txpi_theoretical(3).JPG

 

Instead, from experimental results shown previously (and working backwards since frequency is the time derivative of phase), it seems I am getting either of two wave forms (alpha indicates a general slope value):

 

txpi_theoretical(1).JPG

 

txpi_theoretical(2).JPG

 

Please describe further about this sawtooth phase modulation. I expected this modulation waveform to be closer like the first graph shown above. 

0 Kudos