What is FPGA exactly? Field Programmable Gate Array is an integrated circuit that contains programmable logic blocks that can be programmed and re-programmed to do different tasks after they are manufactured.
FPGA programming and the area, in general, is getting more and more popular.
The main vendors in the FPGA market which are producing devices and components right new are Xilinx and Intel (which acquired Altera) - they are producing the most popular FPGA chips and boards and there are also several notable smaller brands like Nullatech, Actel, Bittware etc. The latest generation chips in the market are Xilinx Stratix 10 (intel top FPGA), Xilinx Arria 10, Xilinx Virtex UltraScale+(top Xilinx chip) Xilinx, Xilinx Kintex UltraScale+ and their modification.
Nowadays FPGAs are fabricated on 16 and 14nm technology, that is why they have become more efficient, for example, the latest GPU cards are made on the same nm technology. So, there is a possibility to reprogram the chip on the basis of 14nm technology at hardware scale. Using FPGA, an energy efficient device can be designed, that can conduct a particular operation very fast, for example, to calculate the hash function.
They are used for many tasks, one example of which is data compression in real time. Database writes data on hard drive, it's being compressed in real time and the FPGA boards decompress it. What does it mean? Initially, the database took up 1 terabyte in memory and now it takes only 200 megabytes. In other words, you spend less money buying fast memory and your requests are fulfilled faster than ever before. It allows to carry out read operation from the data medium faster, takes less memory and boosts the database overall.
Of course, it should be pointed out that, one can programme FPGA for crypto mining.
Why mining or blockchain support is so perspective area for FPGA in general?
The most effective devices for mining are ASICs (Application Specific Integrated Circuit) but there are many risks with them.
There is mining on the algorithms that use memory and on algorithms, that don’t. Also, there are algorithms that can change constantly. It is not a secret, that ASICs are created for a specific algorithm, you can’t change it and in a case, when the network’s algorithm changes, the devices stop working. Besides, it is very risky and expensive to produce ASICs with memory which can’t be used for other tasks than mining. But FPGA can be re-programmed or adapted to changes in algorithms and can be used for a huge amount of other tasks. Hence, FPGAs occupy a niche between GPU’s and ASICs. GPUs are universal, they can be used for many tasks, FPGAs are more specialized, but not insofar as ASICs. The difference is not so great, but FPGAs are much faster and energy efficient than GPU for particular tasks.
It shall be understood, that it’s hard to programme on the FPGA chips. The market entry barrier is still extremely high. Apart from the program’s writing, you should know how to program the reasoning capability and be good at discrete mathematics and logical function design. The complexity level of computer programming is rather high than as with GPUs. Here you should be absolutely computer literate and at hardware, scale write the tasks you want to be implemented. It is not easy as with C++ and with a particular library. It should be clear what is the processor system clock, how to simplify the logical circuit and to make it energy efficient. There are a lot of traps and pitfalls in this field.
With GPUs, one can set the program and start mining. But as for FPGAs, it’s harder. Let’s consider, Stratix 10, where when compiling a code, the so-called bitstream, can take a whole day or more with a home notebook. It’s more efficient to buy an expensive desktop to do it faster but not everyone has the means.
When programming the reasoning capability, you create a core, which will work and carry out some functions. You can place a number of such cores depending on FPGA’s size. Every core should carry out the same operation, so if the frequency remains the same, placing for example 10 cores, the effectiveness will be ten times greater. But sometimes the frequency can drop because the more cores you have, the higher the energy consumption would be and this, in turn, will affect the frequency.
Besides, there are almost no programs to install, only some bitstreams, which are precompiled by a group of people for a specific chip. In mining - not every coin is accessible to mine and as for the profitable ones, no one shares how to mine them as they would then become unprofitable soon. But, in the near future, we definitely will have designed a library and IDE for fast programming. Intel wants to create something like an app store for FPGA and already provides several applications.
Basically, a completed FPGA device can be purchased, but it should be noted, that the price for one board with the latest chip is approximately $6,000. If we compare that with GPU devices, the price is about 10 times higher. People take good care of FPGA boards because they are extremely expensive and if something goes wrong with just one of them, a lot will be lost. That is why a liquid cooling system starts playing a key role in this matter. Vendors themselves recommend using liquid cooling and provide water blocks, that are placing on FPGA cards to cool them. In my opinion, the majority of FPGA’s cards will be cooled by liquid. No one will try to use air cooling, because it won’t be effective, even immersion cooling won’t be able to cool such video cards, because of the high density of heat dissipation on the board.
In addition to this, it is hard to get the boards. And for retail, it may cost more than $6,000. The distributors overprice the video cards because they are rare. So it’s better to gather a group of people to save some money on a purchase. There are a lot of discussions on forums and only a few manage to get their hands on them.
Nevertheless, the barrier of entry into the FPGAs market makes it more attractive. If you have more resources than others, and you are prepared to mine with FPGA, the income can potentially be higher. The technology isn’t so widely common, only more advanced guys and companies start mining on FPGA. According to calculations, FPGAs are more energy efficient and profitable, than GPUs. If we compare the algorithms, on which GPUs mine, FPGAs can be ten times and more energy efficient. It means that if your GPU’s and FPGA's cost $0.05 in electicity to run both are effective, but at a cost of $0.20, FPGA are by far more profitable.
Besides, it is important, that the depreciable value, which one can foresee, also will be very high. FPGA boards are efficient and can be used in many fields:
- medicine - for diagnostic and therapeutic applications;
- finance - speed-up financial computing; stock exchange analysis;
- aerospace and defense;
- video production - streaming video, content processing;
- security - secure solutions.
It can be used almost anywhere constant calculating is needed. It can do many functions, but not everyone has enough money and skills to use it in the right way.
In conclusion, it should be stressed out, that the appearance of FPGA allows to expand the mining market. For example in Germany, people can start mining once again. It concerns all countries, where the electricity costs are high because now mining is profitable for those, who pay less for electricity. We can say, that FPGAs can make a revolution in the mining sphere.