FPGA Architecture
FPGA Architecture
ARCHITECTURE
Field Programmable Gate
Array
● (FPGA)
FPGA was introduced in 1985 by xilinx.
● It has very high logic capacity and consists of an array of
programmable logic blocks surrounded by programmable
interconnects.
● It can be configured by end-users to implement specific
applications.
● It can capacity up to multi-millions logic gates and speed up to 500 MHz
FPGA
● Early FPGAs
ARCHITECTURE
N x N array of unit cells (CLB + routing) ,Special routing along
center axis
● Next Generation FPGAs
M x N unit cells , Small block RAMs around edges
● More recent FPGAs
Added block RAM arrays , Added multiplier cores , Adders
processor cores
● Special Functions
Internal SRAM , Embedded Multipliers, DSP blocks, logic
analyzer,CPUs , High speed I/O (~10GHz), DDR/DDRII/DDRIII
SDRAM interfaces
FPGA
ARCHITECTURE
There are three primary configurable
elements in FPGA:
● Configurable Logic Block
(CLB): It implement different
functions.
● Input/Output Block (IOB) : It
provides the interface between
external pins and internal signal
lines.
● Programmable Routing
channel
: It controls the connections.
CONFIGURABLE LOGIC
BLOCK(CLB)
● Repeating logic source in FPGA
● Components in CLB executes complex logic function, implement
memory function and synchronize code on FPGA
● CLBs contain smaller components like,
❏ Flip flops
❏ Look up tables(LUT)
❏ Multiplexers
● Allows user to implement any logical function within chip
● It provides basic computations and storage element used in digital
system
IMPLEMENTED IN CONFIGURABLE
N- INPUT LOOK UP LOGIC BLOCK
TABLE
CLB contd..
● Each CLB contains two basic
structures called Slice
● Each basic Slice contains 4
look-up tables, 4 storage units, a
wide function multiplexer, and
carry logic
● This basic structure (Slice) is
called SLICEL.
● Besides, some Slice also includes
using RAM to store data and the
function of shifting using 32-bit
registers.
● The basic structure that supports
these functions is called SLICEM.
CLB EXAMPLES
XILINX LOGIC BLOCK
● A SRAM function as LUT
● Address line of SRAM as input and Output of SRAM gives logic output
ACTEL LOGIC BLOCK
● Consist of multiple number of multiplexers and logic gates
● If input of multiplexer are connected to constant or to a signal, it can be
used to implement different logic functions.
ALTERA - LUT [Alter “Flex”, Altera “Max”]
QUICKLOGIC - LUT
ATMEL - Multiplexers and basic gates
CLB EXAMPLES
● Artix - 7
SLICEL
Four 6- input
LUT
Eight D- Flip
flops
Adders
MUXs
INPUT / OUTPUT BLOCK
(IOB)
• Two types of IOBS are there
a. Dedicated for configuration of FPGA
b. User Configurable
• Input/output (I/O) Block is used to bring
signals onto the chip and send them back off
again.
• An i/o pin in the input/output block can be used
for input,output and both.
• The input and output paths contain edge
triggered D flip flops. They are selectable by
multiplexers.
An input/output block (IOB) for a field programmable
gate array (FPGA) device includes: