Escolar Documentos
Profissional Documentos
Cultura Documentos
Objectives
After completing this module, you will be able to:
Identify the basic architectural resources of the Virtex-II FPGA List the differences between the Virtex-II, Virtex-II Pro, Spartan-3, and Spartan-3E devices List the new and enhanced features of the new Virtex-4 device family
Outline
Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix
Basic Architecture 3
Overview
All Xilinx FPGAs contain the same basic resources
Slices (grouped into CLBs)
Contain combinatorial logic and register resources
IOBs
Interface between the FPGA and the outside world
Basic Architecture 4
Virtex-II Architecture
Block SelectRAM resource I/O Blocks (IOBs)
Outline
Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix
Basic Architecture 6
Slice S1
Slice S0
Local Routing
CIN
CIN
Basic Architecture 7
D PRE Q CE CLR
Basic Architecture 8
Basic Architecture 9
Look-Up Tables
Combinatorial logic is stored in Look-Up Tables (LUTs)
Also called Function Generators (FGs) Capacity is limited by the number of inputs, not by the complexity
A 0 0 0 0 0 0 1 1 1 1 B 0 0 0 0 1 1 . 1 1 1 1 C 0 0 1 1 0 0 . 0 0 1 1 D 0 1 0 1 0 1 . 0 1 0 1 Z 0 0 0 1 1 1 0 0 0 1
A B C D
Basic Architecture 10
CLB
MUXF8 combines the two MUXF7 outputs (from the CLB above or below) MUXF6 combines slices S2 and S3 MUXF7 combines the two MUXF6 outputs MUXF6 combines slices S0 and S1 MUXF5 combines LUTs in each slice
Basic Architecture 11
F5
Slice S0
F6
F5
Slice S1
F5
F6
COUT
To S0 of the next CLB
COUT
To CIN of S2 of the next CLB
SLICE S3
CIN COUT
Basic Architecture 12
MULT_AND Gate
Highly efficient multiply and add implementation
Earlier FPGA architectures require two LUTs per bit to perform the multiplication and addition The MULT_AND gate enables an area reduction by performing the multiply and the add in one LUT per bit
LUT
S CO DI CI
CY_MUX
CY_XOR MULT_AND
AxB
LUT
B
Basic Architecture 13
LUT
Basic Architecture 14
D Q CE
D Q CE
LUT
D Q CE
A[3:0]
Basic Architecture 15
12 Cycles
Operation A Operation B
64
4 Cycles
Operation C
8 Cycles
Operation D - NOP
64
3 Cycles
12 Cycles
9 Cycles
Paths are Statically Balanced
Basic Architecture 16
Outline
Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix
Basic Architecture 17
IOB Element
Input path
Two DDR registers
IOB
Reg DDR MUX
OCK1
Output path
Two DDR registers Two 3-state enable DDR registers
Input
Reg
ICK1
OCK2
Reg
3-state
Separate clocks and clock enables for I and O Set and reset signals are shared
ICK2
Reg
OCK1
PAD
Output
Reg
OCK2
Basic Architecture 18
CLK DATA_1 DATA_2 Dual Data Rate D1A D2A D1A D2A D1B D2B D1B D2B D1C D2C D1C
Clock
D1
Reg Reg
OCK1 D2
DDR MUX
OBUF
PAD
FDDR
OCK2
Basic Architecture 19
SelectIO Standard
Allows direct connections to external signals of varied voltages and thresholds
Optimizes the speed/noise tradeoff Saves having to place interface components onto your board
Basic Architecture 20
DCI advantages
Improves signal integrity by eliminating stub reflections Reduces board routing complexity and component count by eliminating external resistors Eliminates the effects of temperature, voltage, and process variations by using an internal feedback circuit
Basic Architecture 21
Outline
Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix
Basic Architecture 22
Basic Architecture 23
Slice LUT
RAM32X1S D WE WCLK A0 O A1 A2 A3 A4
LUT
DOA DOPA
Supports initial values Synchronous reset on output latches Supports parity bits
One parity bit per eight data bits
Basic Architecture 25
DOB DOPB
4 x 4 signed
18 x 18 Multiplier
Output (36 bits)
Basic Architecture 26
Up to eight clock nets can be used in each clock region of the device
Each device contains four or more clock regions
Basic Architecture 27
BUFG
BUFGCE
CE
Basic Architecture 28
I0 O
I1 S
S I0 I1 O
Basic Architecture 29
Basic Architecture 31
Basic Architecture 32
Basic Architecture 33
Basic Architecture 34
Basic Architecture 35
Basic Architecture 36
Basic Architecture 37
Basic Architecture 38
Basic Architecture 39
Basic Architecture 40
Basic Architecture 41
Basic Architecture 42
Outline
Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix
Basic Architecture 43
More I/O pins per package Only one-half of the slices support RAM or SRL16s (SLICEM) Fewer block RAMs and multiplier blocks
Same size and functionality
Eight global clock multiplexers Two or four DCM blocks No internal 3-state buffers
3-state buffers are in the I/O
Basic Architecture 44
Slice X1Y1
Slice X0Y1
Slice X0Y0
Fast Connects
SHIFTOUT
Basic Architecture 45
CIN
CIN
Spartan-3E Features
More gates per I/O than Spartan-3 Removed some I/O standards
Higher-drive LVCMOS GTL, GTLP SSTL2_II HSTL_II_18, HSTL_I, HSTL_III LVDS_EXT, ULVDS
DDR Cascade
Internal data is presented on a single clock edge
Basic Architecture 46
Basic Architecture 47
Outline
Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix
Basic Architecture 48
Smart RAM
New block RAM/FIFO
Advanced CLBs
200K Logic Cells
1 Gbps SelectIO
ChipSync Source synch, XCITE Active Termination
FX
12K140K LCs 0.610 Mb 420 32192 240896 024 Channels 1 or 2 Cores 2 or 4 Cores
SX
23K55K LCs 2.35.7 Mb 48 128512 320640 N/A N/A N/A
Logic Memory DCMs DSP Slices SelectIO RocketIO PowerPC Ethernet MAC
Basic Architecture 50
Outline
Overview Slice Resources I/O Resources Memory and Clocking Spartan-3, Spartan-3E, and Virtex-II Pro Features Virtex-4 Features Summary Appendix
Basic Architecture 51
Summary
Slices contain LUTs, registers, and carry logic
LUTs are connected with dedicated multiplexers and carry logic LUTs can be configured as shift registers or memory
IOBs contain DDR registers SelectIO standards and DCI enable direct connection to multiple I/O standards while reducing component count Virtex-II memory resources include the following:
Distributed SelectRAM resources and distributed SelectROM (uses CLB LUTs) 18-kb block SelectRAM resources
Basic Architecture 52
Configuration modes
Basic Architecture 53
Basic Architecture 54
Basic Architecture 55