Spartan3E Phase-Shifter

I have some doubts about the SPT3E Phase Shifter.

First: Data sheet V3.0, pg. 54, fig. 44: CLK180 is wrong. I must start as high! (easy to see)

Data sheet V3.0, pg. 57, eq. 6: MAX_STEPS =

+/-[integer(20*(TCLKIN-3ns))] For example a 20MHz clock, TCLKIN=50ns MAX_STEPS = +/-[integer(20*47n)] = +/-[integer(940*10E-9)] = +/- 0

Only seeing the "Answer Record: 22414" I understood. How about changing it to: MAX_STEPS =

+/-[integer(20*10E9*(TCLKIN-3ns))] ?

Now my doubts. What happens when we overflow the Phase Shifter? For the same 20MHz clock, MAX_STEPS = +/-940. And if I shift 941 times (same direction form zero) ?

From the data sheet, PSCLK_FREQ (phase shift frequency input) ranges

from 1MHz to 167MHz. For 1MHz: MAX_STEPS = +/-19940 There must be at least 19940 internal delay taps (for each side)! So I can go past 940 (the shifter doesn't know the frequency of the clock, I think).

Again the 20MHz clock. As MAX_STEPS = +/-940, the phase shift ranges from 940*20ps=18.8ns to

940*40ps=37.6ns, both below 50ns (TCLKIN). If 940 is the limit, how can the phase shifter, in the fixed mode, cover all the range from 0 to 2*pi (or 360 degrees, if you prefer)?

I want to know if there is a way of changing the phase continuously, crossing the borders of +/-2*N*pi smoothly (from 2*pi back to zero).

Luiz Carlos

Reply to
oen_no_spam
Loading thread data ...

To quote the immortal Homer Simpson, "Doh!" I'll see that this is fixed!

Is the confusion with the "ns" term in the equation? It was added only to emphasize that the equation is operating in time, not frequency.

The output will be phase shifted by 940 steps. The DCM outputs no longer shift when incremented, but will decrement.

The phase shift limit is frequency dependent. The equation uses the clock period, which is inversely proportional to the clock frquency.

The phase shifting range depends on the CLKIN input, not the PSCLK. The minimum CLKIN frequency is 5 Mz, which equates to +/-3,940 steps. Each step, called DCM_DELAY_STEP, is between 20 to 40 ps. The VARIABLE phase shfit mode provide a phase shift range of between +/- (3,940 * 20 ps) to +/- (3,940 * 40 ps) or between +/- 78.8 ns to 157.6 ns.

The confusing difference between the Virtex-II/Spartan-3 variable phase shifter and the Spartan-3E variable phase shifter is that Virtex-II/Spartan-3 shifts by fraction of a period, the Spartan-3E variable phase shift always shifts by time.

The FIXED phase shift mode for Virtex-II, Spartan-3, and Spartan-3E are always measured in fraction of a clock period.

In FIXED phase shift mode, the Spartan-3E phase shifter works over the range -180 degress to +180 degrees. For software compatibility, this range is mapped to the Virtex-II/Spartan-3 range of -360 to +360 degrees.

I have a clarifying question on your question. Are you using VARIABLE phase shift mode to shift beyond -360 or +360 degrees and asking what happens when you exceed a full period?

--------------------------------- Steven K. Knapp Applications Manager, Xilinx Inc. General Products Division Spartan-3/-3E FPGAs

formatting link
Tel: (408) 626-7447 E-mail: snipped-for-privacy@xilinx.com

--------------------------------- The Spartan(tm)-3 Generation: The World's Lowest-Cost FPGAs.

Reply to
Steve Knapp (Xilinx Spartan-3 Generation FPGAs)

Hi Steven,

"Is the confusion with the "ns" term in the equation? It was added only to emphasize that the equation is operating in time, not frequency." No, TCLKIN is period, it must be given in seconds, no confusion here. But n (nano) is a number (0.0000000001), so, the equation is wrong. For the 20M[Hz], the TCLKIN=50n[s]=50000p[s]=0.05u[s] (same number). Use your calculator or your computer to evaluate the equation, using TCLKIN=1/FCLKIN (frequency) and you'll see what I mean.

"I have a clarifying question on your question. Are you using VARIABLE

phase shift mode to shift beyond -360 or +360 degrees and asking what happens when you exceed a full period?" Yes, I would like to shift beyond +/-2pi (360 degrees). If you look at "Stratum4E holdover" topic, you'll see what I want to do. I could use 2 DCMs, and whenever the active DCM reaches the +/-2pi, switch to the other one (locked at 0 radians). Or, maybe, just reset the DCM. But it looks like the Spartan3E Frequency-Shifter in the VARIABLE phase shift mode, can't reach the +/-2pi shifts. Is thet true?

Thanks,

Luiz Carlos

Reply to
oen_no_spam

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.