Imagine that the processor, instead of executing a certain set of instructions, will be rebuilt for each program and turn the algorithm directly into "iron". That is how FPGs work. In this article, we will explain how this is possible at all, and introduce you to various FPGA factors.
What is FPGA?
FPGA stands for field-programmable gate array (user-programmable gate arrays, FPGA). More generally, they are called FPGA accelerator. With the help of FPGA, you can literally design digital circuits sitting at home with an available debugging board on the table and the developer's software.
FPGAs are widely distributed in various areas- Network Security Services, consumer electronics, telecom equipment, and accelerator boards for use in data centers, robotics, and prototyping of ASIC chips.
An FPGA accelerator is the same custom ASIC chip consisting of the same transistors that trigger, register, multiplexer, and other logic elements for common circuits are assembled from. Change the order of connection of these transistors, of course, impossible. But architecturally, the microcircuit is built in such a clever way that it is possible to change the switching of signals between larger blocks; they are called CLB - programmable logic blocks.
You can also change the logical function that the CLB performs. This is achieved due to the fact that the entire chip is penetrated by cells of the configuration memory Static RAM. Each bit of this memory either controls some signal switching key or is part of the truth table of a logic function that CLB implements.
Since the configuration memory is built using Static RAM technology, then, first, when powering on the FPGA, the microchip must be configured, and secondly, the microcircuit can be reconfigured almost infinitely many times.
The first FPGA chip, created by Xilinx in 1985, contained only 64 CLB. At that time, the integration of transistors on microcircuits was much lower than it is now, and "loose logic" microcircuits were often used in digital devices. There were separate chip registers, counters, multiplexers, multipliers. For a specific device, a printed circuit board was created on which these low-integration chips were installed.
The use of FPGA allowed abandoning this approach. Even 64 CLB FPGAs save space on the PCB, and the availability of reconfiguration adds the ability to update the functionality of devices after production during operation, as they IT Support Nottingham say in the field (hence the name field-programmable gate array).
Due to the fact that inside the FPGA, you can create any hardware digital circuit (the main thing is to have enough resources), one of the important applications of the FPGA is the prototyping of ASIC chips.
The development of ASIC is very complex and costly, the cost of the error is very high, and the question of testing logic is critical. Therefore, one of the development stages before starting work on the physical topology of the circuit was its prototyping on one or several FPGA crystals.
For the development of ASIC releases special fees containing many FPGA interconnected. The prototype chip works at much lower frequencies (maybe tens of megahertz), but it saves on identifying problems and bugs.
However, there are more interesting applications for FPGA. The flexible structure of the FPGA allows you to implement hardware schemes for high-speed and parallel data processing with the ability to change the algorithm.
FPGA in the cloud/network security services
In cloud computing, FPGAs are used for fast counting, speeding up network traffic and accessing data arrays. This also includes the use of FPGA for high-frequency trading on exchanges. FPGA cards with PCI Express and production optical network interface are inserted into the servers.
Cryptographic algorithms, the comparison of DNA sequences and scientific problems such as molecular dynamics fit perfectly on the FPGA. Microsoft has been using FPGA for a long time to speed up the search service Bing, as well as for organizing Software Defined Networking inside the Azure cloud.
The boom of machine learning also did not bypass the FPGA. Companies like Xilinx and Intel offer FPGA based tools for working with deep neural networks. They allow you to get FPGA firmware that implements this or that network directly from frameworks like Tensor Flow.
And all this can be tried without leaving your home and using IT Services Nottingham. For example, in Amazon, you can rent a virtual machine with access to the FPGA card and any development tools, including machine learning.
What else is interesting doing on the FPGA? But why not just do it! Robotics, unmanned vehicles, drones, scientific instruments, medical equipment, custom mobile devices, smart surveillance cameras and so on.
Traditionally, FPGAs were used for digital processing of one-dimensional signals (and competed with DSP processors) in radar devices and radio transceivers. With the increasing integration of microcircuits and the increased performance of the platform, FPGAs have become increasingly used for high-performance computing, for example, for processing two-dimensional signals at the edge of the cloud.