Field Programmable Gate Array
Field Programmable Gate Array
(FPGA)
Prepared
By
Sisay Bogale
Presentation Overview
Modern FPGA devices consist of up to two million logic cells that can be configured to
implement a variety of software algorithms.
Modern FPGAs provide the following features:
Configurable Logic Blocks(CLB): To provide capabilities for implementing logic functions as well as
registers.
Hard macro intellectual property (IP) cores: such as (Ethernet MAC, Transceivers, Multipliers, DSP
blocks, …): To provide efficient complex functions.
Clock management resources: Clock distribution and frequency synthesis and clock shifting
capabilities.
Routing resources: To provide interconnectivity among all logic blocks and hard macros.
Architecture of a General FPGA Device
The basic structure of an FPGA is composed of:
Configurable logic blocks: to implement combinational and sequential logic.
Flip-Flop (FF): This register element stores the result of the LUT.
Configurable I/O blocks: These physically available ports get data in and out of the FPGA.
Conceptual Structure of an FPGA Device
Configurable Logic Blocks (CLB)
The logic block used in an FPGA strongly influences the FPGA speed and area-efficiency.
While many different logic blocks have been used in FPGAs, most current commercial
FPGAs use logic blocks based on: Look-up Table (LUTs).
Structure of LUT:
Cont.…
The LUT is the basic building block of an FPGA and is capable of implementing any logic
function of N Boolean variables.
this element is a truth table in which different combinations of the inputs implement different
functions to yield output values.
The limit on the size of the truth table is N, where N represents the number of inputs to the
LUT.
For the general N -input LUT, the number of memory locations accessed by the table is:
Commercial FPGAs can be classified into the four groups, based on their routing architecture.
Island – Style FPGA
Row – Based FPGA
Sea – Gates FPGA
Hierarchical FPGA
The Four Classes of FPGA
An Island – Based FPGA
Configurable I/O Blocks
Used to bring signals onto the chip and send them back off again.
Typically there are pull up resistors on the outputs and sometimes pull down resistors.
The polarity of the output can usually be programmed for active high or active low output.
The Design Flow and Programming
Application and FPGA Families
Application
Specific Applications of FPGAs include:
Digital signal processing
Software-defined radio
ASIC prototyping
Medical imaging
Speech recognition, cryptography, bioinformatics, radio astronomy
FPGA Families