I'm designing a new board based on XC6SLX9-3TQG144C. There are three supplies required -- VCCINT, VCCAUX, and VCCO. VCCINT is 1.2V and the other two will be 3.3V. I'm wondering how much current to design for in the power supplies. Obviously the current consumption depends significantly on the RTL running inside, but are there any good rules of thumb for this? In the past I've just over designed the thing to be able to supply something like 1 amp (can't remember which LDO I used, but at the time it was a national part) for the internal supplies and whatever I think I'll need on the I/O side of things (which is much easier to estimate). I'm trying to minimize area on this board though so it would be nice to not just "shoot the fly with a bazooka" so to speak. Is there a reasonable way to accurately estimate the current consumption for the internal supplies of an FPGA? I've looked a bit at xpower, but I didn't see (didn't spend a ton of time looking) a way to enable/disable various portions of the design as one would expect in real life (e.g. memory controllers, actions responding to external events, etc).
The answers above seem to suggest that the datasheets provide sufficient information to determine the power consumption of the device. I disagree -- The datasheets provide a lot of information on quiescent current, leakage currents, etc, but they cannot speak to dynamic power consumption, which accounts for the vast majority of the power used. After all the datasheet has no idea how fast anything is switching the device, how much of the device is being utilized at any given time, or what peripherals (e.g. serdes/memory controller stuff) are being used at any given time.
After digging into this a bit more it's not too painful to dump a vcd file to xpower and get a fairly reasonable estimate for power consumed by the various supplies. Ultimately though it seems that for 99% of the cases over designing the supplies by some reasonable amount of headroom is easy enough and probably not worth optimizing a ton.
Why not ask Xilinx, since they are the ones who designed the chip in the first place-- and it is in their best interest for them to help you successfully design your board?
Of course the best place to look is in the datasheets. The second best place is in the Xilinx Power Tools Tutorial. After that there are lots of app notes, user guides, and white papers on the Xilinx web site that talk about techniques, modes, and development tool options to reduce power more. And don't forget the many reference designs that you can download the schematics for.
Finally, Xilinx and/or your distributor will have resources to help you. Field Applications Engineers can provide design assistance, as well as review your design.
While people on electronics.stackexchange can give you assistance in this, it is not a replacement for using the documents, resources and tools that Xilinx has already provided.
The various datasheets for the Spartan6 do include enough information to have a reasonable stab at the upper limits on the amount of current consumed by each type of Vcc. If you want the option to disable portions of your design, build that into the logic - using clock enables to freeze areas that you don't want to use at the moment can substantially reduce power consumption. Also, if you're concerned about size, you can get multi-output switchmode controllers in small SMD packages that will supply both 1.2V and 3.3V at good efficiency. A good place to look for such things is the large electronics vendors, e.g. Digikey, Mouser, RS, Farnell, etc that allow you to do parametric searches on their product range.
If you have already finished your design, use the Xilinx Power Estimator. But one of the reasons to use FPGAs is the ability to reconfigure them as needed, so you may want higher power later, then I can't see the point in finding precise current values. And eventually both if you require 1.63 or 1.87 A you'll end up with a 2 A regulator, don't you? Unfortunately, there are other subtle issues to take into account when powering FPGAs:
- Stability - Typically FPGAs require their supplies within a few % of the nominal value. Check the ripple voltage, especially for switchers.
- Load regulation - An FPGA is or may be a large amount of logic running at high speed thus consuming a large and VARIABLE current. Suddenly changing current will cause a drop in voltage that may be out of specs. You may need lots of low-Z caps OR... a higher current regulator.
- Soft Start and sequencing - Turning on everything at once may cause problems. Specially the larger FPGAs need (or recommend) a sequenced turn-on with a slope (soft start) of some ms.
- Monotonicity - On turn-on, in between 0,5 and 0,9 V the logic starts runnnig and there may be a large current inrush that will cause a voltage drop. Even if useconds it can make logic misbehave. Supplies must cope with this to ensure an always rising voltage
I found these guys have a lot of expertise on FPGAs: www.akteevy.com