Architecturally FPGAs are essentially a sea of gates which can be reconfigured to build almost any digital circuit that one can imagine.
This great flexibility along with the ability to reconfigure the device with different designs at-will makes FPGA a better choice compared to ASICs (Application Specific Integrated Circuit) for a lot of applications.
For example, deep learning, AI or application acceleration system can re-program a single FPGA with different algorithms at different times to achieve the best performance. An ASIC would not be as flexible in such situations. In certain applications, the number of individual units manufactured would be very small. Designing and manufacturing ASICs for these applications can be prohibitively expensive. In such situations, FPGA can offer very cost effective but robust solutions.
The module form-factor boards such as the Narvi Spartan 7 FPGA Module make it easier to implement the applications without requiring end-product designers to take care of complex details such as FPGA power supplies, DDR3 routing, etc.
FPGA is used primarily to design digital circuits by writing a program in hardware description languages like VHDL and Veriog. The code is then compiled and downloaded to a Target development board which usually houses the FPGA chip Typical IDE for programming FPGAs is Quartus II from Altera. FPGAs can also be programmed using SOPC and NIOS tools.
Satellites & Space exploration , Defense (Radar, GPS, Missiles) , Telecommunications , Automotive , HFT , DSP , Image processing, HPC (Supercomputers) , ASIC prototyping & emulation , Industrial applications – Motor control, DAS , Medical – Xray & MRI machines, Networking, Commercial applications – eg IPhone 7 / cameras ..
Specific application of an FPGA includes digital signal processing, bioinformatics, device controllers, software-defined radio, random logic, ASIC prototyping, medical imaging, computer hardware emulation, integrating multiple SPLDs, voice recognition, cryptography, filtering and communication encoding and many more.
More Common FPGA Applications are: Aerospace and Defense, Medical Electronics, ASIC Prototyping, Audio, Automotive, Broadcast, Consumer Electronics, Distributed Monetary Systems, Data Center, High Performance Computing, Industrial, Medical, Scientific Instruments, Security systems, Video & Image Processing, Wired Communications, Wireless Communications.
Below are some of the potential applications of FPGAs in no particular order.
- Cryptography
- ASIC prototyping
- Industrial, educational, medical and Scientific Instruments
- Audio/Video and Image processing and broadcasting, Connectivity Solutions. Portable Electronics, Disital Speech Recognition.
- High-performance computing, AI, and Deep Learning
- Military and Space applications, Aerospace and Defense: Avionics/DO-254, Communications, Missiles.
- Automotive Industry: High Resolution Video. Image Processing, Vehicle Networking.
- Bioinformatics
- Broadcasting: Real-Time Video Engine, EdgeQAM, Displays.
- Consumer Electronics: Digital Displays, multifunction printers, flash cartridges.
- High Performance Computing: Servers, SIGINT Systems, High-end RADARs, Data Mining Systems.
- Networking, packet processing, and other communications
- Data Centers: Servers, Gateways, Load Balancing, Web Hosting Security
- Medical Application
- Scientific Instruments
- Security systems
- Wireless Communications
Some of the existing prominent FPGA Vendors
- Altera (Intel)
- Xilinx
- Microsemi
- Lattice
- Achronix
- Quick logic
- Atmel (v few devices)
- FPGA Marketing