Introduction to FPGAs
A Field Programmable Gate Array, or FPGA, is a type of integrated circuit (IC) that enables the
development of custom logic for rapid prototyping and final system design.
Different than other ICs due to their inherent flexibility that allows it to be programmed and re-
programmed via software download.
FPGAs are ideally suited for today’s fastest growing applications, like edge computing, artificial
intelligence (AI), system security, 5G, factory automation, and robotics.
Why FPGAs ??
• Flexibility: Unlike fixed-function ICs, FPGAs allow for reprogramming, enabling faster
prototyping, design iterations, and the ability to update systems post-deployment.
• Performance: FPGAs enable high parallel processing capabilities, essential for real-time
applications like signal processing, image processing, and AI.
• Cost-Effectiveness for Low Volumes: FPGAs reduce costs in small-volume applications,
where designing a custom ASIC would be prohibitively expensive.
Which FPGA should I buy?
• General purpose – designed for a
broad range of application needs
• Embedded vision – designed for
video bridging and processing
• Ultra-low power – designed for
power- and space-constrained
applications
• System control and security –
designed for platform management
and security
An application-specific integrated circuit (ASIC) is an integrated circuit (IC) chip customized for
a particular use, rather than intended for general-purpose use, such as a chip designed. It is
not software programmable to perform a wide variety of different tasks.
Types of FPGAs
FPGA Architecture differs from vendor to vendor
Characterized by
Structure and content of logic block
Structure and content of routing resources
How is an FPGA programmed
FPGA software flow
Basic FPGA architecture
• A basic FPGA architecture consists of thousands of fundamental elements called configurable
logic blocks (CLBs).
• Programmable routing that connects these logic functions
• Input/output (I/O) blocks interface between the FPGA and external devices.
Three key components make up the CLBs: the multiplexer, flipflop, and
LUT in FPGA.
A Lookup Table, as the name suggests, is an actual table that
generates an output based on the inputs. Here is an example of a
lookup table that implements the function of an AND gate.
FPGA Programmable Interconnect
• Routing resources: wires and switches (antifuse or pass transistors) that are used to transport
signals in FPGA chips.
• Routing Channels: dedicated areas with fixed sizes that contain routing resources. Depending on
wire directions in a routing channel, the channel can be called a horizontal channel or a vertical
channel.
Programmable Technology
• SRAM technology
• Antifuse Based Programmable Interconnect
• EEPROM
Programmable
Interconnect
Comparison of Programming
Technologies in FPGA
Embedded Systems Design Using FPGA
Low-End FPGAs
Designed for low power consumption, low logic density, and low complexity per chip.
Examples include:
• Spartan family from Xilinx
• Cyclone family from Intel
Mid-Range FPGAs
Designed for optimum solution between the low-end and high-end FPGAs, balancing
performance and cost. Examples include:
• Arria from Intel
• Artix-7/Kintex-7 series from Xilinx
High-End FPGAs
Designed for logic density and high performance. Examples
include:
• Virtex family from Xilinx