You are on page 1of 11

Field Programmable

Gate Array
What is FPGA?
FPGA- Field Programmable Gate Arrays is an Integrated Circuit
which can be reconfigured again and again to perform different tasks
as desired.
FPGAs are semiconductor devices which contain programmable logic
blocks and interconnection circuits.
Advantages of using an FPGA
1. An FPGA likely has a quicker time-to-market because they are not
pre-designed to perform certain tasks.
2. FPGA can be reprogrammed over and over for different tasks, making
them very cost efficient by avoiding recurring expenses.
3. Because FPGA’s are reprogrammable, they are reusable, making
them flexible for faster prototyping and mistakes are not so costly.
3. FPGAs set themselves apart in highly parallelized tasks. Many applications
rely on the parallel execution of identical operations; the ability to
configure the FPGA’s CLBs into hundreds or thousands of identical
processing blocks has applications in image processing, artificial
intelligence (AI).
4. The FPGA has a simpler design cycle to manage and requires less manual
intervention. The software will handle much of the routing, placement,
and timing automatically to match the programmed specification.
FPGA Architecture
FPGA architecture consists of three
types of modules:
1. Configurable logic blocks (CLB)
2. Switch Matrix/ Interconnection
Wires
3. I/O blocks or Pads
Configurable logic blocks (CLB)
Logic Block contains
1. MUX (Multiplexer)
2. Flip-flop
3. LUT(Look Up Table)

MUX is used for selection logic


Flip-flops can be used to register data
every clock cycle, latch data, or enable
signals.
•LUT implements the combinational logical functions.
•The LUT in an FPGA holds a custom truth table, which is loaded when the chip is
powered up.
• Depending on the combination of input variables supplied by the user, the
appropriate memory bit will appear at LUT’s output pin.
Switch Matrix/ Interconnection Wires
The programmable routing establishes a connection between logic blocks and Input/output blocks to
complete a user-defined design unit.

Programmable I/O pads


The programmable I/O pads are used to interface the logic blocks and routing architecture to the
external components.
FPGA Configuration
•To define the behavior of the FPGA, the user provides a design in a hardware
description language (HDL) or as a schematic design.
•Once the design and validation process is complete, the binary file generated-
bitstream file, is used to (re-)configure the FPGA.
•A bitstream is a file which describes how an FPGA has to be configured, i.e., how
to connect the gates, flip-flops and other digital circuit elements within the
FPGA through the interconnect matrix.
• This file is transferred to the FPGA/CPLD via a serial interface or to an external
memory device like an EEPROM.
• There is an inbuilt configuration circuit inside FPGAs which reads this bitstream
file and configures the FPGA accordingly.
Applications of FPGAs

You might also like