Basics of FPGA Architecture and Applications

The term FPGA stands for Field Programmable Gate Array and, it is a one type of  semiconductor logic chip which can be programmed to become almost any kind of system or digital circuit, similar to PLDs. PLDS are limited to hundreds of gates, but FPGAs supports thousands of gates. The configuration of the FPGA architecture is generally specified using a language, i.e., HDL (Hardware Description language) which is similar to the one used for an ASIC ( Application Specific Integrated Circuit).

Field Programmable Gate Arrays
Field Programmable Gate Arrays

FPGAs can provide a number of advantages over a fixed function ASIC technology such as standard cells. Normally, ASICs takes months to manufacture and the cost of them will be thousands of dollars to obtain the device. But, FPGAs are fabricated in less than a second,the cost will be from a few dollars to a thousand dollars.The flexible nature of the FPGA comes at a significant costin area, power consumption and delay.When compared to a standard cell ASIC, an FPGA requires 20 to 35 times more area, and the speed’s performance will be 3 to 4 times slower than the ASIC. This article describes about theFPGA basics and FPGA architecture module that includes I/O pad, logic blocks and switch matrix. FPGAs are some of the new trending areas of VLSI. Therefore, these are used in  VLSI based projects for electronic engineering students.

FPGA Architecture

The general FPGA architecture consists of three types of modules. They are I/O blocks or Pads, Switch Matrix/ Interconnection Wires and Configurable logic blocks (CLB). The basic FPGA architecture has two dimensional arrays of logic blocks with a means for a user  to arrange the interconnection between the logic blocks. The functions of an FPGA architecture module are discussed below:

  • CLB (Configurable Logic Block) includes digital logic, inputs, outputs. It implements the user logic.
  • Interconnects provide direction between the logic blocks to implement the user logic.
  • Depending on the logic, switch matrix provides switching between interconnects.
  • I/O Pads used for the outside world to communicate with different applications.
FPGA Architecture
FPGA Architecture

Logic Block contains  MUX (Multiplexer), D flip flop and LUT. LUT implements the combinational logical functions; the MUX is used for selection logic, and D flip flop stores the output of the LUT

The basic building block of the FPGA is the Look Up Table based function generator. The number of inputs to the LUT vary from 3,4,6, and even 8 after experiments. Now, we have adaptive LUTs that provides two outputs per single LUT with the implementation of two function generators.

FPGA Logic Block
FPGA Logic Block

Xilinx Virtex-5 is the most popular FPGA, that contains a Look up Table (LUT) which is connected with MUX, and a flip flop as discussed above. Present FPGA consists of about hundreds or thousands of configurable logic blocks. For configuring the FPGA,  Modelsim and Xilinx ISE softwares are used to generate a bitstream file and for development.


Types of FPGAs Based on Applications

Field Programmable Gate Arrays are classified into three types based on applications such as Low-end FPGAs, Mid-range FPGAs and high-end FPGAs.

Types of FPGAs
Types of FPGAs

Low End FPGAs

These types of FPGAs are designed for low power consumption, low logic density and low complexity per chip. Examples of low end FPGAs are Cyclone family from Altera, Spartan family from Xilinx, fusion family from Microsemi and the Mach XO/ICE40 from Lattice semiconductor.

Mid Range FPGAs

These types of FPGAs are the optimum solution between the low-end and high- end FPGAs and these are developed as a balance between the performance and the cost. Examples of Mid range FPGAs are Arria from Altera, Artix-7/Kintex-7 series from Xlinix, IGL002 from Microsemi and ECP3 and ECP5 series from Lattice semiconductor.

High End FPGAs

These types of FPGAs are developed for logic density and high performance. Examples of High end FPGAs are a Stratix family from Altera, Virtex family from Xilinx, Speedster 22i family from Achronix, and ProASIC3 family from Microsemi.

Applications of FPGA:

FPGAs have gained rapid growth over the past decade because they are useful for a wide range of applications. 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.

Usually, FPGAs are kept for particular vertical applications where the production volume is small. For these low-volume applications, the top companies pay in hardware costs per unit. Today, the new performance dynamics and cost have extended the range of viable applications.

Applications of FPGA
Applications of FPGA

Some 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.

FPGA Based Project Ideas:

Here is a list of FPGA-based project ideas for experimenting with Verilog HDL and VHDL for final year engineering students. The list of electronic projects ideas based on FPGA is given below:

FPGA Based Project Ideas
FPGA Based Project Ideas
  1. Security Login System Based on FPGA
  2. FPGA Based Digital Hearing AID CHIP
  3. An FPGA Based Real Time Image Feature Extraction Architecture
  4. FPGA Based Design & Implementation of Mp4 Decoders
  5. FPGA Based Traffic Signal Control System Design and Implementation
  6. FPGA based High Frequency Carrier Generation for Pulse Compression Using Cordic Algorithm
  7. Programmable Logic Block Design and Synthesis with Macro gate and Mixed LUT
  8. Application Specific Instruction Set Processor Design, Implementation, and Study for a Specific DSP Task
  9. Synchronization Unit  Design and Implementation for WCDMA Uplink Receiver
  10. FPGA Implementation of FFT Algorithm for IEEE 802.16e (Mobile WiMAX)
  11. FPGA Based Designing of  GPS (Global Possitioning System)-GSM (Global Systems for Mobiles) Mobile Navigator
  12. Space Vector PWM (Pulse Width Modulation) for Three-Level Converters: a LabVIEW Implementation
  13. Design and Implementation of Programmable Multi Processor platform for High Performance Embedded Processing
  14. High Performance Processor Optimization Extension and Improving for FPGAs
  15. Field Oriented Control Development and Evaluation using LabVIEW FPGA
  16. Direct Digital Frequency Synthesis in FPGAs
  17. Design and Program Multi-Processor Platform for High-Performance Embedded Processing
  18. Design and Integration of Space exploration of Field Programmable Counter Arrays Using FPGA
  19. An FPGA Implementation of the Icecube Telescope for Neutrino Track Detection
  20. Image Interpolation of 3D Display in Firmware
  21. MIMO Sphere System Architecture and Implementation
  22. Superscalar Power Efficient FFT (Fast Fourier Transform) Architecture
  23. linear feedback shift Register (LFSR)  Power optimization  for low power BIST

After spending your valuable time on this article, we believe that, you have got a good idea about FPGA architecture and ABOUT selecting the project topic of your choice from the FPGA based project ideas, and hope that you have enough confidence to take up any topic from the list. For further details and help about these projects, you can write to us in the comments section given below.

Photo Credits:

Comments are closed.