Beruflich Dokumente
Kultur Dokumente
Objectives
After completing this module, you will be able to:
FPGA Introduction 2
2011 Xilinx, Inc. All Rights Reserved
Outline
Power of Parallelism
Virtex-5 FPGA Architecture
Latest Families
Virtex-6/Spartan-6 Families
Virtex-7 Families
FPGA Introduction 3
2011 Xilinx, Inc. All Rights Reserved
I/O
Cycles expended
communicating with
outside world or other
processors
Program
Memory
Registers
Instruction
Decode
ALU
Fixed bit
width.
Algorithm
may not
require all
bits
Memory
FPGA Introduction 4
2011 Xilinx, Inc. All Rights Reserved
Sequential Processing
Limits System Performance
40
35
30
25
Channel
Density
or
Sample
Rate
20
15
10
2 46 8
16
24
32
40
48
56
64
72
80
88
96
104
No. of
coefficients
Algorithmic Complexity
FPGA Introduction 5
2011 Xilinx, Inc. All Rights Reserved
Multiply Accumulate
Single Engine
Sequential processing
limits data throughput
Time-shared MAC unit
High clock frequency creates
difficult system challenge
Data In
Reg
Loop
Algorithm
256 times
MAC
unit
Data Out
FPGA Introduction 6
2011 Xilinx, Inc. All Rights Reserved
Multiply Accumulate
Multiple Engines
Parallel processing maximizes
data throughput
Support any level of parallelism
Optimal performance/cost
tradeoff
Data In
Reg1
Reg0
C0
C1
Reg2
C2
Reg255
.... C255
Data Out
Flexible architecture
Distributed DSP resources (LUT,
registers, multipliers, & memory)
FPGA Introduction 7
2011 Xilinx, Inc. All Rights Reserved
Outline
Power of Parallelism
Virtex-5 FPGA Architecture
Latest Families
Virtex-6/Spartan-6 Families
Virtex-7 Families
FPGA Introduction 8
2011 Xilinx, Inc. All Rights Reserved
Overview
All Xilinx FPGAs contain the same basic resources
Slices grouped into Configurable Logic Blocks (CLBs)
Contain combinatorial logic and register resources
IOBs
Interface between the FPGA and the outside world
Programmable interconnect
Other resources
Memory
Multipliers
Global clock buffers
Boundary scan logic
FPGA Introduction 9
2011 Xilinx, Inc. All Rights Reserved
CLB
BRAM
I/O
CMT
BUFGMUX
DSP48E
BUFIO & BUFR
FPGA Introduction 10
2011 Xilinx, Inc. All Rights Reserved
Virtex-5 Family
The Ultimate System Integration Platform
Logic
RAM
DSP
Parallel I/Os
Serial I/Os
PPC processor
Logic/Serial DSP/Serial
Logic
Emb./Serial
Emb
./Serial
Slice
Slice3 1
Increased performance
Slice 1
Slice 2
Slice 0
Slice 0
Increased utilization
FPGA Introduction 12
2011 Xilinx, Inc. All Rights Reserved
FPGA Introduction 13
2011 Xilinx, Inc. All Rights Reserved
SLICEL
SLICEL
SLICEM
SLICEL
SLICEL
SLICEL
SLICEL
SLICEL
SLICEM
SLICEM
SLICEL
SLICEL
FPGA Introduction 14
2011 Xilinx, Inc. All Rights Reserved
A5
A4
A3
5-LUT
A2
A1
O6
A5
A4
A3
5-LUT
A2
A1
O5
FPGA Introduction 15
2011 Xilinx, Inc. All Rights Reserved
SLICEM
Distributed (LUT) RAM
64-bit blocks in each SLICEM LUT
Single-port, dual-port, multi-port block RAM
Slice3
Slice3 Slice3
Slice3
Logic
Logic RAM
Shift Register
Logic RAM
Shift Register
Slice3 Slice3
Slice3
Logic
Logic RAM
Shift Register
Logic RAM
Shift Register
Logic
Slice3
Logic
Slice3 Slice3
Logic RAM
Shift Register
Logic
R
A
M
R
A
M
Slice3
Logic
Logic
Slice3
Logic RAM
Shift Register
R
A
M
FPGA Introduction 16
2011 Xilinx, Inc. All Rights Reserved
Single
Port
32x2
32x4
32x6
32x8
64x1
64x2
64x3
64x4
128x1
128x2
256x1
Dual
Port
Simple
Dual Port
32x2D
32x4D
64x1D
64x2D
128x1D
32x6SDP
64x3SDP
Quad
Port
32x2Q
64x1Q
Various configurations
Single port
One LUT6 = 64x1 or 32x2 RAM
Cascadable up to 256x1 RAM
Quad-port (Q)
1 read / write port + 3 read-only ports
LUT
D
CE
D
CE
D
CE
D
CE
A[4:0]
Q31 (cascade out)
FPGA Introduction 18
2011 Xilinx, Inc. All Rights Reserved
3636-kb
BRAM /
FIFO
or
1818-kb
BRAM /
FIFO
FPGA Introduction 19
2011 Xilinx, Inc. All Rights Reserved
ALU Mode
Dedicated A
Cascading
Pattern Detection
FPGA Introduction 20
2011 Xilinx, Inc. All Rights Reserved
10
DSP48_1
OPMODE 0010101
ALUMODE 0000
B[34:17]
18
ACIN
A
DSP48_0
A[24:0]
OPMODE 0000101
ALUMODE 0000
0,B[16:0]
P[42:0] = OUT[59:17]
SHIFT 17
25
P
18
P[16:0] = OUT[16:0]
FPGA Introduction 21
2011 Xilinx, Inc. All Rights Reserved
Outline
Power of Parallelism
Virtex-5 FPGA Architecture
Latest Families
Virtex-6/Spartan-6 Families
Virtex-7 Families
FPGA Introduction 22
2011 Xilinx, Inc. All Rights Reserved
11
Designers Eccentrics
Higher System Performance
More design margin to simplify designs
Higher integrated functionality
Lower Power
Help meet power budgets
Eliminate heat sinks & fans
Prevent thermal runaway
FPGA Introduction 23
2011 Xilinx, Inc. All Rights Reserved
Architecture Alignment
Spartan-6 FPGAs
Virtex-6 FPGAs
760K
Logic Cell
Device
Common Resources
150K
Logic Cell
Device
LUT-6 CLB
BlockRAM
DSP Slices
High-performance Clocking
FIFO Logic
Parallel I/O
Tri-mode EMAC
HSS Transceivers*
System Monitor
PCIe
Interface
12
Virtex-6
LXT FPGA
Spartan-6
LXT FPGA
Spartan-6
LX FPGA
Virtex-6
HXT FPGA
Virtex-6
SXT FPGA
Logic
Block RAM
DSP
Parallel I/O
Serial I/O
Lowest Cost Logic
FPGA Introduction 25
2011 Xilinx, Inc. All Rights Reserved
Slice
LUT
LUT
Slice
LUT
LUT
LUT
LUT
LUT
LUT
CLB
Cost Benefits
Can pack logic and memory functions more
efficiently
FPGA Introduction 26
2011 Xilinx, Inc. All Rights Reserved
13
Pattern detector
LUT6
8 Registers
Carry Logic
Wide Function Muxes
Distributed RAM / SRL logic
SliceL (25%)
LUT6
8 Registers
Carry Logic
Wide Function Muxes
SliceX (50%)
LUT6
Optimized for Logic
8 Registers
Slice mix chosen for the optimal balance of Cost, Power & Performance
FPGA Introduction 28
2011 Xilinx, Inc. All Rights Reserved
14
18
A0
18
A1
48
PCOUT
CCOUT
BCOUT
MFOUT
D:A:B
18
18
18
CFOUT
+/-
48
P
0
Z
48
OPMODE[6,4]
18
BCIN
36 0
48
CIN
Dual B, D
Register
With
Pre-adder
PCIN
18
18 X 18
OPMODE[7]
12
OPMODE[5]
18
OPMODE[3:0]
FPGA Introduction 29
2011 Xilinx, Inc. All Rights Reserved
Outline
Power of Parallelism
Virtex-5 FPGA Architecture
Latest Families
Virtex-6/Spartan-6 Families
Virtex-7 Families
FPGA Introduction 30
2011 Xilinx, Inc. All Rights Reserved
15
Higher Performance
Improved Productivity
Reduce Capital and Operating Expenses
(OPEX, CAPEX)
On-Chip Memory
36Kbit/18Kbit Block RAM
Enhanced Connectivity
PCIe Interface Blocks
DSP Engines
DSP48E1 Slices
Artix-7 FPGA
Kintex-7 FPGA
16
FPGA Introduction 33
2011 Xilinx, Inc. All Rights Reserved
Page 33
Virtex-7 Sub-Families
The Virtex-7 family has several sub-families
Virtex-7:
Virtex-7XT:
Virtex-7HT:
General logic
Rich DSP and block RAM
Highest serial bandwidth
Virtex-7 FPGA
Virtex-7 XT FPGA
Virtex-7 HT FPGA
Logic
Block RAM
DSP
Parallel I/O
Serial I/O
FPGA Introduction 34
2011 Xilinx, Inc. All Rights Reserved
17
Outline
Power of Parallelism
Virtex-5 FPGA Architecture
Latest Families
Virtex-6/Spartan-6 Families
Virtex-7 Families
FPGA Introduction 35
2011 Xilinx, Inc. All Rights Reserved
C0
C0
X
C1
C2
C3
Reg
Reg
256 clock
cycles
needed
Data In
Reg
Coefficients
Data In
X C255
MAC Unit
+
256 operations
in 1 clock cycle
Reg
Data Out
Data Out
1 GHz
256 clock cycles
= 4 MSPS
500 MHz
1 clock cycle
= 500 MSPS
18
LPF
ch1
LPF
ch2
LPF
ch3
LPF
ch4
80MHz
Samples
LPF
Multi Channel
Filter
Semi-Parallel
Serial
+
+
+
+
+
+
DQ
+
+
DQ
Speed
Optimized for?
Cost
FPGA Introduction 38
2011 Xilinx, Inc. All Rights Reserved
19
AFE
A/D
SDRAM
A/D
MACs
DDC
DDC
DDC
DDC
Hundreds of
Termination Resistors
DSP MACs
Procs.
Control
Control
SSTL3
Translators
Quad
TRx
FPGA
D/A
DUC
DUC
D/A
DUC
DUC
A/D
FPGA
SDRAM
ASSP
Quad Network
TRx
Card
DSP
Card
SDRAM
A/D
Control
D/A
MACs,
DUCs,
DDCs, Logic
D/A
Control
ASSP
PL4
3.125 Gbps
SDRAM
CORBA
FPGA Introduction 39
2011 Xilinx, Inc. All Rights Reserved
Outline
Power of Parallelism
Virtex-5 FPGA Architecture
Latest Families
Virtex-6/Spartan-6 Families
Virtex-7 Families
FPGA Introduction 40
2011 Xilinx, Inc. All Rights Reserved
20
C5
C4
C0
X
C6
Consumes Logic to
Implement Adders
C7
C30
C31
Variable
Latency
Reg
Reg
C3
Reg
Reg
C2
Reg
C0
X
Reg
C1
Reg
C0
Reg
Reg
Data In
Data Out
FPGA Introduction 41
2011 Xilinx, Inc. All Rights Reserved
C31
Reg
Reg
C30
Reg
Reg
C7
Reg
Reg
Reg
C6
Reg
Reg
C5
Reg
Reg
C4
Reg
Reg
C3
Reg
Reg
Reg
Reg
Reg
C2
Reg
Reg
Reg
Reg
C1
Reg
Reg
Reg
C0
Reg
Reg
Data In
+
Data Out
FPGA Introduction 42
2011 Xilinx, Inc. All Rights Reserved
21