Why FPGA boards are so expensive?
When looking for an FPGA board, I was really surprised to see that they are quite expensive. At first, I thought that the FPGA was the most expensive part (it is) and that the rest was just a simple carrier with some connectors on it. It is more or less the case for low-end cards, but I quickly discovered that the price of FPGA dev kits is always about twice the price of the FPGA they sport. So, a 40€ FPGA will be soldered on a 40€ carrier to make a 80€ dev kit, and a 250€ FPGA will be installed on a 250€ carrier to make a 500€ dev kit.
My question was: why? Why do we pay so much for development kits on which expensive FPGAs are installed (for some definitions of "expensive", there are dev kits out there that cost more than a car). I started to do a bit of research to try to discover where this price comes from. In this blog post, I show all the information I got. If you are only interested in the conclusion, feel free to jump directly to it. In short: the price is plenty justified!
Prices and methodology
I base my research on the Digilent Nexys Video board, the only FPGA board I own (this allows for some nice pictures). What is also interesting about this board is that its price can be directly compared to other Digilent and non-Digilent boards:
Board | Price (€ taxes included) |
---|---|
Digilent Nexys Video (Artix 7 200T) | 533.28 |
Digilent Nexys 4 DDR (Artix 7 100T) | 341.98 |
Artix 7 200T + 1GB RAM micromodule | 332.01 |
Micromodule carrier lite | 117.81 |
Less minimal micromodule carrier | 236.81 |
All the prices are obtained from Trenz Electronic, the only place where micromodules are available. The rest of this article will use dollar prices from Digilent and other manufacturers, but we can already observe some relations:
- On Digilent boards, going from an Artix 100T to 200T adds 191 € to the price, even though the 200T FPGA is only about 70$ more expensive than the 100T FPGA. When looking at ratios, the Nexys Video is 1.6x the price of the Nexys 4 DDR, and the Artix 7 200T is 1.6x the price of the 100T. What is around the FPGA must therefore scale at the same rate as the FPGA itself.
- The Trenz micromodules are available at a very good price, but the carrier boards seem ridiculously expensive! Paying more than 200€ for an HDMI port, two LEDs and an USB-to-serial chip does not seem justified.
The price of components are obtained from Digikey (in dollars). When possible, I take single-unit prices. This allows me to have an idea of a price that Digilent may make us pay for the component (instead of what they paid), and this takes into consideration that Nexys boards are not the highest-volume product of the century. FPGA fans are quite rare, and FPGA fans willing to spend 500€ on a card are even rarer.
Shiny controllers
Now, let's start with the shiny stuff. In this section, I show the price of some components found on the Nexys Video board (prices from Digikey, obtained on July 4th, 2016). How much do we pay for the OLED display or the audio chip that we may not use? This section answers that.
512MB DDR3 SDRAM
512MB of 800 Mbps DDR3 RAM is available on the Nexys Video. The exact part used (as seen on the schematics published by Digilent) is a MT41K256M16HA-187E
at 8.13 USD. The chip on the picture above looks like a RAM chip (it is quite large, has a ball grid array package and is close to the FPGA) but does not have any meaningful markings. However, it is identified as IC25 on the board, and the schematics say that the RAM chip is soldered at this location.
Network controller and HDMI buffer
The Ethernet port of the board is controlled by a Realtek RTL8211E
PHY at about 2 USD. The HDMI ports are driven by an AD8195
buffer chip at 4.39 USD (sorry, I forgot to take a picture of this chip).
PIC microcontroller
A PIC microcontroller gives a bit more body to the Nexys Video board and makes its use simpler. Basically, it manages the FPGA. When the board is booting-up, the microcontroller programs the FPGA from an USB drive or SD-card (FAT32 format, selects the first .bin file it finds in the root directory), or let it program itself from the QSPI flash device or a JTAG connection. Once the FPGA is programmed, the microcontroller changes mode and acts as a PS/2 device. We can plug an USB mouse or keyboard to the Nexys Video and use them as PS/2 devices on the FPGA side.
The microcontroller itself, a PIC24FJ128
, costs 4.81 USD, but we have to factor in the development cost of the firmware. This is a price I cannot really evaluate as I don't know the development effort required from Digilent, the number of Nexys boards they sell, and plenty other information.
OLED screen
The OLED screen is typically something that I didn't need, and I was afraid that it contributed significantly to the price of the board. However, the UG-2832HSWEG04
screen with included controller costs only 3.85 USD. We have not yet found any very expensive part on the board.
Audio controller
The various jacks available on the Nexys Video board are controlled by an ADAU 1761BCPZ
audio controller. This is a fairly complex and powerful chip that is even able to resample signals, route them and do plenty other stuff. This is like a mini-soundcard, programmable over I2C. The chip costs 11 USD, a hefty price compared to other components.
FTDI chips
Two FTDI chips are used, a FT2232HQ
for a fast USB-to-parallel connection (used by the FPGA itself and as a USB-to-JTAG port), and a FT232RQ
for a much slower USB-to-serial asynchronous connection (used by the FPGA when a very simple serial interface is needed). The large FT2232HQ
chip costs 6.70 USD, the smaller FT232RQ
costs 4.50 USD.
QSPI flash
32 MB of QSPI flash is available on the Nexys Video. Part of it is used to store an FPGA bitstream, and the rest can be used for whatever we want. The flash chip is also very fast, as programming the FPGA from it takes even less time than over USB-to-JTAG (and much less time than from an USB thumb drive). The FL256SA
costs 3.86 USD
The boring stuff
The previous section talked about chips and devices that sound cool and provide user-friendly features. They are devices we care about, because adding them adds features and removing them removes features. When summing up their cost, we get 49.24 USD, or about 9.8 % of the price of the board (if considering the American 490 USD price).
Now, my research taught me that the devil is in the details, and here the details consist of power consumption. The FPGA can burn as much as 10W (and become so hot that you cannot touch the heatsink anymore), other devices (especially the RAM, the FTDI chips and the microcontroller) also consume several watts together, and everything need a very high quality power supply. For instance, the FPGA core needs between 0.980 and 1.050 volts, at up to 8 amps! Producing such a stable voltage at such high currents is very challenging. Moreover, a dozen other voltages are required (1.0V, 1.2V, 1.3V, 1.5V, 3.3V, 5.0V among others).
Voltage regulators
All the voltages required on the Nexys Video board are produced by a succession of ADP voltage regulators. They are chained or run in parallel, and need to be very efficient. The input voltage (from the power brick) is 12V, and 1V must be produced at 8 amps. A simple approach that dissipates the "excess voltage" as heat would not work, as about 88W would be needed for that apprach (losing 11V at 8A). This is more power than consumed by a high-end Intel CPU!
Here is a table of all the high-quality switching power regulators found on the Nexys Video board
Reference | Cost (USD) |
---|---|
ADP5052ACPZ-R7 |
8.58 |
ADP2384ACPZN |
4.63 |
ADG804YRM |
3.36 |
ADP2370ACPZ-5.0-R7 |
3.73 |
ADR127BUJZ |
6.04 |
ADP123AUJZ |
1.13 |
ADP123AUJZ |
1.13 |
ADP123AUJZ |
1.13 |
Total | 29.73 |
To that, we have to add high-quality and large capacitors, and 1% tolerance resistors. I did not find the exact reference of the resistors, capacitors and inductances used, but it seems that they are worth at least 10 USD.
The board itself
We tend to forget that, but printing PCBs is quite expensive. Moreover, we are not talking about a simple one-sided PCB printed at a low-cost factory. As seen on the picture below, there are many traces, many vias that are really close to each other, and routing likely requires the use of several PCB layers. To give an idea, the default Power Analysis configuration in Vivado assumes that 12 to 15 PCB layers are used. This is absolutely huge!
I tried to take a picture of the edge of the Nexys Video board, but we reach here the limits of my image acquisition apparatus (a 35x zoom Canon SX30-IS with some close-up add-on lenses):
I cannot really extract much information from the above image as I'm not (at all) a PCB designer. For instance, I don't know if each darker line indicates a separation between layers. I assume that the lighter portion of the image comes from when the PCB was cut, but I don't really know. For what I see, there may be around 8 layers in this PCB.
After a very quick research, it seems that an 8-layers board the size of the Nexys Video would cost about 30 USD in 500 unit batches. But as with software costs, only Digilent knows how much the PCB costs.
Power supply
The power supply shipped with the Nexys Video board is able to output at most 36W at 12V, 3A. One day, I let it plugged in the wall overnight, with the board shut down (so, no load on the brick). The next morning, the brick was completely cool. I became curious and loaded a very power-hungry design on the Nexys Video board. The FPGA became really hot (it reached 73 °C, 163 °F), the various voltage regulators slightly warm, the RAM quite warm too. And the brick was still completely cool.
It seems that Digilent really paid attention to the power delivery system of the Nexys Video board, spending about 40 USD on on-board voltage regulators, and using a very high quality power supply that remains cool whatever happens. To give you an idea, my laptop consumes about 9W at idle, and its power brick (from Dell) is a very nice hand warmer. When the Nexys Video consumes the same amount of power, its power supply remains completely cool.
Based on what can be seen on the above picture, I have found a very similar (if not identical) power supply on Amazon for 15 USD.
Engineering costs and software
Here is a very small section in which I point out that designing a board does not simply consist of buying and soldering components. The components must be carefully chosen, the PCB must be place and routed, the microcontroller firmware has to be developed, along with Vivado programming drivers (and the Digilent Adept suite that can also be used to program the FPGA). Designing such a board may require several years, several failures and adjustments, and represents a large investment for a very small user base.
Here, I talk about Digilent, but the same is true for other brands. In fact, there is no bargain FPGA board on the market. Nobody managed to produce an Artix 7 200T board at 250$ (the consumer price of the FPGA plus some headroom). I also know some people that decided to build their boards themselves, but they finally took several years to do so and spent more than the price of an already-existing board.
Conclusion
Here is a table summarizing the costs listed in this blog post
Description | Reference | Cost (USD) |
---|---|---|
FPGA | XC7A200T-1SBG484C |
218.75 |
512 MB DDR3-800 SDRAM | MT41K256M16HA-187E |
8.13 |
Ethernet PHY | RTL8211E |
2 |
Board microcontroller | PIC24FJ128 |
4.81 |
OLED display | UG-2832HSWEG04 |
3.85 |
Audio in/out chip | ADAU 1761BCPZ |
11 |
HDMI buffer | AD8195 |
4.39 |
FTDI USB-to-parallel | FT2232HQ |
6.70 |
FTDI USB-to-serial | FT232RQ |
4.50 |
32 MB QSPI flash | FL256SA |
3.86 |
Total shiny stuff | 49.24 | |
12V to 3.3V, 1V, 1.8V, 1.5V | ADP5052ACPZ-R7 |
8.58 |
12V to VADJ | ADP2384ACPZN |
4.63 |
Choose VADJ | ADG804YRM |
3.36 |
12V to 5V | ADP2370ACPZ-5.0-R7 |
3.73 |
3.3V to 1.2V | ADP123AUJZ |
1.13 |
3.3V to 1.25V | ADR127BUJZ |
6.04 |
3.3V to 1.0V | ADP123AUJZ |
1.13 |
3.3V to 1.8V | ADP123AUJZ |
1.13 |
Capacitors and inductances | 10 | |
Power supply | 15 | |
Total power delivery | 54.73 | |
Printed Circuit Board | 30 | |
Grand total | 352.72 |
This blog post evaluates the price of the components on the Nexys Video to 352.72 dollars (which is a very, very, very rough estimate). This explains about 70% of the price of the board (490 USD on the Digilent website), the rest being engineering costs, return on investment, software and maintenance costs, etc.
What is interesting to see is that the shiny stuff represents only a very small portion of the costs (less than 10%). A large portion covers the power supply, which was a very big surprise to me. For what I know, larger FPGAs consume more power than smaller ones (and we also tend to want more shiny stuff around expensive FPGAs). This may explain why the ratio between the price of the FPGA and the price of the board remains constant: the beefier the FPGA, the most expensive the power delivery system.
Also, a larger FPGA has a larger package, with more pins, which requires more effort when making the PCB (routing, metal layers, etc). This, for me, also explains why FPGA dev boards are so expensive.
But are they? When looking at the parts list (that does not count all the resistors, capacitors, buttons, LEDs, connectors and screws available on the board, nor the packaging, human costs, etc), I get the feeling that I paid less than I should have (especially since the Nexys Video is on sale on Trenz Electronics). At the end, all those FPGA boards from all those brands do a very nice integration job, and feel finished, polished, well built (the PCB is sturdy and feels luxurious), and some of them even have cases and fans!