You are on page 1of 17

Introduction to FPGA

Architecture

ASIC & FPGA

Digital Logic

Programmable Logic Devices


PLD

ASIC & FPGA

FPGA: Field Programmable Gate Array


FPGA is a form of programmable logic device

introduced in 1985 by Xilinx, Inc.


An FPGA consists of an array of configurable logic
blocks; surrounded by programmable I/O blocks,
and connected with programmable interconnects.
Also, there will be clock circuitry
for driving the clock signals to
each logic block.
FPGA Technologies
Antifuse : One Time Programmable
SRAM: Reprogrammable FPGAs,

use SRAM configuration cell


Flash: Reprogrammable and
Nonvolatile
FPGAs
www.iiu.edu.pk

9/11/16

Configurable Logic Blocks (CLBs)


These blocks contain the logic for the FPGA.
The block contains RAM for creating combinatorial

logic functions, also known as lookup tables


(LUTs).
It also contains flip-flops for clocked storage
elements, and multiplexers to route the logic
within the block and to and from external
resources.
The multiplexers also allow
polarity selection and reset
2 LUTs in a CLB
and
clear input selection.
of Xilinx XC4000
www
.iiu.e
du.p

9/11/16

Combinational Logic
Functions
Gates are combined to

create complex circuits


Multiplexer Example
If S=0, Z=A
If S=1, Z=B

Very Common Digital

Circuit
Heavily Used in FPGA
S input is controlled by
Configuration memory
bit
www
.iiu.e
du.p

S A

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
1
1
0
1
0
1

0
0
0
0
1
1
1
1

9/11/16

Look-up Tables
Recall MUX

Example
Configuration
Memory holds
outputs for truth
table
Internal signals
connect to control
signals of
multiplexer to
select value of
www truth
table for any
9
.iiu.e
du.p given input value

9/11/16

Programmable Interconnect
Local interconnects are fast and short
Horizontal and vertical interconnects are of various lengths

www
.iiu.e
du.p

10

9/11/16

Configurable I/O Block (IOBs)


IOB is used to bring signals onto the chip and

send them back off again.


It consists of an input buffer and an output buffer
with three-state and open collector output
controls.
Typically there are pull up resistors on the
outputs.
The polarity of the output can
usually be programmed for
active high or active low output,
and often the slew rate of the
output can be programmed for
www
11
9/11/16
.iiu.efast or slow rise and fall times.
du.p

Logic Block CLB

Look Up Tables

Clocked Logic

Circuit Compilation

Advantages of FPGA

Major FPGA Vendors

You might also like