Measuring Power Consumption of Add-In FPGA Cards Can Be Easy
Our Mission: If It Is Packets, We Make It Go Faster!
And with packets we mean:
- Networking using TCP/UDP/IP over 10G/25G/50G/100G Ethernet
- PCI Express (PCIe), CXL, OpenCAPI
- Data storage using SATA, SAS, USB, NVMe
- Video image processing using HDMI, DisplayPort, SDI, FPD-III.
For power sensitive applications like datacenter, electric automotive and radar recorder, accurately determining the real power consumption of an FPGA card is crucial. While some FPGA card vendors specify power consumption figures in their datasheets, these values typically represent the upper limit of the card’s electrical and thermal capabilities rather than actual usage. Real power consumption varies significantly based on the specific FPGA design implemented.
However, measuring the real-time power draw of PCIe add-in FPGA cards can be challenging and costly. The traditional method is to place a resistor in series on all the power sources of the FPGA, but the design is typically card-specific and cannot be reused across different FPGA cards. A less development-intensive alternative is to use specialized hardware adapters to intercept the power supply traces of the PCIe slots, though they are often expensive. Relying solely on FPGA implementation tool power estimates can also be unreliable, with deviations of up to a factor of two or more from actual values.
We discovered a simple, quick and universal approach for measuring the power consumption of most add-in FPGA cards — using the ElmorLabs PMD-USB in combination with the ElmorLabs PMD PCIe Slot Power Measurement Adapter. By placing the PMD PCIe Slot Power Measurement Adapter between the mainboard’s PCIe slot and the FPGA card’s gold finger, and connecting it and the FPGA card to the PMD-USB, real-time voltage, current and power flow can be measured via the 12V PCIe rail with high precision for most FPGA cards.
Moreover, as this setup was designed for overclocking measurements, it supports a wide power range of up to 1.6 kW while maintaining reasonable accuracy even at lower power levels around 10 W. During testing in the MLE lab with an ammeter, it demonstrated a precision of ±0.1 A at 20 W (i.e. ±1.2 W).
The PMD-USB features up to four measurement channels with up to five sets of connectors: two sets for EPS and three for PCIe. The PCIe 3 connector shares the measurement channel with the PCIe 2 connector to provide extra power headroom for this channel. While the EPS connectors are primarily designed for measuring CPU power, they are equally effective for measuring FPGA power in our setup. The PMD-USB connectors are the same and you can use spare PCIe power cables, or you can use adapter cables. This is especially advantageous for high-performance FPGA cards like AMD Alveo™ U55C that have multiple power inputs or for the needs of measuring multiple cards’ power at the same time!
On the other hand, the PMD PCIe Slot Power Measurement Adapter, placed between the mainboard and the FPGA card, interrupts the 12 V supply line from the PCIe slot and instead provides an external power input via EPS connector to power the card.
Currently, according to ElmorLabs, the GUI software is only available for Windows. However, for Linux users, we found a lightweight script by bjorntas that supports graphical plotting and CSV file logging. Although the script was originally designed for Windows, it works well on Ubuntu 22.04 with Python 3 and can be used with a Linux serial port device path, such as /dev/ttyUSB0.
This power measurement setup for PCIe add-in FPGA cards is the simplest, fastest and most cost-effective approach to obtain reliably accurate power consumption data — without the need for any development effort. Best of all, it is compatible with most FPGA cards, saving time and resources by eliminating the need for separate development for each card!
🌐 www.missinglinkelectronics.com
MLE (Missing Link Electronics) is offering technologies and solutions for Domain-Specific Architectures, which focus on heterogeneous computing using FPGAs. MLE is headquartered in Silicon Valley with offices in Neu-Ulm and Berlin, Germany.