feature article
Subscribe Now

Making FPGAs Cool Again – Part 2

How Tools Unlock the Hardware Power Capabilities

A couple weeks ago we looked at the state of FPGA low-power design from the standpoint of hardware. We saw a range of features, from very little to branded feature sets. But none of that matters without tools: tools are the window into the silicon, and no silicon feature has a shred of value unless a tool uses it (as can be testified to by the scores of now-defunct PLD businesses that were run by “the cheapest silicon always wins and software is annoying” types). And with a domain like low-power design, the tools can have features on their own even if there are no explicit hardware features to exploit: more intelligent use of plain-vanilla silicon can reduce power as well.

So this week we look at the ways in which various FPGA vendors have addressed the power problem in their tools. There are really two parts to that story: analysis and synthesis. It doesn’t make sense to try to design for low power if there’s no way to see how much power you’re consuming.

Seeing is believing

Back in the day, when ICC fell off the datasheet in any meaningful way, there was pretty much no way to know how much power your design would consume. The only answer you could get was, “It depends, and it’s too hard to figure out.” Eventually, spreadsheet approaches came around where you could put together a simplistic power model and at least kind of eyeball your ballpark power. Early attempts to model power relied solely on a “percent activity” measure that was used to derive some estimate of dynamic power. This, while somewhat sound academically, was a bit of a cop-out for the vendors, since who can estimate, over dozens or hundreds of unrelated signals, what an overall activity percentage is? It makes sense as an early rough estimation, but as a final design power calculator, it gives you more of a bracketing capability – if the power is acceptable for some overestimate of activity, then it should be ok in real life. Today, with much much larger designs, and with multiple modes of operation and multiple clock domains, an activity estimate becomes much less satisfying in the final stages of a design.

Most analysis tools now allow you to take a Voltage Change Dump (VCD) file from your simulation and apply it to the power analysis tools. This lets your tool look at realistic signaling and can give a much truer sense of power consumption – if the simulation is good. If the VCD file has good coverage, including all modes and corner cases in roughly the frequency they would actually occur, then your power profile will be a good reflection of what you can expect in real life. If not, well, your mileage will vary.

The other variable on the accuracy of power analysis tools is the nature of the power model. All vendors will provide nominal power, but worst-case conditions will be, well, worse. Actel believes their estimate to be good within 10% or so, which will improve when they finish their qual and can tighten up the numbers. Altera also claims high accuracy on their models.

Of course, getting an accurate estimate of power takes time, since you need to have a good simulation set and a well-evolved design. On the other hand, if you’re just in early days and want a rough estimate of power, Lattice has a downloadable power estimator that doesn’t require any RTL. You simply estimate the switching activity and the resources that will be required by your design as a percent, then they estimate the routing required for those resources based on statistics they’ve run and give you a power estimate. Altera provides a similar tool for early estimation, with the high-accuracy detailed estimators available once the detailed design is in place; their intent is to allow refinement as the design progresses.

Actel, as part of their focus on power and battery applications, allows you to enter the amp-hours of the battery you plan to use, and their tool will estimate the battery life, eliminating one more manual calculation that would be required to get to the bottom line for a battery-based application. They have also provided lots of granularity on viewing power: you can cut power consumption by block, by clock domain, by rail, or by type of logic. If not using a VCD, you can specify the percentage of time in different modes of operation to refine an otherwise coarse estimate.

There are also tools that can point to design changes that may reduce power. Actel will identify logic hazards, which are a source of wasted power. Any spurious switching consumes dynamic power, so eliminating hazards lowers power. They are looking to add the ability to actually eliminate the hazards automatically in the future, but for now it points them out and you eliminate them. Altera has a Power Advisor tool that will scan the design and point out various design changes through which power can be reduced.

Taking control

When it comes to actually reducing power, options become a bit more limited. Actel, Altera, and Xilinx have different forms of power-driven fitting. Actel’s fitter has an option such that after performance constraints have been met, you can have it keep running to reduce power by tweaking clock routing and shortening net lengths, typically resulting in 10-30% lower power.

