I'm trying to do an experiment to see how different supply voltages affect the frequency of ring oscillator and the reliability of SRAM cells. I have access to a couple of Xilinx Virtex-5 boards, namely, ML501, ML506, and ML510. I have tried to search the web, but so far I haven't found anything useful. I have some experiences with FPGA design, but I have never tried to change the supply voltage before. So I'm really clueless on how to start. Can someone (who have done similar projects) please tell me how to vary the supply voltage of those FPGA boards?
-
\$\begingroup\$ Have you considered using an external power supply? \$\endgroup\$– Ignacio Vazquez-AbramsCommented Nov 6, 2013 at 0:04
-
\$\begingroup\$ Yeah just bodge in an LM317 or some sort... fairchildsemi.com/ds/LM/LM317.pdf \$\endgroup\$– DzardaCommented Nov 6, 2013 at 0:06
-
\$\begingroup\$ I haven't considered using an external power supply because it seems too risky. The boards I have are very expensive, and I don't want to damage them by accident. What I am looking for is a voltage-regulator module that I can instantiate in my design. \$\endgroup\$– abcCommented Nov 6, 2013 at 0:19
-
1\$\begingroup\$ Ah hahaha. No, you're not going to be able to instantiate anything like that. That's not how FPGAs work. The only way to mess with the VCCINT voltage is by actually messing with the voltage externally. \$\endgroup\$– alex.forencichCommented Nov 6, 2013 at 6:16
-
2\$\begingroup\$ @Dzarda That's a really bad idea. FPGAs need something like 1.0 volts at 10 to 20 amps or more. An LM317 is not the right tool for the job. However, the board probably has an adjustable DC-DC converter with remote sensing on it already, all you need to do is change the voltage set resistor(s) and you're good to go \$\endgroup\$– alex.forencichCommented Nov 6, 2013 at 6:20
1 Answer
I assume what you want to change is the FPGA core voltage, generally called VCCINT. First of all, the disclaimer: the Xilinx specs for VCCINT are fairly stringent, and while it's likely that the hardware will be okay at a lower voltage, there is no guarantee.
Let's consider the ML501 board. First we get the schematic from Xilinx's website; it's freely available. On the first page, we see that all the power stuff is on page 21. Okay, great. On page 21, we see that U24 handles the VCCINT, nominally 1.0V at 10A max. The part is a PTH08T240W.
Now we go to TI's site and pull up the datasheet for the PTH08T240W. It looks like an adjustable regulator controlled by the resistor hanging off pin 8, in this case R179. Using the equation on page 11 of the datasheet, we can use a different resistor value to set a different VCCINT.
That's the basic approach. You can check the other boards for yourself; it's entirely possible that you may find fixed regulators. In that case, you'd have to replace the entire regulator, which would be a pain.
-
1\$\begingroup\$ Simplest thing to do would be to replace the resistor with a pot and CAREFULLY set it to the same value as the original resistor. Then CAREFULLY adjust it with a multimeter connected to the VCCINT rail to set the voltage you want. \$\endgroup\$ Commented Nov 6, 2013 at 6:18
-
\$\begingroup\$ @alex.forencich, IMO adding a pot makes things a little riskier on the bench. If this was $100 worth of hardware, I'd do it, but with $1K of hardware I'd try to eliminate any possible chance of error. \$\endgroup\$– mngCommented Nov 6, 2013 at 14:40
-
1\$\begingroup\$ This is true. But how many times do you want to desolder and replace the resistor to test at different voltages? If you do that too much, you can damage the board as well. \$\endgroup\$ Commented Nov 7, 2013 at 4:04