Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FPGA Introduction
Introduction
FPGA Architecture
Configuration and routing cells
Basic slice resources available in Xilinx FPGAs
Basic I/O resources available in Xilinx FPGAs
Clocking resources
Memory blocks and distributed memory
Multipliers and DSP blocks
Routing
Spartan 6, Virtex 6, Virtex 7
FPGA Configuration
Basic Architecture 2
Cristian Sisterna ICTP 2012
Introduction
Field
Programmable
Gate
Array
Up to1200 I/O
More than 40 I/O standards. Single ended, Differentials
More than 40.000 Flips-Flops and Look-Up-Tables (LUTs)
Soft-Coded Processors, 8051, ARM3
PLLs and DLLs available (2-12) per device. Up to 550MHz.
Programmable output impedance
Dedicated hard coded blocks:
Processors
PCI E interface
Gigabit transceivers
Dedicated DSP blocks
Memory blocks
RAM Memory
Block
f
CLBs R
i
l
o
a
w
s
DSP
Block
I/O
Block
columns
Cristian Sisterna ICTP 2012
FPGA Architecture (cont.)
11
CLBs
RAM Memory
RAM
DSP
Block
I/O
Block
Com
Cristian Sisterna Interfaces
ICTP 2012
Spartan-6 FPGA Architecture
12
CLB
I/O
CMT
Memory Controller
BUFG
BUFIO
MGT
Block RAM
PCIe Endpoint
DSP48
Spartan 3
Internal
View
ASMBL™
4th Generation 500 MHz
Column-Based
Advanced Logic SmartRAM™
Architecture
BRAM/FIFO
Integrated
Tri-Mode
Ethernet MAC SelectIO with
Cores ChipSync™
Technology:
Integrated 500 MHz 500 MHz - 1 Gbps LVDS
System Monitor Xesium™ Clocking Xtreme DSP™ Slice - 600 Mbps SE
BlockRAM
DSP Slices
High-performance Clocking
Basic Architecture 17
Cristian Sisterna ICTP 2012
Xilinx FPGAs Overview
18
Tipos de Celdas
SRAM
Anti-Fuse
Flash
Flash y SRAM
Reprogrammable Yes No Si
Instant-On No Yes Yes
CLB
Two LUTs
Tow flip-flops
Four outputs
Two combinationals
Two registered
Control Input for FFs
A B C D Z
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
. . .
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1
CLB
Internal
View
Basic Architecture 39
Cristian Sisterna ICTP 2012
S6 - SLICE
Four LUTs
Eight storage elements
LUT/RAM/SRL
Four flip-flop/latches
Four flip-flops
F7MUX and F8MUX LUT/RAM/SRL
01
Basic Architecture 40
Cristian Sisterna ICTP 2012
S6 - 6-Input LUT with Dual Output
A5
A4 D O5
A3 5-LUT
A2
A1
Basic Architecture 41
Cristian Sisterna ICTP 2012
Configuring LUTs as a Shift Register (SRL)
LUT
D D Q
CE CE
CLK
D Q
CE
D Q Q
CE
D Q
LUT CE
A[4:0]
Q31 (cascade out)
Basic Architecture 42
Cristian Sisterna ICTP 2012
Shift Register LUT Example
20 Cycles
Operation A Operation B
64
8 Cycles 12 Cycles
64
Operation C Operation D - NOP
3 Cycles 17 Cycles
Paths are Statically
Balanced
20 Cycles
Basic Architecture 43
Cristian Sisterna ICTP 2012
44
V5
Slice L
Spartan 3
I/O Block
(IOB)
IOSERDES
Parallel to serial
IOLOGIC P
IODELAY converter
IOSERDES
(serializer)
Serial to parallel
LVDS converter
Termination (De-serializer)
IODELAY
Selectable fine-
IOLOGIC grained delay
N
IODELAY
Basic Architecture 48
Cristian Sisterna ICTP 2012
S6 - FPGA Supports 40+ Standards
Basic Architecture 49
Cristian Sisterna ICTP 2012
S6 - FPGA I/O Bank Structure
BANK 0
All I/Os are on the edges of the chip
I/Os are grouped into banks BANK 3 BANK 1
1 2 4
0 0 0
4Kx4
4.095
8Kx2
8.191 0
16Kx1
2Kx8
2047
16+2
0
16.383 1023
Location Constraint:
Basic Architecture 58
Cristian Sisterna ICTP 2012
S6 - Memory Controller
59
EEPROM
Basic Architecture 59
Cristian Sisterna ICTP 2012
FPGA Multipliers and DSP Blocks
P=AxB
36 = 18 x 18
Pipelining (optional)
Transistor de Paso
Y0
PIP
CLKIN CLK0
CLKFB
CLK2X
CLK2X180
DCM
CLKDIV
CLKFX
CLKFX180
Fixed
Skew elimination
on internal clock
signals
Skew
elimination on
external
clock signal
H G F E
DCM DCM
8 4 8
H H
G G
F F
E 8 8 8 8 E
D D
C C
B B
A 8 8 A
4
DCM DCM
D C B A
Dedicated
Clock
Routing:
Real
application
BUFPLL
CMT PLL
GCLK Inputs
CLKIN
6
CLKOUT<5:0> pll_clkout<5:0>
CLKFB
PLL
CLKIN
10
CLKOUT<9:0> dcm1_clkout<9:0>
CLKFB
DCM
CLKIN
10
CLKOUT<9:0> dcm2_clkout<9:0>
CLKFB DCM
Basic Architecture 80
Cristian Sisterna ICTP 2012
Spartan 6 - Virtex 6 - Virtex 7
Virtex-6
40-nm
Virtex-5
65-nm
Virtex-4
90-nm
Virtex-II Pro
130-nm
Virtex-II
150-nm
Virtex-E
180-nm
Virtex
220-nm
Basic Architecture 82
Cristian Sisterna ICTP 2012
Virtex-6 and Spartan-6 FPGA Sub-Families
Virtex-6 Virtex-6 Virtex-6 Virtex-6
CXT FPGA LXT FPGA SXT FPGA HXT FPGA
Logic
Block RAM
DSP
Parallel I/O
Serial I/O
Basic Architecture 84
Cristian Sisterna ICTP 2012
The Xilinx 7 Series FPGAs
Basic Architecture 85
Cristian
Page 85 Sisterna ICTP 2012
FPGA Configuration