Altera’s PowerPlay tool can take a similar approach, going back and reducing power after performance is hit until slack disappears. This tool uses the low-power settings on the logic array blocks (LABs), clocks, and memories to reduce power where possible. This can actually be a complicated business, since a LAB can host more than one logic function, and in fact the “register packing” function can borrow an unused register from one LAB for some other function. So the tool is smart enough to know not to borrow a low-power LAB register for a high-speed function if that will kill the slack. The synthesis tool will map user RAMs for less power and select logic block inputs in a manner that reduces capacitance on active signals. Altera claims typical power reduction of 10% as a result of the automatic optimization steps.

Xilinx’s XST synthesis tool and their ISE fitter each have a low-power setting that has shown a 6-10% power reduction across their suite of benchmarks. It will do such things as creating enable logic in front of the memories and using the MREG pipeline register in the DSP48 instead of the PREG, as well as attempting to minimize net length. They also have an optimize-for-area setting that can be used to reduce static power, but that setting causes the timing constraints to be ignored, so it’s kind of an either-or thing.

One thing that doesn’t seem to have crossed the radar here yet is the use of a power-intent description. While a couple of standards are evolving in IC-land (the UPF and CPF formats), they haven’t been taken up by any FPGA vendors. Xilinx did say they were looking at creating their own internal format, but they weren’t ready to say anything more than the fact that it wouldn’t be UPF or CPF. Hopefully, if they do indeed roll their own, there will be a clear motivator as to why the existing external standards couldn’t work.

Meanwhile, it does feel like power is getting more attention in FPGA silicon and tool design, so we’re sort of on a curve now, and things should continue to evolve. Some companies have made power a centerpiece in their strategies; others are simply accommodating it. Given the occasionally irrationally fiercely competitive nature of this market, any advantage that one company may get will not escape the vigilant covetous eyes of the other, and tit will presumably be met with tat, hopefully all to the benefit of FPGA designers, as FPGAs, once notorious power consumers, try to reposition themselves as active participants in an increasingly power-aware world. We may even see, at some point, a novel demonstration of low power… perhaps some kind of circuit driven by a primitive battery, like maybe a grapefruit…

Leave a Reply

featured blogs
Jul 29, 2021
Circuit checks enable you to analyze typical design problems, such as high impedance nodes, leakage paths between power supplies, timing errors, power issues, connectivity problems, or extreme rise... [[ Click on the title to access the full blog on the Cadence Community sit...
Jul 29, 2021
Learn why SoC emulation is the next frontier for power system optimization, helping chip designers shift power verification left in the SoC design flow. The post Why Wait Days for Results? The Next Frontier for Power Verification appeared first on From Silicon To Software....
Jul 28, 2021
Here's a sticky problem. What if the entire Earth was instantaneously replaced with an equal volume of closely packed, but uncompressed blueberries?...
Jul 9, 2021
Do you have questions about using the Linux OS with FPGAs? Intel is holding another 'Ask an Expert' session and the topic is 'Using Linux with Intel® SoC FPGAs.' Come and ask our experts about the various Linux OS options available to use with the integrated Arm Cortex proc...

featured video

DesignWare Controller and PHY IP for PCIe 6.0

Sponsored by Synopsys

See a demo of Synopsys’ complete IP solution for PCIe 6.0 technology showing the controller operating at 64GT/s in FLIT mode and the PAM-4 PHY in 5-nm process achieving two orders of magnitude better BER with 32dB PCIe channel.

Click here for more information about DesignWare IP for PCI Express (PCIe) 6.0

featured paper

Hyperconnectivity and You: A Roadmap for the Consumer Experience

Sponsored by Cadence Design Systems

Will people’s views about hyperconnectivity and hyperscale computing affect requirements for your next system or IC design? Download the latest Cadence report for how consumers view hyperscale computing’s impact on cars, mobile devices, and health.

Click to read more

featured chalk talk

PolarFire SoC FPGA Family

Sponsored by Mouser Electronics and Microchip

FPGA SoCs can solve numerous problems for IoT designers. Now, with the growing momentum behind RISC-V, there are FPGA SoCs that feature RISC-V cores as well as low-power, high-security, and high-reliability. In this episode of Chalk Talk, Amelia Dalton chats with KK from Microchip Technology about the new PolarFire SoC family that is ideal for demanding IoT endpoint applications.

Click here for more information about Microchip Technology PolarFire® SoC FPGA Icicle Kit