You are on page 1of 20

What is an FPGA Chip ?

A chip that can be configured


by user to implement different
digital hardware

Configurable Logic Blocks


and Programmable Switch
Matrices

Bit-Stream to configure:
function of each block & The
interconnection between
logic blocks

I/O Block

I/O Block

Field Programmable Gate


Array

I/O Block

I/O Block
Source: [Brown99]

10

CLB Structure

11

CLB Slice
COUT
YB
G4
G3
G2
G1

Y
Look-Up
O
Table

Carry
&
Control
Logic

CK
EC

F5IN
BY
SR
XB
F4
F3
F2
F1

X
Look-Up
Table O

S
D

Carry
&
Control
Logic

CK
EC

CIN
CLK
CE

SLICE

12

LUT (Look-Up Table)


Functionality
x1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

x2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

x3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

x4
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

x1
x2
x3
x4

y
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0

LUT

x1 x2 x3 x4

x1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

x2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

x3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

x4
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

y
0
1
0
0
0
1
0
1
0
1
0
0
1
1
0
0

Look-Up tables
are primary
elements for
logic
implementation
Each LUT can
implement any
function of 4
inputs

x1 x2
y
y

13

Major FPGA Vendors


SRAM-based FPGAs

Xilinx, Inc.
Share over 60% of the market

Altera Corp.

Atmel

Lattice Semiconductor

Flash & antifuse FPGAs

Actel Corp.

Quick Logic Corp.


14

Xilinx

Primary products: FPGAs and the associated CAD software

Programmable
Logic Devices

ISE Alliance and Foundation


Series Design Software

Main headquarters in San Jose, CA


Fabless* Semiconductor and Software Company
UMC (Taiwan) {*Xilinx acquired an equity stake in UMC in
1996}
Seiko Epson (Japan)
TSMC (Taiwan)
15

Xilinx FPGA Families


Old families

0XC3000, XC4000, XC5200


0Old 0.5m, 0.35m and 0.25m technology. Not recommended
for modern designs.
Low Cost Family

0Spartan/XL derived from XC4000


0Spartan-II derived from Virtex
0Spartan-IIE derived from Virtex-E
0Spartan-3
High-performance families

0Virtex (0.22m)
0Virtex-E, Virtex-EM (0.18m)
0Virtex-II, Virtex-II PRO (0.13m)
0Virtex-4 (0.09m)
16

Virtex-II Architecture

Multipliers 18 x 18

Block RAMs

Multipliers 18 x 18

Block RAMs

Multipliers 18 x 18

Block RAMs

Multipliers 18 x 18

Configurable
Logic
Block
Block RAMs

17

I/ O
Block

Virtex-II PROTM Architecture


I/O Block

User
Logic

Interface Core

Multipliers

Block RAM

Source: [Cray, MAPLD04]

18

Virtex 4

Source: [Xilinx]

19

Parameters of most powerful


Virtex devices
Device

Max.
clock
frequency

Slices

Maximum
I/O
pins

BlockRAM

Multiplier
Blocks
(18x18)

Power PC
cores

XC2V6000

420 MHz

33.7 K

1,104

2,592 Kb

144

XC2V8000

420 MHz

46.5 K

1,108

3,024 Kb

168

Virtex II Pro
125

420 MHz

55.6 K

1,200

10,000 Kb

444

Virtex 4

500 MHz

89.1 K

960

6,048 Kb

96

500 MHz

63.2 K

896

9,936 Kb

192

LX 200
Virtex 4
FX 140

20

The Design Cycle


(That we want you to avoid !)
Design and implement
a simple encryption
unit with RC5 cipher
with fixed key

Specification
Functional simulation

Library IEEE;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity RC5_core is
port(
clock, reset, encr_decr: in std_logic;
data_input: in std_logic_vector(31 downto 0);
data_output: out std_logic_vector(31 downto 0);
out_full: in std_logic;
key_input: in std_logic_vector(31 downto 0);
key_read: out std_logic;
);
end RC5_core;

HDL (Hardware
Description Language)
model

Synthesis

Post-synthesis simulation

netlist

21

The Design Cycle


(That we want you to avoid !)
Implementation
(Mapping, Placing & Routing)

Timing simulation

Downloading and Testing


On board testing

22

Mapping
LUT0
LUT4
LUT1

FF1
LUT5

LUT2
FF2
LUT3

23

Placing

FPGA
CLB SLICES

24

Routing

FPGA

Programmable Connections

25

General Architecture of an FPGA-Based


Board

CLK

I/O CARD

Processing
Element
(PE#)

Processing
Element
(PE#)

Processing
Element
(PE#)

BUS
LOCAL
MEMORY

LOCAL
MEMORY

LOCAL
MEMORY

BUS INTERFACE
CONTROLLER

COMMON MEMORY / INTERCONNECT NETWORK

26

Reconfigurable Computing Boards


(Accelerators)

Boards may have one or several interconnected


FPGA chips

Support different bus standards, e.g. PCI, PCI-X,


VME

May have direct real-time data I/O through a


daughter board

Boards may have local onboard memory (OBM)


to handle large data while avoiding the system
bus (e.g. PCI) bottleneck

27

Reconfigurable Computing Boards


(Accelerators)

Many boards per node can be supported

Host program (e.g. C) to interface user (and P)


with board via a board API

Driver API functions may include functionalities


such as Reset, Open, Close, Set Clocks, DMA,
Read, Write, Download Configurations, Interrupt,
Readback

28

Some Reconfigurable Boards Vendors


ANNAPOLIS MICRO SYSTEMS, INC. (www.annapmicro.com)
University of Southern California -USC/ISI (http://www.east.isi.edu).
AMONTEC (www.amontec.com/chameleon.shtml)
XESS Corporation (www.xess.com)
CELOXICA (www.celoxica.com)
CESYS (www.cesys.com)
TRAQUAIR (www.traquair.com)
SILICON SOFTWARE: (www.silicon-software.com)
COMPAQ: (www.research.compaq.com/SRC/pamette/)
ALPHA DATA: (www.alpha-data.com)
Associated Professional Systems: (www.associatedpro.com)
NALLATECH: (www.nallatech.com)

29

You might also like