Prev: Free VHDL or Verilog Simulator
Next: Spartan 6 PLL - Why such a strict input jitter requirement?
From: austin on 1 Apr 2010 10:49 John, 3E was its own animal, with a completely different and unique DCM design, unlike all of the others. I immediately posted that the 256 steps was a mistake in my original post. 3E DCM had some real advantages, but we went back to the "old" DCM design. The experience gained in the design of PLLs for the MGTs, led to some very intense 'digitally calibrated PLL' to the point where in V6, they are not called DCM nor PLL...as they are not really either (MMCM). Austin
From: John_H on 1 Apr 2010 15:59 On Apr 1, 10:49 am, austin <aus...(a)xilinx.com> wrote: > John, > > 3E was its own animal, with a completely different and unique DCM > design, unlike all of the others. I immediately posted that the 256 > steps was a mistake in my original post. > > 3E DCM had some real advantages, but we went back to the "old" DCM > design. > > The experience gained in the design of PLLs for the MGTs, led to some > very intense 'digitally calibrated PLL' to the point where in V6, they > are not called DCM nor PLL...as they are not really either (MMCM). > > Austin Thanks and my apologies. I see now what you meant with your correction. The language wasn't clear on what you meant through this text medium, the newsgroup. I'm sure I would have known what you meant if we were discussing verbally. As tough as the S3E variable phase was for the middle of that project, I really liked the feature and was impressed by the performance. One fun experiment: feed the output of the DCM to a carry chain (using a toggle flop) and clock the output of the chain with the original reference clock, marking the recovered transition point in the carry chain with an XOR. Visualize the result with LEDs. One spot is typically lit up along the carry chain. Every increment of the phase isn't always a visible change, but the average I saw was 4 phase increments to move one position on the carry-chain readout if it's between slices, 2 phase increments to see the transition move if it's within a slice. I think I did this on the Spartan3E starter kit using the 8 LEDs and the rotary dial. Fun, fun to see it in action. The controllability was solid, the results pretty darned pristine.
From: austin on 1 Apr 2010 17:21 John, No apology necessary. I posted something half-way "right" and then followed with a terse correction. The phase control in 3E was pretty neat, but it was a "solution looking for a problem" (no one could think of any way to really exploit it...). I recently used a DCM with phase shift to measure the delay of a critical path. I use this information to control the supply voltage. Although voltage scaling is not supported, one can save ~50% of the power (static + dynamic) in the Virtex 5 1v core, by lowering the voltage and keeping the voltage just where the device still works. If you have a fast corner part, you really save a lot of power. If you have a slow corner part, then the static power is very low, and even at 1.0v you are still saving power (over the data sheet which has to be set at the fastest part that could be shipped). I control the power supply with a single IO pin, using a 5 bit PWM to adjust the Vccint from 0.8 v to 1.04v (31 steps used, I don't use 00000). So, a few LUTS, a few DFF, the logic runs off any clock you have in your design, and the DCM, and one IO pin, some resistors and a single capacitor to smooth out the PWM, and the supply goes up and down as needed to keep the device happy (just meeting the TILO of the speeds file), and saving power. Now, I think that is useful, but I can't really get any traction around here for the idea... One of the down-sides is that below .95v, we do not specify anything (nothing is guaranteed below 0.95v), so we would have to do a lot more characterization. Austin
First
|
Prev
|
Pages: 1 2 3 4 Prev: Free VHDL or Verilog Simulator Next: Spartan 6 PLL - Why such a strict input jitter requirement? |