Escolar Documentos
Profissional Documentos
Cultura Documentos
Resources
Objectives
After completing this module, you will be able to:
Describe the I/O features of the Virtex-6 and Spartan-6 FPGAs
Describe block RAM and FIFO resources
Describe the available DSP48 resources
List other resources available in Virtex-6 and Spartan-6 FPGAs
Lessons
I/O
Block RAMs and FIFO
DSP48 Resources
Other Features
Summary
Electrical Resources
IOLOGIC
IOSERDES
LVDS
Termination
Slave
IODELAY
IOLOGIC
IOSERDES
IODELAY
Master
DIFF_SSTL_I
DIFF_HSTL_I_18,
DIFF_HSTL_I_18_DCI
DIFF_HSTL_I, DIFF_HSTL_I_DCI
DIFF_SSTL2_I_DCI
HSTL_II_T_DCI
DIFF_SSTL18_I,
DIFF_SSTL18_I_DCI
SSTL15
DIFF_HSTL_II_T_DCI
SSTL15_T_DCI
RSDS_25 (point-to-point)
DIFF_SSTL15_T_DCI
VTT(50% of Vcco)
100
50
Equivalent
External HSTL_I
Termination
Designing with FPGA Resources - 6
100
Virtex-6 HSTL_I_DCI
Termination
Traditional FPGA
Copyright 2010 Xilinx
D
SR
OCE
CLK
D
R
CE
D
R
CE
D
R
CE
D
R
CE
OCE
Q1_A Q2_A Q1_B Q2_B Q1_C Q2_C Q1_D Q2_D Q1_E Q2_E Q1_F
Q1
Q1_A
Q1_B
Q1_C
Q1_D
Q2
Q2_A
Q2_B
Q2_C
Q2_D
Q2
IDDR
CLK
D
Q1
DDR_ALIGNMENT = C0 or C1
MASTER
OSERDES
IOB
ISERDES
IOB
IDATAIN
ODATAIN
IODELAY
Delay Chain
INC/DEC
Delay
Delaygenerated
generatedininincrements
increments
Virtex-6:
Virtex-6:Delay
Delaysteps
stepsare
arecalibrated
calibrated
based
basedon
onREFCLK
REFCLKfrequency
frequency
Delay
Delaycan
canbe
bedynamically
dynamicallycontrolled
controlled
User
Interface
Virtex-6 only
REFCLK
Designing with FPGA Resources - 10
IDELAYCTRL
Copyright 2010 Xilinx
From FPGA
fabric
Use Examples
SDR resources utilizing ILOGIC and OLOGIC resources can be inferred
IDDR can be inferred
See Xilinx Answer Record 15776
Lessons
I/O
Block RAMs and FIFO
DSP48 Resources
Other Features
Summary
or
Dual-Port
BRAM
FIFO
or
9 Kb
block RAM
36-kb configurations
18-kb configurations
Spartan-6: 256 x 72
Port A
36
Wdata A
36
Rdata A
9-kb configurations
Addr B
36
Wdata B
Port B
Rdata B
36
Addr A
Port A
36
Wdata A
36
Rdata A
36-kb
Memory
Array
Addr B
36
Wdata B
Port B
Rdata B
36
DQ
DQ
DI
A[1
3:0
]
DQ
Ram_ Extension
DQ
11
1
0
DI
DI
DO
A14
A14
DQ
DQ
WE
WE __ Control
Control
DQ
DQ
DI
DI
DQ
DQ
A[13:0]
A[13:0]
DQ
Ram_ Extension
DQ
1
0
A[13:0]
A[13:0]
(To
(ToInitiate
InitiateWrite
WriteOperation)
Operation)
Not Used
1
0
A14
A14
11
1
0
DQ
DQ
WE
WE __ Control
Control
(To
(ToInitiate
InitiateWrite
WriteOperation)
Operation)
Four flags
DIN Bus
WREN
> WRCLK
RDEN
> RDCLK
RESET
DOUT Bus
FULL
AFULL
EMPTY
AEMPTY
RDERR
WRERR
RDCONT<11:0>
WRDCONT<11:>
FIFO configurations
36-kb: 8k x 4, 4k x 9, 2k x 18, 1k x 36, 512 x 72
512 x 72 can implement Error Correcting Codes (ECC)
1. Asynchronous clocks
2. Synchronous clocks
EN_SYN = TRUE
DO_REG = 0, 1
FIRST_WORD_FALL_THROUGH =
FALSE (default)
RDEN
WREN
RDEN
DIN<71:36>
WREN
DIN<35:0> DOUT<35:0>
WREN
RDEN
EMPTY
WRCLK
AFULL
RDCLK
FIFO
FIFO
#1
#1
DIN<35:0> DOUT<35:0>
WREN
RDEN
EMPTY
WRCLK
AFULL
RDCLK
FIFO
FIFO
#1
#1
1kx72 FIFO
DIN<3:0>
WREN
WRCLK
DIN<3:0>
DOUT<3:0>
Data_Avail
WREN
Data_Taken
WRCLK
RDCLK
FIFO
FIFO
#1
#1
RDCLK
RDEN
DIN<3:0>
DOUT<3:0>
WREN
RDEN
WRCLK
RDCLK
DOUT<3:0>
AFULL
FIFO
FIFO
#2
#2
16kx4 FIFO
Depth Cascade
Designing with FPGA Resources - 22
Width Cascade
DOUT<35:O>
EMPTY
DOUT<71:36>
AFULL
Lessons
I/O
Block RAMs and FIFO
DSP48 Resources
Other Features
Summary
A:B
18
43
43
0
1
25
C
48
C
0
>>17
ACIN
BCIN
INMODE
Carry
3
CarryInSel
30
25x18
25x18signed
signedmultiplier
multiplier
48-bit
48-bitadd/subtract/accumulate
add/subtract/accumulate
48-bit
48-bitlogic
logicoperations
operations
Pipeline
Pipelineregisters
registersfor
forhigh
highspeed
speed
Pattern
detector
Pattern detector
SIMD
SIMDoperations
operations(12/24
(12/24bit)
bit)
Cascade
Cascadepaths
pathsfor
forwide
widefunctions
functions
Pre-adder
Pre-adder
OpMode
>>17
18
48
48
P
2
PATTERN_
DETECT
PCIN
25
30
86 0
PATTERN
Dual A, D
Register
With
Pre-adder
CARRY
OUT
30
25 X 18
ALUMode
30
A
MULT
SIGNIN
48
PCOUT
CARRY
CASCOUT
MULT
SIGNOUT
18
Dual B
Register
18
CarryIn
18
CARRY
CASCIN
ACOUT
BCOUT
18
A0
A1
18
48
PCOUT
CCOUT
BCOUT
36
D:A:B
MFOUT
18
18
18
18 X 18
M
C
+/0
48
BCIN
OPMODE[6,4]
18
18x18
18x18signed
signedmultiplier
multiplier
48-bit
48-bitadd/subtract/accumulate
add/subtract/accumulate
Pipeline
Pipelineregisters
registersfor
forhigh
highspeed
speed
Cascade
Cascadepaths
pathsfor
forwide
widefunctions
functions
Pre-adder
Pre-adder
48
P
48
CIN
12
PCIN
Dual B, D
Register
With
Pre-adder
OPMODE[7]
18
CFOUT
OPMODE[5]
36 0
OPMODE[3:0]
18
Dynamically Controlled
30
ACOUT
30
X MUX
30
ACIN
A2
A1
25
INMODE[0]
A MULT
D
25
25
D
INMODE[2]
INMODE[3]
AD
25
X, Y, and Z Multiplexers
Basic operations are
Z (X + Y + CARRYIN)
OPMODE
Controls the behavior of X, Y, and Z multiplexers
OPMODE[3:2]
ALUMODE[3:0]
X XOR Z
00
0100
X XNOR Z
00
0101
X XNOR Z
00
0110
X XOR Z
00
0111
X AND Z
00
1100
X AND (NOT Z)
00
1101
X NAND Z
00
1110
(NOT X) OR Z
00
1111
X XNOR Z
10
0100
X XOR Z
10
0101
X XOR Z
10
0110
X XNOR Z
10
0111
X OR Z
10
1100
X OR (NOT Z)
10
1101
X NOR Z
10
1110
(NOT X) AND Z
10
1111
0
P
A:B
0
1
0
PCIN
P
C
OPMODE[3:0]
Designing with FPGA Resources - 31
Pattern detection
Pattern and mask operation on output of adder
Enables
SIMD operations
48 bit adder broken into 2x24 bits or 4x12 bits
Allows two or four independent additions to be done
C or MC
Cascade Paths
Cascade paths exist from each DSP48 slice to the slice above it
A input, B input, P output and shifted P output, carry out
DSP48_1
OPMODE 0010101
ALUMODE 0000
B[34:17]
18
ACIN
DSP48_0
A[24:0]
OPMODE 0000101
0,B[16:0]
ALUMODE 0000
P[42:0] = OUT[59:17]
SHIFT 17
25
P
18
P[16:0] = OUT[16:0]
DSP Operation
Logic
DSP48
IP Support
IP (CORE Generator & Architecture Wizard)
Serial Divider
Filters (CIC and FFT)
Dynamic Control
MAC FIR
MAD
DDS
Complex Multipliers
Lessons
I/O
Block RAMs and FIFO
DSP48 Resources
Other Features
Summary
Gigabit Transceivers
TX
2
PMA PCS
RX
PMA
FPGA
Fabric
Interface
PCS
Datacom
Wireless
CPRI 6G, 2.5G, 1.2G, 614M
OBSAI 6G, 3G, 1.5G, 768M
1GbE
2.5GX (Broadcom 2.5GE)
XAUI
DDR XAUI (RXAUI)
10G-Base CX4
40GE (5.15Gbps interface to external MUX)
100GE (5.15Gbps interface to external MUX)
Computing
Video
Telecom
SONET OC-48
SONET OC-12
SONET OC-3 (with fabric oversampling)
OTU1
OTU4 (5.59Gbps interface to external MUX)
SFI-5.1
SFI4.2
GPON 2.488Gbps TX / 1.244Gbps RX with BCDR
SDI
HD-SDI
3G-SDI
Display Port
DVB-ASI
Storage
SATA
SAS
Fiber Channel
Chip-to-Chip
Interlaken
SPAUI
Aurora
OIF CEI-6SR
Datacom
Wireless
1GbE
XAUI (pending IP characterization)
10G-Base CX4 (pending IP
characterization)
Computing
PCI Express Gen1 (Hard IP supports x1)
InfiniBand
Telecom
SONET OC-3 (with fabric oversampling
see DRU XAPP875)
SONET OC-12
SONET OC-48 (pending char until then,
requires ext. PHY)
OTU1 (pending char until then, requires
ext. PHY)
Video
Display Port
SDI (pending char - with fabric
oversampling, XAPP875)
HD-SDI (pending characterization)
3G-SDI (pending characterization)
Storage
Chip-to-Chip
SATA
Serial RapidIO
Aurora
Designing with FPGA Resources - 40
Data
Data Link
Link
Layer
Layer
Physical
Physical
Layer
Layer
Electrical signaling
Protocol (CRC, automatic retry)
Quality of Service (QoS)
Hot pluggable
GTX
GTX
GTX
GTX
GTX
GTX
GTX
GTX
GTX
GTX
Configuration
Configuration and
and Capabilities
Capabilities Module
Module
Virtex-6 FPGA
GTX
GTX
GTX
GTX
GTX
GTX
EMAC
EMAC
EMAC
EMAC
DCR Bus
Host Bus
Processor
Processor
Interface
Interface
TX
Stats Mx
EMAC Core
Host Interface
Phy Interface
Client Interface
RX
Stats Mx
Usage Models
Use the CORE Generator software to access all of these features
FPGA Features and Design > IO Interfaces
Standard Bus Interfaces > PCI Express
Communications & Networking > Ethernet
Lessons
I/O
Block RAMs and FIFO
DSP48 Resources
Other Features
Summary
Summary
The IOB tile contains the IOB, ILOGIC/ISERDES, OLOGIC/OSERDES, and
IODELAY blocks
The ILOGIC and OLOGIC blocks provide SDR and DDR registers
The ISERDES and OSERDES blocks provide source-synchronous
capabilities utilizing dedicated resources
Block RAMs support various memory sizes in single-port, simple dual-port,
and true-dual port configurations
The Virtex-6 FPGA FIFO18 and FIFO36 blocks resources support
synchronous and asynchronous FIFOs
The DSP48 block provides maximum performance and low power for DSP
applications
Designing with FPGA Resources - 47