This is a review of the TI WEBENCH Power Architect, which is used to design power supplies for FPGAs.
I've used TI's WEBENCH to design for very simple buck converter design for a college project. The power supply designer is a very handy tool that helps the user narrow down on a selection from TI's very extensive range of solutions: from different modules, integrated solutions of full fledged controllers. Once that selection is made, it lets you 'optimize' a design for lowest BOM cost, smallest footprint or highest efficiency. The user can set constraints of the design, and all of these are visualized on a chart to help narrow down the selection even further. After a preliminary design selection is made, it shows you the generated design and lets you play around with different parameters in order to tune it even further.
Power supply design for FPGAs is a lot more complicated than simply providing a single +Vcore rail.
I've not worked on any practical designs, but from the various articles, design notes & webinars, some of the biggest challenges are:
- Lower operating voltages at higher currents: as manufacturers move to more advanced (smaller) process nodes, the operating voltage decreases. This comes with the benefit of increased efficiency and higher speeds, but the operating current increases for the same power envelope. Most of Xilinx's current 7 Series portfolio is at 28nm (versus 45nm for 6 Series), except for the Ultrascale & Ultrascale+ which are at 20nm & 16nm.
- Voltage requirements of different power rails: FPGAs require different voltages for different power rails - the core, I/O, clocks, PLLs, transceivers and so on. The image on the right (taken from the User Guide of the Xilinx Power Estimator) has a list of what is typically powered from which rail. At the higher end of their product range, things get more complicated: The Zynq-7000 SoC needs additional rails for the PS section, the AXI Interface and the Zynq UltraScale+ complicates things even further.
- Low tolerances: Voltage needs to typically remain with 5% of the typical value, which is approximately 50mV
- Transient conditions: The current draw fluctuates during power on & application start, which causes transients that the power supply will need to be capable of supplying while maintaining voltage with the specified range.
- Sequencing requirements: Some FPGAs require the power rails to powered on and ramped up in a particular manner, so the power supply needs to be configured to power up a rail, wait for the power good signal from that rail, which signifies that voltage is within spec and stable before turning on the next rail in the sequence. The example on the right is from an article by Maxim, which explains commonly used methods: Coincident tracking (also known as "simultaneous tracking"), Sequential & Ratiometric tracking
Designers need to keep all of this in mind when designing the power supply rails for an FPGA. And of course, there's also the supplies for the external components: the DRAM, LEDs, Ethernet, HDMI, USB and all the other components on the board.
TI has a simple tool that runs in the browser:
Simply pick your FPGA family, the Part Number & Input Voltage.
The tool will automatically calculate the power requirements of each rail based on the requirements of the selected part and suggest voltage regulator designs based on LDOs, Modules, DC-DC Converters, Controllers or PMICs
You can modify the current requirement of a given rail, and the tool will suggest a new part.
However, if you want to go deeper into the design to optimize it, or even simulate it, you can use WEBENCH. WEBENCH runs entirely in your browser, and uses Flash.
It loads pretty quickly, and if you use the tool directly (instead of opening it from the product page of specific FPGA SKU on element14), you're first taken to a screen where you need to select the FPGA you're using.
It supports a wide range of parts from Xilinx, Altera, Actel & Lattice. Xilinx's Spartan 3 & Virtex 5 were supported, but I couldn't find Spartan 7, and only 2 Artix 7 parts were on the list. Many of the higher end Zynq 7000, Kintex/Virtex/Zynq UltraScale & UltraScale+ parts were supported.
I went with the XC7A100T (Artix 7) because I wanted to compare it with an existing design as a reference. I used Digilent's Reference Manual for the Arty A7, which uses the same part.
The next step lets you configure additional power rails. You can add additional rails for external components & board peripherals (eg. Ethernet, USB, Motor drivers etc).
This step also allows you to configure the sequencing i.e. the order in which the power rails are turned on by assigning an order, and a delay.
The next step shows you all possible designs.
The WEBENCH Optimizer dial lets you optimize your design for Smallest Footprint, Lowest BOM or Highest Efficiency.
The 'Help' explains this in detail:
1. Highest Frequency, Smallest Possible Footprint: With switching frequencies at their highest levels, the smallest possible components are selected.
2. Higher Frequency, Smaller Designs, with a Strong Focus on Low Cost: The switching frequency is pushed higher to reduce the size of components and the highest weighting is given to low cost BOM selections. This is typically the lowest cost design in a small footprint.
3. Default Setting: The focus here is on a low risk balanced design where Efficiency, Footprint, and BOM Cost have equal weight in the selection of the regulator and supporting components. For the devices with adjustable frequencies, the center frequency is selected.
4. Lower Frequency, Larger Designs, with a Strong Focus on Low Cost: The switching frequency is pushed lower to minimize switching losses. The result is that peak efficiencies are increased, but larger components are required. This level typically provides the Lowest Cost BOM for a High Efficiency design.
5. Lowest Frequency, Highest Possible Efficiency Design: With switching frequencies at their lowest levels, components are selected for the highest possible design efficiency.
Changing the position of the dial will generate different designs, which in turn will change the designs visible on the chart. To pick a design, simply click on the circles on the chart. This gives you a detailed view of the design that's been selected:
Clicking on any component eg TPS40345 will show you it's specifications.
Moving to the next step: the tool will show the user a schematic of each power rail, and the overview on the top shows three pie charts. These show you how much the current selected IC (for a power rail) contributes to the overall Power Dissipation, Cost & Board Area.
In my case, the TPS62182 contributes to more than half of the total power dissipation, which is obvious since it handles a large part of the output current.
Here's where WEBENCH comes in handy: since the TPS62182 handles a large proportion of the power in this demo design, using a more efficient regulator might be a good idea, even if it costs more. The list on the lower right corner shows compatible parts that could work as substitutes, with the efficiency, board area and cost of each design. This allows the user to very quickly compare and decide on a substitute depending on what he/she wants to optimize for.
Selecting a LM2743:
Select a different part, and WEBENCH will update the design and display it.
WEBENCH also shows you a summary of the design: the efficiency, area and BOM.
The next stage shows you more details: the efficiency curves over the load range, the board layout etc.
Clicking the "Sim" button on the top lets you run a quick simulation for a particular rail. The simulation options available were Steady State, Input Transient, Load Transient & Startup. Each simulation takes around a minute run.
The test parameters eg: value of load current transient, rise time, fall time etc can be changed by clicking on the schematic.
The values of passive components can also be changed. I changed the value of an inductor, and the tool let me select an inductor from a list of components from different manufacturers.
The simulation tool also has 'probe's which let the user scope the current and voltage at various components, which can be viewed on the graph. There are a couple of display options for line width,color and opacity, which I found to be very useful because the ripple from switching supplies will basically cover up any other signal.
After the electrical design and simulation is complete, the Thermal tools lets the user simulate the thermal performance of the design. The tools lets you select the ambient temperature, edge temperature & whether or not a fan is present. The thickness of different Cu layers can also be customized.
It has an inbuilt PCB Viewer too:
The thermal simulations ran pretty quickly, and a list lets you compare the results of different runs. You can even compare the performance of different designs.
At the end, you get options to export your design: print/share project, CAD Export = schematic & board layout & simulation files.
The "Build" option directs you to the TI Store where you can order ICs, EVMs & Kits. The Help Center also states that it can automatically generate a report (.PDF) that contains the schematic, BOM, part numbers, performance charts, operating values, design values etc.
There is an "Op Vals" tabs that lets you calculate the operating characteristics of the circuit based on the design. The Help Center states that these calculations are done based on equations from datasheets & design calculations. The operating point can be modified for a different value of voltage or current.
The Sensitivity Matrix lets you see how the design will work when component variation (selectable between 0.1% & 25%) will affect values of different parameters for a given value of Vin & Iout. The Operating Threshold was 0.1% by default, which is a bit too strict, so I changed it to 5% later.
Worst Case Analysis does a sweep of input voltage & output current over their entire range and calculates the operating value of selected components:
Finally, the Charts tab lets you generate charts for different parameters - efficiency, duty cycle, inductor power dissipation, output power etc. versus output current, for different values of input voltage.
The high level of integration & features are very impressive:
It automatically imports everything from the FPGA power supply rail requirements to the specifications of TI's parts, and even the passives.
The specifications of parts are also imported & calculations are performed automatically based on values & design equations in the datasheets.
Inbuilt tools for electronic (steady state, transient etc.) & thermal testing.
Calculates efficiency, board area & BOM cost contribution not only of the whole design, but a subsection (i.e. power rail). This makes it very easy to select between different designs, and perform further optimization by modifying a particular part of a given design eg. the designer could first optimize the overall design for low cost, but if he/she later notices that a particular rail handles a lot of power and the efficiency is low (and it contributes to a large proportion of power dissipation), WEBENCH makes it very easy to select an alternate part with higher efficiency.
The BETA features (Sensitivity Matrix & Worst Case Analysis) take practical issues like component tolerances into account and help find weak spots in the design.
Automatic summary (report) and chart generation
Intuitive & easy to use GUI
Performance issues: Every time a part is updated, it takes more than 20 seconds to update the design. This might be due to the fact that it needs to import the new part and download some resources from the server, but this tends to get in the way if you want to quickly swap parts and compare designs. I've spent a total of around 10 hours with the tool, and on some rare occasions it would show the 'loading' popup, and not load. I waited for 10 minutes once, and ended up refreshing the page.
The GUI is intuitive and easy to use, but it tends to be slow at times, which is probably because of Flash player.
- Analog for Xilinx® FPGAs
- Xilinx Power Estimator User Guide
- Digilent: Arty A7 Reference Manual & Schematic
- Artix-7 FPGAs Data Sheet: DC and AC Switching Characteristics (DS181)
- Newark: FPGA Power
- TI Designs: TIDA-050000 - Integrated Power Supply Reference Design for Xilinx Artix®-7, Spartan®-7, and Zynq®-7000 FPGAs
- Maxim: Power-Supply Solutions for Xilinx FPGAs
- TI WEBENCH Help Center