Xilinx is disclosing this user guide, manual, release note, and/or specification (the “Documentation”) to you solely for use in the
development of designs to oper ate with Xilinx hardware devices. You may not reproduce, distribute, republish, download, display, post, or
transmit the Documentation in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, or
otherwise, without the prior written consent of Xilinx. Xilinx expressly disclaims any liability arising out of your use of the Documentation.
Xilinx reserves the right, at its sole discretion, to change the Documentation without notice at any time. Xilinx assumes no obligation to
correct any errors contained in the Documentation, or to advise you of an y corrections or updates . Xi linx expressly disclaims any liability in
connection with technical support or assistance that may be provided to you in connection with the Information.
THE DOCUMENTA TI ON IS DISCLOSED TO YOU “AS-IS” WITH NO WARRANTY OF ANY KIND. XILINX MAKES NO OTHER
WARRANTIES, WHETHER EXPRESS, IMPLIED, OR STATUTORY, REGARDING THE DOCUMENTATION, INCLUDING ANY
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PAR T ICULAR PURPOSE, OR NONINFRINGEMENT OF THIRD-PARTY
RIGHTS. IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL
DAMAGES, INCLUDING ANY LOSS OF DATA OR LOST PROFITS, ARISING FROM YOUR USE OF THE DOCUMENTATION.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.comUG371 (v2.0) February 16, 2010
Revision History
The following table shows the revision history for this document.
DateVersionRevision
09/16/091.0Initial Xilinx release.
02/16/102.0
Changed the clock domain for the RXPOWERDOWNx[1:0] ports in Ta b l e 1-3, p a g e 15, Ta bl e 2 -1 0,
page 56, and Table 2-12, page 66.
Chapter 1: Updated OTU-3 values in Ta bl e 1 -1. In Ta bl e 1- 3, renamed DO port to DRPDO and
relocated ports I, IB, and O to new Ta bl e 1 - 4.
Chapter 2: In the GTHRESET description in Ta b le 2- 7 and Tab le 2 -1 0, indicated that GTHINIT must
be pulsed only after GTHRESET is deasserted. In Ta bl e 2- 1 0 and Ta b le 2- 1 2, changed
RXPOWERDOWN and TXPOWERDOWN descriptions for the x4 link case. Added Reference
Clock Input Structure, page 43. Removed reference to LVDS clocks as being able to drive the
reference clock pins, page 44. Added sentence about MMCM and BUFR to TSTREFCLKOUT port
description in Ta bl e 2 -4 . Added PLL, page 48. Revised Figure 2-12, Figure 2-13, and Figure 2-14. In
Ta bl e 2 -11 , changed the meaning of bit code 110 for bits [13:11] and [10:8] of the
PCS_MODE_LANE attribute to Reserved; changed the 8B/10B reset value for the
PCS_RESET_LANE attribute; added reference to the Virtex-6 FPGA GTH Transceiver Wizard to
attribute PCS_RESET_1_LANE, bits [15:2]. In Ta bl e 2 -1 4, added the encoding to the
PMA_LPBK_CTRL_LANE attribute description; changed the Reserved bits for [13:11] and [10:8] in
the PCS_MODE_LANE attribute; added reference to the Virtex-6 FPGA GTH Transceiver Wizard
to attribute PMA_LPBK_CTRL_LANE, bits [15:2]. In Ta bl e 2 -1 5 , changed the name of port
DO[15:0] to DRPDO[15:0]. Added note about DISABLEDRP to Using the DRP Interface, page 70
and Using the Management Interface, page 72.
Chapter 3: Added 32 and 64 bits to 8B/10B mode in Ta bl e 3 -1 . Added two rows to 8B/10B Mode
for 32-bit and 64-bit fabric interface data width in Tab l e 3 -2 . Revised manual adjustment mode
settings for the BUFFER_CONFIG_LANE attribute in Ta bl e 3 -4 , and changed the meaning of bit
code 110 for bits [13:11] and [10:8] of the PCS_MODE_LANE attribute to Reserved in Tab l e 3 -4 ,
Ta bl e 3 -6 , Ta bl e 3 -8 , and Ta bl e 3 -1 0. Added reference to the Virtex-6 FPGA GTH Transceiver Wizard
to attribute PCS_RESET_1_LANE, bits [15:2] in Tab le 3- 6 . Changed the 8B/10B reset value for the
PCS_RESET_LANE attribute in Ta bl e 3 -6 , Tab le 3 -8
the Virtex-6 FPGA GTH Transceiver Wizard to attribute PCS_RESET_1_LANE, bits [15:2] in
Ta bl e 3 -1 0. Changed the PCS_RESET_LANE value in step 2 of Enabling 8B/10B Mode, page 85. In
Ta bl e 3 -1 2, and added reference to the Virtex-6 FPGA GTH Transceiver Wizard to attribute
PRBS_CFG_LANE, bits [15:4] and PCS_RESET_1_LANE, bits [15:2]; changed the Reserved bits for
[13:11] and [10:8] in the PCS_MODE_LANE attribute. In Tab le 3 -1 3 , added reference to the Virtex-6
FPGA GTH Transceiver Wizard to attribute PCS_MISC_CFG_0_LANE, bits [15:12] and [5:0].
Added TX Configurable Driver.
Chapter 4: Added RX Analog Front End, RX Equalization, and RX CDR. Added reference to the
Virtex-6 FPGA GTH Transceiver Wizard to attribute PCS_MISC_CFG_0_LANE, bits [15:12] and
[5:0] in Ta bl e 4 -8 , and to attributes PCS_MISC_CFG_0_LANE, bits [15:12] and [5:0],
PCS_RESET_1_LANE bits [15:2], and PRBS_CFG_LANE bits [15:4] in Ta bl e 4 -1 0. In the Functional
Description section of RX Pattern Checker, added paragraph about when the checker is forced into
PRBS31 mode, and added two sentences at the end of the section. Added Tab l e 4 -9 . Changed the
8B/10B reset value for the PCS_RESET_LANE attribute in Ta bl e 4 -1 0, Ta bl e 4 -1 3, Ta bl e 4 -1 6 , and
Ta bl e 4 -1 8. Deleted PRBS checker reference in Description of RXCODEERR in Ta bl e 4 -1 2,
Ta bl e 4 -1 5, Ta bl e 4 -1 7, and Ta bl e 4 - 21 . In Tab le 4- 13 , Ta bl e 4- 1 6, Ta bl e 4 - 18 , and Tab l e 4- 2 2, changed
transmitter to receiver in the description of RX_FABRIC_WIDTH, and changed the meaning of bit
code 110 for bits [13:11] and [10:8] of the PCS_MODE_LANE attribute to Reserved. In Ta bl e 4 - 13 ,
Ta bl e 4 -1 6, and Ta bl e 4 -1 8 , added reference to the Virtex-6 FPGA GTH Transceiver Wizard to
attribute PCS_RESET_1_LANE, bits [15:2]. Changed the PCS_RESET_LANE value in step 2 of
Enabling 8B/10B Mode, page 130. Added 32 and 64 bits to 8B/10B mode in Ta bl e 4 -1 9. Added two
rows to 8B/10B Mode for 32-bit and 64-bit fabric interface data width in Tab le 4 -2 0
manual adjustment mode
Added Chapter 5, Board Design Guidelines.
settings for the BUFFER_CONFIG_LANE attribute in Ta bl e 4 -2 2 .
, Ta
b le 3 - 10 , and Tab le 3 -1 2. Added reference to
. Revised
UG371 (v2.0) February 16, 2010www.xilinx.comVirtex-6 FPGA GTH Transceivers User Guide
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.comUG371 (v2.0) February 16, 2010
The features and product selection of the Virtex-6 family are outlined in this overview.
•Virtex-6 FPGA Data Sheet: DC and Switching Characteristics
This data sheet contains the DC and Switching Characteristic specifications for the
Virtex-6 family.
•Virtex-6 FPGA Packaging and Pinout Specifications
This specification includes the tables for device/package combinations and maximum
I/Os, pin definitions, pinout tables, pinout diagrams, mechanical drawings, and
thermal specifications.
.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com9
UG371 (v2.0) February 16, 2010
Preface: About This Guide
•Virtex-6 FPGA Configuration User Guide
•Virtex-6 FPGA SelectIO Resources User Guide
•Virtex-6 FPGA Clocking Resources User Guide
•Virtex-6 FPGA Memory Resources User Guide
•Virtex-6 FPGA Configurable Logic Block User Guide
•Virtex-6 FPGA DSP48E1 Slice User Guide
This all-encompassing configuration guide includes chapters on configuration
interfaces (serial and SelectMAP), bitstream encryption, boundary-scan and JTAG
configuration, reconfiguration techniques, and readback through the SelectMAP and
JTAG interfaces.
This guide describes the SelectIO™ resources available in all Virtex-6 devices.
This guide describes the clocking resources available in all Virtex-6 devices, including
the MMCM and PLLs.
The functionality of the block RAM and FIFO are described in this user guide.
This guide describes the capabilities of the configurable logic blocks (CLBs) available
in all Virtex-6 devices.
This guide describes the architecture of the DSP48E1 slice in Virtex-6 FPGAs and
provides configuration examples.
•Virtex-6 FPGA GTX Transceivers User Guide
This guide describes the GTX transceivers available in all Virtex-6 FPGAs except the
XC6VLX760.
•Virtex-6 FPGA Embedded Tri-Mode Ethernet MAC User Guide
This guide describes the dedicated Tri-Mode Ethernet Media Access Controller
available in all Virtex-6 FPGAs except the XC6VLX760.
•Virtex-6 FPGA System Monitor User Guide
The System Monitor functionality available in all Virtex-6 devices is outlined in this
guide.
•Virtex-6 FPGA PCB Designer Guide
This guide provides information on PCB design for Virtex-6 FPGA GTX transceivers,
with a focus on strategies for making design decisions at the PCB and interface level.
Additional Resources
To find additional documentation, see the Xilinx website at:
To search the Answer Database of silicon, software, and IP questions and answers, or to
create a technical support WebCase, see the Xilinx website at:
http://www.xilinx.com/support
.
.
10www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Transceiver and Tool Overview
Overview
The Virtex®-6 FPGA GTH transceiver is highly configurable and tightly integrated with
the programmable logic resources of the FPGA. It provides these features to support a
wide variety of applications:
•Current Mode Logic (CML) serial drivers/buffers with configurable termination and
voltage swing
•Support for multiple industry standards with the following line rates:
•2.488 Gb/s to 2.795 Gb/s
•9.953 Gb/s to 11.18 Gb/s
•One PLL per GTH Quad
GTH lanes within a Quad can be configured with different line rates that are integer
multiples of each other (i.e., full line rate and line rate/4)
Chapter 1
•Linear equalizer with adaptive gain control and programmable boost
•Selectable DFE with three TAPs that can either be controlled manually or by an
automatic adaptive engine
•Three-tap FIR filter for the TX driver
Support for pre-cursor and post-cursor pre-emphasis
•Optional built-in PCS features
•8B/10B encoder/decoder with comma alignment
•64B/66B block based on the IEEE 802.3-2008 Clause 49 implementation
•Raw mode (non-encoded datapath)
•PRBS generator and checker
•Configurable fabric interface width
•DRP and management interface to access the configuration registers
The Xilinx® CORE Generator™ tool includes a Wizard to automatically configure GTH
transceivers to support configurations for different protocols or perform custom
configuration (see Virtex-6 FPGA GTH Transceiver Wizard, page 30).
Figure 1-1 shows the GTH transceiver placement in an example Virtex-6 FPGA device
(XC6VHX255T).
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com11
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
MMCM
GTHE1_QUAD
Column
GTXE1
Column
GTXE1_
X1Y10
GTXE1_
X1Y9
GTXE1_
X1Y8
GTXE1_
X1Y7
GTXE1_
X1Y6
GTXE1_
X1Y5
GTXE1_
X1Y4
GTXE1_
X1Y3
GTXE1_
X1Y2
GTXE1_
X1Y1
GTXE1_
X1Y0
GTXE1_
X1Y11
GTHE1_
QUAD_
X1Y2
GTHE1_
QUAD_
X1Y1
GTHE1_
QUAD_
X1Y0
GTHE1_QUAD
Column
GTXE1
Column
GTXE1_
X0Y10
GTXE1_
X0Y9
GTXE1_
X0Y8
GTXE1_
X0Y7
GTXE1_
X0Y6
GTXE1_
X0Y5
GTXE1_
X0Y4
GTXE1_
X0Y3
GTXE1_
X0Y2
GTXE1_
X0Y1
GTXE1_
X0Y0
GTXE1_
X0Y11
GTHE1_
QUAD_
X0Y2
GTHE1_
QUAD_
X0Y1
GTHE1_
QUAD_
X0Y0
MMCM
MMCM
MMCM
MMCM
MMCM
I/O
Collumn
Configuration
I/O
Collumn
PCI
Express
PCI
Express
Ether
net
MAC
Ethernet
MAC
MMCM
MMCM
MMCM
MMCM
MMCM
MMCM
UG371_c1_01_082109
X-Ref Target - Figure 1-1
Figure 1-1:GTH Transceiver Inside the Virtex-6 XC6VHX255T FPGA
Notes relevant to Figure 1-1:
1.This figure does not illustrate exact size, location, or scale of the functional blocks to
each other. It does show the correct number of available resources.
2.To improve clarity, this figure does not show the CLB, DSP, and block RAM columns.
12www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
X-Ref Target - Figure 1-2
UG371_c1_02_120809
GTH3
Fabric Data,
Control, and
Clock for
GTH3
PCS
PCS to Fabric
Interface
TX3
RX3
GTH2
Fabric Data,
Control, and
Clock for
GTH2
PCS
PCS to Fabric
Interface
TX2
RX2
GTH1
Fabric Data,
Control, and
Clock for
GTH1
PCS
PCS to Fabric
Interface
TX1
RX1
GTH0
GTH QUAD
Fabric Data,
Control, and
Clock for
GTH0
PCS
PCS to Fabric
Interface
TX0
RX0
PMA
PMA
PMA
PMA
PLL
Reset and
Power-Down
Controls
DRP Interface
Management
Interface Unit
REFCLK
Overview
Figure 1-2 shows a diagram of the GTH Quad, containing four GTH transceivers, a PLL,
and shared resources for controlling and initializing the Quad.
Figure 1-2:GTH Quad Block Diagram
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com13
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
Tab le 1 -1 shows example PLL settings of GTH transceivers that are compatible with the
protocol line rate.
Table 1-1: PLL Settings for Protocol Sta ndards
StandardLine Rate [Gb/s]
10GBASE-R10.3125156.25335.161
CEI1111.1173.37325.551
OC-192
9.953
OC-482.488
OTU-12.667
OTU-210.71
OTU-310.75
OTU-411.18
XFP9.953155.52324.981
Reference Clock
Frequency [MHz]
155.52324.981
622.0884.981
155.52324.984
622.0884.984
167.33325.354
669.3885.354
167.33325.351
669.3885.351
168.05325.381
672.1985.381
174.69325.591
698.7585.591
PLL Clock
Multiplier, N
PLL Frequency
[GHz]
PLL Output
Divider, D
XLAUI10.3125156.25335.161
CAUI10.3125156.25335.161
Port and Attribute Summary
This section contains alphabetical tables of power pins, ports, and attributes for the GTH
transceiver.
For all ports mentioned in this guide:
•Names that end with 0 are for the GTH0 transceiver on the Quad
•Names that end with 1 are for the GTH1 transceiver on the Quad
•Names that end with 2 are for the GTH2 transceiver on the Quad
•Names that end with 3 are for the GTH3 transceiver on the Quad
•Port names that do not end with 0, 1, 2 or 3 are shared.
For all attributes mentioned in this guide:
•Names that end with LANE0 are for the GTH0 transceiver on the Quad
•Names that end with LANE1 are for the GTH1 transceiver on the Quad
•Names that end with LANE2 are for the GTH2 transceiver on the Quad
•Names that end with LANE3 are for the GTH3 transceiver on the Quad
•Attribute names that do not end with LANE0, LANE1, LANE2 or LANE3 are shared.
14www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Port and Attribute Summary
Tab le 1 -2 lists alphabetically the signal names and directions of the GTH transceiver analog
pins.
.
Table 1-2: GTH Analog Pin Summary
PinDir
(1)
(1)
(1)
(1)
(1)
In
In
In
In
In
MGTHAGND_[L,R]
MGTHAVCC_[L,R]
MGTHAVCCPLL_[L,R]
MGTHAVCCRX_[L,R]
MGTHAVTT_[L,R]
MGTRBIASIn
MGTREFCLKP/MGTREFCLKNIn
MGTTXP0/MGTTXN0
MGTTXP1/MGTTXN1
Out
MGTTXP2/MGTTXN2
MGTTXP3/MGTTXN3
MGTRXP0/MGTRXN0
MGTRXP1/MGTRXN1
In
MGTRXP2/MGTRXN2
MGTRXP3/MGTRXN3
Notes:
1. These are power supply pins.
Tab le 1 -3 lists alphabetically the signal names, directions, and clock domain of the GTH
Quad ports.
Table 1-3: GTH Quad Port Summary
PortDirClock Domain
DADDR[15:0]InDCLK
DCLKInN/A
DENInDCLK
DFETRAINCTRL0
DFETRAINCTRL1
InDCLK
DFETRAINCTRL2
DFETRAINCTRL3
DI[15:0]InDCLK
DISABLEDRPInDCLK
DRPDO[15:0]OutDCLK
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com15
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
Table 1-3: GTH Quad Port Summary (Cont’d)
PortDirClock Domain
DRDYOutDCLK
DWEInDCLK
GTHINITInDCLK
GTHINITDONEOutDCLK
GTHRESETInAsync
GTHX2LANE01InAsync
GTHX2LANE23InAsync
GTHX4LANEInAsync
MGMTPCSLANESEL[3:0]InDCLK
MGMTPCSMMDADDR[4:0]In DCLK
MGMTPCSRDACKOutDCLK
MGMTPCSRDDATA[15:0]OutDCLK
MGMTPCSREGADDR[15:0]InDCLK
MGMTPCSREGRDInDCLK
MGMTPCSREGWRInDCLK
MGMTPCSWRDATA[15:0]InDCLK
PLLPCSCLKDIV[5:0]InDCLK
PLLREFCLKSEL[2:0]InDCLK
POWERDOWN0
POWERDOWN1TXUSERCLKIN1
In
POWERDOWN2TXUSERCLKIN2
POWERDOWN3TXUSERCLKIN3
REFCLKInN/A
RXBUFRESET0
RXBUFRESET1RXUSERCLKIN1
In
RXBUFRESET2RXUSERCLKIN2
RXBUFRESET3RXUSERCLKIN3
RXCODEERR0[7:0]
TXUSERCLKIN0
RXUSERCLKIN0
RXUSERCLKIN0
RXCODEERR1[7:0]RXUSERCLKIN1
RXCODEERR2[7:0]RXUSERCLKIN2
RXCODEERR3[7:0]RXUSERCLKIN3
16www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
Out
UG371 (v2.0) February 16, 2010
Table 1-3: GTH Quad Port Summary (Cont’d)
PortDirClock Domain
Port and Attribute Summary
RXCTRL0[7:0]
RXCTRL1[7:0]RXUSERCLKIN1
Out
RXCTRL2[7:0]RXUSERCLKIN2
RXCTRL3[7:0]RXUSERCLKIN3
RXCTRLACK0
RXCTRLACK1TXUSERCLKIN1
Out
RXCTRLACK2TXUSERCLKIN2
RXCTRLACK3TXUSERCLKIN3
RXDATA0[63:0]
RXDATA1[63:0]RXUSERCLKIN1
Out
RXDATA2[63:0]RXUSERCLKIN2
RXDATA3[63:0]RXUSERCLKIN3
RXDISPERR0[7:0]
RXDISPERR1[7:0]RXUSERCLKIN1
Out
RXDISPERR2[7:0]RXUSERCLKIN2
RXDISPERR3[7:0]RXUSERCLKIN3
RXUSERCLKIN0
TXUSERCLKIN0
RXUSERCLKIN0
RXUSERCLKIN0
RXENCOMMADET0
RXENCOMMADET1RXUSERCLKIN1
In
RXENCOMMADET2RXUSERCLKIN2
RXENCOMMADET3RXUSERCLKIN3
RXN0
RXN1
RXN2
RXN3
In (Pad)RX Serial Clock
RXP0
RXP1
RXP2
RXP3
RXPOLARITY0
RXPOLARITY1RXUSERCLKIN1
In
RXPOLARITY2RXUSERCLKIN2
RXPOLARITY3RXUSERCLKIN3
RXUSERCLKIN0
RXUSERCLKIN0
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com17
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
Table 1-3: GTH Quad Port Summary (Cont’d)
PortDirClock Domain
RXPOWERDOWN0[1:0]
RXPOWERDOWN1[1:0] TXUSERCLKIN1
In
RXPOWERDOWN2[1:0]TXUSERCLKIN2
RXPOWERDOWN3[1:0]TXUSERCLKIN3
RXRATE0[1:0]
RXRATE1[1:0]TXUSERCLKIN1
In
RXRATE2[1:0] TXUSERCLKIN2
RXRATE3[1:0]TXUSERCLKIN3
RXSLIP0
RXSLIP1RXUSERCLKIN1
In
RXSLIP2RXUSERCLKIN2
RXSLIP3RXUSERCLKIN3
RXUSERCLKIN0
RXUSERCLKIN1
InN/A
RXUSERCLKIN2
RXUSERCLKIN3
TXUSERCLKIN0
TXUSERCLKIN0
RXUSERCLKIN0
RXUSERCLKOUT0
RXUSERCLKOUT1
RXUSERCLKOUT2
RXUSERCLKOUT3
RXVALID0[7:0]
RXVALID1[7:0]RXUSERCLKIN1
RXVALID2[7:0]RXUSERCLKIN2
RXVALID3[7:0]RXUSERCLKIN3
SAMPLERATE0[2:0]
SAMPLERATE1[2:0]TXUSERCLKIN1
SAMPLERATE2[2:0]TXUSERCLKIN2
SAMPLERATE3[2:0]TXUSERCLKIN3
TSTPATHOutAsync
TSTREFCLKFABOutN/A
TSTREFCLKOUTOutN/A
OutN/A
RXUSERCLKIN0
Out
TXUSERCLKIN0
In
18www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Table 1-3: GTH Quad Port Summary (Cont’d)
PortDirClock Domain
Port and Attribute Summary
TXBUFRESET0
TXBUFRESET1TXUSERCLKIN1
In
TXBUFRESET2TXUSERCLKIN2
TXBUFRESET3TXUSERCLKIN3
TXCTRL0[7:0]
TXCTRL1[7:0]TXUSERCLKIN1
In
TXCTRL2[7:0]TXUSERCLKIN2
TXCTRL3[7:0]TXUSERCLKIN3
TXCTRLACK0
TXCTRLACK1TXUSERCLKIN1
Out
TXCTRLACK2TXUSERCLKIN2
TXCTRLACK3TXUSERCLKIN3
TXDATA0[63:0]
TXDATA1[63:0]TXUSERCLKIN1
In
TXDATA2[63:0]TXUSERCLKIN2
TXDATA3[63:0]TXUSERCLKIN3
TXUSERCLKIN0
TXUSERCLKIN0
TXUSERCLKIN0
TXUSERCLKIN0
TXDATAMSB0[7:0]
TXDATAMSB1[7:0]TXUSERCLKIN1
In
TXDATAMSB2[7:0]TXUSERCLKIN2
TXDATAMSB3[7:0]TXUSERCLKIN3
TXDEEMPH0
TXDEEMPH1TXUSERCLKIN1
In
TXDEEMPH2TXUSERCLKIN2
TXDEEMPH3TXUSERCLKIN3
TXMARGIN0[2:0]
TXMARGIN1[2:0]TXUSERCLKIN1
In
TXMARGIN2[2:0]TXUSERCLKIN2
TXMARGIN3[2:0]TXUSERCLKIN3
TXUSERCLKIN0
TXUSERCLKIN0
TXUSERCLKIN0
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com19
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
Table 1-3: GTH Quad Port Summary (Cont’d)
PortDirClock Domain
TXN0
TXN1
TXN2
TXN3
TXP0
TXP1
TXP2
TXP3
TXPOWERDOWN0[1:0]
TXPOWERDOWN1[1:0]TXUSERCLKIN1
TXPOWERDOWN2[1:0]TXUSERCLKIN2
TXPOWERDOWN3[1:0]TXUSERCLKIN3
TXRATE0[1:0]
TXRATE1[1:0]TXUSERCLKIN1
TXRATE2[1:0]TXUSERCLKIN2
TXRATE3[1:0]TXUSERCLKIN3
TXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
Out
(Pad)
In
In
InN/A
TX Serial Clock
TXUSERCLKIN0
TXUSERCLKIN0
TXUSERCLKIN3
TXUSERCLKOUT0
TXUSERCLKOUT1
TXUSERCLKOUT2
TXUSERCLKOUT3
OutN/A
The ports in Ta bl e 1 -4 are part of the GTH IBUFDS primitive.
Table 1-4: GTH Reference Clock (IBUFDS_GTHE1) Port Summary
PortDirClock Domain
IInAsync
IBInAsync
OOutAsync
20www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Port and Attribute Summary
Tab le 1 -5 lists alphabetically the attribute names and type of the GTH Quad attributes.
.
Table 1-5: GTH Quad Attribute Summary
AttributeType
BER_CONST_PTRN016-bit Hex
BER_CONST_PTRN116-bit Hex
BUFFER_CONFIG_LANE0
BUFFER_CONFIG_LANE1
16-bit Hex
BUFFER_CONFIG_LANE2
BUFFER_CONFIG_LANE3
DFE_TRAIN_CTRL_LANE0
DFE_TRAIN_CTRL_LANE1
16-bit Hex
DFE_TRAIN_CTRL_LANE2
DFE_TRAIN_CTRL_LANE3
DLL_CFG016-bit Hex
DLL_CFG116-bit Hex
E10GBASEKR_LD_COEFF_UPD_LANE0
E10GBASEKR_LD_COEFF_UPD_LANE1
16-bit Hex
E10GBASEKR_LD_COEFF_UPD_LANE2
E10GBASEKR_LD_COEFF_UPD_LANE3
E10GBASEKR_LP_COEFF_UPD_LANE0
E10GBASEKR_LP_COEFF_UPD_LANE1
16-bit Hex
E10GBASEKR_LP_COEFF_UPD_LANE2
E10GBASEKR_LP_COEFF_UPD_LANE3
E10GBASEKR_PMA_CTRL_LANE0
E10GBASEKR_PMA_CTRL_LANE1
16-bit Hex
E10GBASEKR_PMA_CTRL_LANE2
E10GBASEKR_PMA_CTRL_LANE3
E10GBASEKX_CTRL_LANE0
E10GBASEKX_CTRL_LANE1
16-bit Hex
E10GBASEKX_CTRL_LANE2
E10GBASEKX_CTRL_LANE3
E10GBASER_PCS_CFG_LANE0
E10GBASER_PCS_CFG_LANE1
16-bit Hex
E10GBASER_PCS_CFG_LANE2
E10GBASER_PCS_CFG_LANE3
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com21
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
Table 1-5: GTH Quad Attribute Summary (Cont’d)
E10GBASER_PCS_SEEDA0_LANE0
AttributeType
E10GBASER_PCS_SEEDA0_LANE1
E10GBASER_PCS_SEEDA0_LANE2
E10GBASER_PCS_SEEDA0_LANE3
E10GBASER_PCS_SEEDA1_LANE0
E10GBASER_PCS_SEEDA1_LANE1
E10GBASER_PCS_SEEDA1_LANE2
E10GBASER_PCS_SEEDA1_LANE3
E10GBASER_PCS_SEEDA2_LANE0
E10GBASER_PCS_SEEDA2_LANE1
E10GBASER_PCS_SEEDA2_LANE2
E10GBASER_PCS_SEEDA2_LANE3
E10GBASER_PCS_SEEDA3_LANE0
E10GBASER_PCS_SEEDA3_LANE1
E10GBASER_PCS_SEEDA3_LANE2
E10GBASER_PCS_SEEDA3_LANE3
E10GBASER_PCS_SEEDB0_LANE0
E10GBASER_PCS_SEEDB0_LANE1
E10GBASER_PCS_SEEDB0_LANE2
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
E10GBASER_PCS_SEEDB0_LANE3
E10GBASER_PCS_SEEDB1_LANE0
E10GBASER_PCS_SEEDB1_LANE1
E10GBASER_PCS_SEEDB1_LANE2
E10GBASER_PCS_SEEDB1_LANE3
E10GBASER_PCS_SEEDB2_LANE0
E10GBASER_PCS_SEEDB2_LANE1
E10GBASER_PCS_SEEDB2_LANE2
E10GBASER_PCS_SEEDB2_LANE3
E10GBASER_PCS_SEEDB3_LANE0
E10GBASER_PCS_SEEDB3_LANE1
E10GBASER_PCS_SEEDB3_LANE2
E10GBASER_PCS_SEEDB3_LANE3
16-bit Hex
16-bit Hex
16-bit Hex
22www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Table 1-5: GTH Quad Attribute Summary (Cont’d)
AttributeType
E10GBASER_PCS_TEST_CTRL_LANE0
Port and Attribute Summary
E10GBASER_PCS_TEST_CTRL_LANE1
E10GBASER_PCS_TEST_CTRL_LANE2
E10GBASER_PCS_TEST_CTRL_LANE3
E10GBASEX_PCS_TSTCTRL_LANE0
E10GBASEX_PCS_TSTCTRL_LANE1
E10GBASEX_PCS_TSTCTRL_LANE2
E10GBASEX_PCS_TSTCTRL_LANE3
GLBL0_NOISE_CTRL16-bit Hex
GLBL_AMON_SEL16-bit Hex
GLBL_DMON_SEL16-bit Hex
GLBL_PWR_CTRL16-bit Hex
GTH_CFG_PWRUP_LANE0
GTH_CFG_PWRUP_LANE1
GTH_CFG_PWRUP_LANE2
GTH_CFG_PWRUP_LANE3
LANE_AMON_SEL16-bit Hex
LANE_DMON_SEL16-bit Hex
16-bit Hex
16-bit Hex
1-bit Binary
LANE_LNK_CFGOVRD16-bit Hex
LANE_PWR_CTRL_LANE0
LANE_PWR_CTRL_LANE1
LANE_PWR_CTRL_LANE2
LANE_PWR_CTRL_LANE3
LNK_TRN_CFG_LANE0
LNK_TRN_CFG_LANE1
LNK_TRN_CFG_LANE2
LNK_TRN_CFG_LANE3
LNK_TRN_COEFF_REQ_LANE0
LNK_TRN_COEFF_REQ_LANE1
LNK_TRN_COEFF_REQ_LANE2
LNK_TRN_COEFF_REQ_LANE3
MISC_CFG16-bit Hex
MODE_CFG116-bit Hex
MODE_CFG216-bit Hex
MODE_CFG316-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com23
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
Table 1-5: GTH Quad Attribute Summary (Cont’d)
MODE_CFG416-bit Hex
MODE_CFG516-bit Hex
MODE_CFG616-bit Hex
MODE_CFG716-bit Hex
PCS_ABILITY_LANE0
AttributeType
PCS_ABILITY_LANE1
PCS_ABILITY_LANE2
PCS_ABILITY_LANE3
PCS_CTRL1_LANE0
PCS_CTRL1_LANE1
PCS_CTRL1_LANE2
PCS_CTRL1_LANE3
PCS_CTRL2_LANE0
PCS_CTRL2_LANE1
PCS_CTRL2_LANE2
PCS_CTRL2_LANE3
PCS_MISC_CFG_0_LANE0
PCS_MISC_CFG_0_LANE1
PCS_MISC_CFG_0_LANE2
PCS_MISC_CFG_0_LANE3
PCS_MISC_CFG_1_LANE0
PCS_MISC_CFG_1_LANE1
PCS_MISC_CFG_1_LANE2
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
PCS_MISC_CFG_1_LANE3
PCS_MODE_LANE0
PCS_MODE_LANE1
PCS_MODE_LANE2
PCS_MODE_LANE3
PCS_RESET_LANE0
PCS_RESET_LANE1
PCS_RESET_LANE2
PCS_RESET_LANE3
24www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
16-bit Hex
16-bit Hex
UG371 (v2.0) February 16, 2010
Table 1-5: GTH Quad Attribute Summary (Cont’d)
AttributeType
PCS_RESET_1_LANE0
Port and Attribute Summary
PCS_RESET_1_LANE1
PCS_RESET_1_LANE2
PCS_RESET_1_LANE3
PCS_TYPE_LANE0
PCS_TYPE_LANE1
PCS_TYPE_LANE2
PCS_TYPE_LANE3
PLL_CFG016-bit Hex
PLL_CFG116-bit Hex
PLL_CFG216-bit Hex
PMA_CTRL1_LANE0
PMA_CTRL1_LANE1
PMA_CTRL1_LANE2
PMA_CTRL1_LANE3
PMA_CTRL2_LANE0
PMA_CTRL2_LANE1
PMA_CTRL2_LANE2
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
PMA_CTRL2_LANE3
PMA_LPBK_CTRL_LANE0
PMA_LPBK_CTRL_LANE1
PMA_LPBK_CTRL_LANE2
PMA_LPBK_CTRL_LANE3
PRBS_BER_CFG0_LANE0
PRBS_BER_CFG0_LANE1
PRBS_BER_CFG0_LANE2
PRBS_BER_CFG0_LANE3
PRBS_BER_CFG1_LANE0
PRBS_BER_CFG1_LANE1
PRBS_BER_CFG1_LANE2
PRBS_BER_CFG1_LANE3
PRBS_CFG_LANE0
PRBS_CFG_LANE1
PRBS_CFG_LANE2
PRBS_CFG_LANE3
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com25
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
Table 1-5: GTH Quad Attribute Summary (Cont’d)
PTRN_CFG0_LSB16-bit Hex
PTRN_CFG0_MSB16-bit Hex
PTRN_LEN_CFG16-bit Hex
PWRUP_DLY16-bit Hex
RX_AEQ_VAL0_LANE0
AttributeType
RX_AEQ_VAL0_LANE1
RX_AEQ_VAL0_LANE2
RX_AEQ_VAL0_LANE3
RX_AEQ_VAL1_LANE0
RX_AEQ_VAL1_LANE1
RX_AEQ_VAL1_LANE2
RX_AEQ_VAL1_LANE3
RX_AGC_CTRL_LANE0
RX_AGC_CTRL_LANE1
RX_AGC_CTRL_LANE2
RX_AGC_CTRL_LANE3
RX_CDR_CTRL0_LANE0
RX_CDR_CTRL0_LANE1
RX_CDR_CTRL0_LANE2
RX_CDR_CTRL0_LANE3
RX_CDR_CTRL1_LANE0
RX_CDR_CTRL1_LANE1
RX_CDR_CTRL1_LANE2
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
RX_CDR_CTRL1_LANE3
RX_CDR_CTRL2_LANE0
RX_CDR_CTRL2_LANE1
RX_CDR_CTRL2_LANE2
RX_CDR_CTRL2_LANE3
RX_CFG0_LANE0
RX_CFG0_LANE1
RX_CFG0_LANE2
RX_CFG0_LANE3
26www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
16-bit Hex
16-bit Hex
UG371 (v2.0) February 16, 2010
Table 1-5: GTH Quad Attribute Summary (Cont’d)
AttributeType
RX_CFG1_LANE0
Port and Attribute Summary
RX_CFG1_LANE1
RX_CFG1_LANE2
RX_CFG1_LANE3
RX_CFG2_LANE0
RX_CFG2_LANE1
RX_CFG2_LANE2
RX_CFG2_LANE3
RX_CTLE_CTRL_LANE0
RX_CTLE_CTRL_LANE1
RX_CTLE_CTRL_LANE2
RX_CTLE_CTRL_LANE3
RX_CTRL_OVRD_LANE0
RX_CTRL_OVRD_LANE1
RX_CTRL_OVRD_LANE2
RX_CTRL_OVRD_LANE3
RX_FABRIC_WIDTH0
RX_FABRIC_WIDTH1
RX_FABRIC_WIDTH2
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
Integer
RX_FABRIC_WIDTH3
RX_LOOP_CTRL_LANE0
RX_LOOP_CTRL_LANE1
RX_LOOP_CTRL_LANE2
RX_LOOP_CTRL_LANE3
RX_MVAL0_LANE0
RX_MVAL0_LANE1
RX_MVAL0_LANE2
RX_MVAL0_LANE3
RX_MVAL1_LANE0
RX_MVAL1_LANE1
RX_MVAL1_LANE2
RX_MVAL1_LANE3
RX_P0_CTRL16-bit Hex
RX_P0S_CTRL16-bit Hex
RX_P1_CTRL16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com27
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
Table 1-5: GTH Quad Attribute Summary (Cont’d)
RX_P2_CTRL16-bit Hex
RX_PI_CTRL016-bit Hex
RX_PI_CTRL116-bit Hex
SIM_GTHRESET_SPEEDUPInteger
SIM_VERSIONString
SLICE_CFG16-bit Hex
AttributeType
SLICE_NOISE_CTRL_0_LANE01
SLICE_NOISE_CTRL_0_LANE23
SLICE_NOISE_CTRL_1_LANE01
SLICE_NOISE_CTRL_1_LANE23
SLICE_NOISE_CTRL_2_LANE01
SLICE_NOISE_CTRL_2_LANE23
SLICE_TX_RESET_LANE01
SLICE_TX_RESET_LANE23
TERM_CTRL_LANE0
TERM_CTRL_LANE1
TERM_CTRL_LANE2
TERM_CTRL_LANE3
TX_CFG0_LANE0
TX_CFG0_LANE1
TX_CFG0_LANE2
TX_CFG0_LANE3
TX_CFG1_LANE0
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
16-bit Hex
TX_CFG1_LANE1
TX_CFG1_LANE2
TX_CFG1_LANE3
TX_CFG2_LANE0
TX_CFG2_LANE1
TX_CFG2_LANE2
TX_CFG2_LANE3
TX_CLK_SEL0_LANE0
TX_CLK_SEL0_LANE1
TX_CLK_SEL0_LANE2
TX_CLK_SEL0_LANE3
28www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
16-bit Hex
16-bit Hex
16-bit Hex
UG371 (v2.0) February 16, 2010
Table 1-5: GTH Quad Attribute Summary (Cont’d)
AttributeType
TX_CLK_SEL1_LANE0
Port and Attribute Summary
TX_CLK_SEL1_LANE1
TX_CLK_SEL1_LANE2
TX_CLK_SEL1_LANE3
TX_DISABLE_LANE0
TX_DISABLE_LANE1
TX_DISABLE_LANE2
TX_DISABLE_LANE3
TX_FABRIC_WIDTH0
TX_FABRIC_WIDTH1
TX_FABRIC_WIDTH2
TX_FABRIC_WIDTH3
TX_P0P0S_CTRL16-bit Hex
TX_P1P2_CTRL16-bit Hex
TX_PREEMPH_LANE0
TX_PREEMPH_LANE1
TX_PREEMPH_LANE2
TX_PREEMPH_LANE3
16-bit Hex
16-bit Hex
Integer
16-bit Hex
TX_PWR_RATE_OVRD_LANE0
TX_PWR_RATE_OVRD_LANE1
TX_PWR_RATE_OVRD_LANE2
TX_PWR_RATE_OVRD_LANE3
16-bit Hex
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com29
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
Virtex-6 FPGA GTH Transceiver Wizard
The Virtex-6 FPGA GTH Transceiver Wizard is the preferred tool to generate a wrapper to
instantiate a GTH transceiver primitive called GTHE1_QUAD. The Wizard can be found in
the CORE Generator tool. The user is recommended to download the most up-to-date IP
update before using the Wizard. Details on how to use this Wizard can be found in UG691,
Virtex-6 FPGA GTH Transceiver Wizard Getting Started Guide.
1.Start the CORE Generator tool.
2.Locate the Virtex-6 FPGA GTH Transceiver Wizard in the taxonomy tree under:
/FPGA Features & Design/IO Interfaces (see Figure 1-1, page 12).
X-Ref Target - Figure 1-3
UG371_c1_03_080609
Figure 1-3: Virtex-6 FPGA GTH Transceiver Wizard
3.Double-click Virtex-6 FPGA GTH Transceiver Wizard to launch the Wizard.
30www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Simulation
Simulation
Functional Description
For simulating a design with GTH transceivers, SecureIP libraries must be compiled using
the COMPXLIB tool. For more details on SecureIP, COMPXLIB, and setting up the
simulation environment, refer to UG626
Ports and Attributes
There are no simulation-only ports.
The GTHE1_QUAD primitive has attributes intended only for simulation. Ta bl e 1- 6 lists the
simulation-only attributes of the GTHE1_QUAD primitive. The names of these attributes
start with SIM_.
Table 1-6: Simulation Attributes
AttributeTypeDescription
SIM_GTHRESET_SPEEDUPIntegerThis attribute shortens the number of DCLK cycles required to finish the
.
GTHRESET sequence during simulation (deassertion of GTHRESET to
the assertion of GTHINITDONE).
0: The GTHRESET sequence is simulated with its original duration
(standard initialization is approximately 360 μs for a 50
1: The GTHRESET cycle time is shortened (fast initialization is
approximately 50 μs for a 50
, Synthesis and Simulation Design Guide.
MHz DCLK).
MHz DCLK).
SIM_VERSIONRealThis attribute selects the simulation version to match different steppings
of silicon. The default for this attribute is 1.0.
Implementation
Functional Description
This section provides the information needed to map Virtex-6 FPGA GTH transceivers
instantiated in a design to device resources, including:
•The location of the GTH transceiver on the available device and package
combinations.
•The pad numbers of external signals associated with each GTH transceiver.
•How the GTH Quad and clocking resources instantiated in a design are mapped to
available locations with a user constraints file (UCF).
It is a common practice to define the location of the GTH Quad early in the design process
to ensure correct usage of clock resources and to facilitate signal integrity analysis during
board design. The implementation flow facilitates this practice through the use of location
constraints in the UCF.
While this section describes how to instantiate GTH clocking components, the details of
the different GTH transceiver clocking options are discussed in Reference Clock
Distribution and Selection, page 45.
The position of the GTH Quad is specified by an XY coordinate system that describes the
column number and its relative position within that column. In the Virtex-6 HXT device,
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com31
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
there are packages with all the GTH Quads located in a single column along one side of the
die, and other packages with all GTH Quads located on both the left column (X0) and right
column (X1) of the die.
There are two ways to create a UCF for designs that use the GTH transceiver. The preferred
method is to use the Virtex-6 FPGA GTH Transceiver Wizard (see Virtex-6 FPGA GTH
Transceiver Wizard, page 30). The Wizard automatically generates a UCF file from the
example design. The UCF file generated by the Wizard can then be edited to customize
operating parameters and placement information for the application.
The second approach is to create the UCF by hand. When using this approach, the designer
must enter the location constraint for the GTH transceiver used in the application.
Figure 1-4 through Figure 1-12, page 41 provide the GTH Quad position information for all
available device and package combinations along with the pad numbers for the external
signals associated with each GTH lane of the Quad. The list of device and package include:
•XC6VHX255T-FF1155
•XC6VHX255T-FF1923
•XC6VHX380T-FF1155
•XC6VHX380T-FF1923
•XC6VHX380T-FF1924
•XC6VHX565T-FF1923
•XC6VHX565T-FF1924
32www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
FF1155 Package Diagrams
HX255T: GTHE1_QUAD_X1Y2
HX380T: GTHE1_QUAD_X1Y2
B6
B5
Right edge of the die
MGTRXP3_118
MGTRXN3_118
B2
B1
MGTTXP3_118
MGTTXN3_118
A8
A7
MGTRXP2_118
MGTRXN2_118
UG371_C1_04_080609
A4
A3
MGTTXP2_118
MGTTXN2_118
C4
C3
MGTREFCLKP_118
MGTREFCLKN_118
C8
C7
MGTRXP1_118
MGTRXN1_118
D2
D1
MGTTXP1_118
MGTTXN1_118
E8
E7
MGTRXP0_118
MGTRXN0_118
E4
E3
MGTTXP0_118
MGTTXN0_118
Figure 1-4 through Figure 1-6, page 35 show the placement diagrams for the FF1155
package.
X-Ref Target - Figure 1-4
Implementation
Figure 1-4: Placement Diagram for the FF1155 Package (1 of 3)
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com33
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
HX255T: GTHE1_QUAD_X1Y1
HX380T: GTHE1_QUAD_X1Y1
F6
F5
Right edge of the die
MGTRXP3_117
MGTRXN3_117
G4
G3
MGTTXP3_117
MGTTXN3_117
D6
D5
MGTRXP2_117
MGTRXN2_117
UG371_C1_05_080609
F2
F1
MGTTXP2_117
MGTTXN2_117
H2
H1
MGTREFCLKP_117
MGTREFCLKN_117
H6
H5
MGTRXP1_117
MGTRXN1_117
J4
J3
MGTTXP1_117
MGTTXN1_117
K6
K5
MGTRXP0_117
MGTRXN0_117
K2
K1
MGTTXP0_117
MGTTXN0_117
X-Ref Target - Figure 1-5
Figure 1-5: Placement Diagram for the FF1155 Package (2 of 3)
34www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
X-Ref Target - Figure 1-6
HX255T: GTHE1_QUAD_X1Y0
HX380T: GTHE1_QUAD_X1Y0
M6
M5
Right edge of the die
MGTRXP3_116
MGTRXN3_116
M2
M1
MGTTXP3_116
MGTTXN3_116
N4
N3
MGTRXP2_116
MGTRXN2_116
UG371_C1_06_080609
L4
L3
MGTTXP2_116
MGTTXN2_116
P6
P5
MGTREFCLKP_116
MGTREFCLKN_116
R4
R3
MGTRXP1_116
MGTRXN1_116
P2
P1
MGTTXP1_116
MGTTXN1_116
U4
U3
MGTRXP0_116
MGTRXN0_116
T2
T1
MGTTXP0_116
MGTTXN0_116
Implementation
Figure 1-6: Placement Diagram for the FF1155 Package (3 of 3)
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com35
Figure 1-12: Placement Diagram for the FF1923 and FF1924 Packages (6 of 6)
Note: The XC6VHX255T device is available only in the FF1923 package.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com41
UG371 (v2.0) February 16, 2010
Chapter 1: Transceiver and Tool Overview
42www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Shared Transceiver Features
UG371_c2_14_120809
MGTREFCLKP
MGTREFCLKN
MGTHAVCCPLL_[L,R]
2/3
MGTHAVCCPLL_[L,R]
pll_refclk_term_b
MGTHAVCCRX_[L,R]
Nominal 50Ω
Nominal 50Ω
Reference Clock Input Structure
Functional Description
The reference clock input structure is illustrated in Figure 2-1. The input is terminated
internally with 50Ω on each leg to 2/3 MGTHAVCCPLL. The reference clock input is
instantiated in software with an IBUFDS_GTHE1 primitive. Its location is fixed via LOC
constraints in the UCF. Refer to Implementation, page 31 for details.
The output of the IBUFDS_GTHE1 primitive drives the REFCLK input of the
GTHE1_QUAD primitive. The ports and attributes controlling each of the
IBUFDS_GTHE1 primitives are mapped to the respective GTHE1_QUAD primitive.
X-Ref Target - Figure 2-1
Chapter 2
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com43
UG371 (v2.0) February 16, 2010
Figure 2-1: Reference Clock Input Structure
Chapter 2: Shared Transceiver Features
Ports and Attributes
Tab le 2 -1 defines the reference clock input structure ports for the GTHE1_QUAD
primitive.
Table 2-1: Reference Clock Input Structure Ports for the GTHE1_QUAD Primitive
PortDirClock DomainDescription
REFCLKInN/AREFCLK is an external clock driven by the
Tab le 2 -2 defines the reference clock input structure ports for the IBUFDS_GTHE1 software
primitive.
Table 2-2: Reference Clock Input Structure Ports for the IBUFDS_GTHE1 Primitive
PortDirClock DomainDescription
IInAsyncThis port is the positive input of the reference
IBInAsyncThis port is the negative input of the reference
O port of the IBUFDS_GTHE1 software
primitive as the reference clock to the
GTHE1_QUAD primitive.
clock differential pair.
clock differential pair.
OOutAsyncThis port is the output of the reference clock
Tab le 2 -3 defines the reference clock input structure attribute for the GTHE1_QUAD
PLL_CFG116-bit BinaryThis attribute defaults to 16'h8440.
Using the Reference Clock
The reference clock is always used in an AC-coupled mode. The recommended value for
the AC-coupling capacitors is 100 nF. The LVPECL clock must be used to drive the
reference clock pins. Refer to DS152Characteristics for electrical and switching specifications.
buffer connected to the REFCLK port of the
GTHE1_QUAD primitive.
[15]: REFCLK termination control (pll_refclk_term_b)
AC-coupled mode: 1'b1
Reserved: 1'b0
[14:0]: Reserved
Reserved: 15'h0440
, Virtex-6 FPGA Data Sheet: DC and Switching
44www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Reference Clock Distribution and Selection
Reference Clock Distribu tion and Selection
Functional Description
For proper high-speed operation, the GTH transceiver requires a high-quality, low-jitter
reference clock. Because of the shared PMA PLL architecture inside the GTH Quad, each
reference clock sources all four lanes. The reference clock is used to produce the PLL clock,
which is divided by one or four to make individual TX and RX serial clocks and parallel
clocks for each GTH transceiver.
The GTH Quad reference clock is provided through the REFCLK port. There are two ways
to drive the REFCLK port:
•Using an external oscillator to drive GTH dedicated clock routing
•Using a clock from a neighboring GTH Quad through GTH dedicated clock routing
(not recommended for GTH transceivers operating a line rates 2.8 Gb/s and above)
Using the dedicated clock routing provides the best possible clock to the GTH Quad. Each
GTH Quad has a dedicated clock pin, represented by the IBUFDS_GTHE1 primitive, that
can be used to drive the dedicated clock routing.
This clocking section shows how to select the dedicated clocks for use by one or more GTH
Quads.
Ports and Attributes
Tab le 2 -4 defines the reference clock selection ports.
.
Table 2-4: Reference Clock Selection Ports
PortDirClock DomainDescription
PLLREFCLKSEL[2:0]InDCLKReserved. Tie these inputs to 000.
REFCLKInN/AThis input is the external jitter stable
TSTREFCLKFABOutN/AThis port provides direct access to
TSTREFCLKOUTOutN/AThis port provides direct access to
clock driven by the IBUFDS_GTHE1
primitive as the reference clock to the
GTHE1_QUAD primitive.
the reference clock provided to the
shared PLL in the GTHE1_QUAD
primitive. The clock is routed
through interconnect and can be
used to clock FPGA logic.
the reference clock provided to the
shared PLL in the GTHE1_QUAD
primitive. The clock is routed
through the global clock tree (must
be connected through a BUFG) and
can be used to clock FPGA logic. This
port can also connect directly to an
MMCM or BUFR.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com45
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
Tab le 2 -5 defines the reference clock selection attributes.
.
Table 2-5: Reference Clock Selection Attributes
AttributeTypeDescription
PLL_CFG216-bit HexReserved. Use the recommended values from the
Clocking from an External Source
Each GTH Quad has a dedicated pin that can be connected to an external clock source. To
use these pins, an IBUFDS_GTHE1 primitive is instantiated. In the user constraints file
(UCF), the IBUFDS_GTHE1 input pins are constrained to the locations of the dedicated
clock pins for the GTH Quad. In the design, the output of the IBUFDS_GTHE1 primitive is
connected to the REFCLK input port. The locations of the dedicated pins for all GTH
Quads are documented in Implementation, page 31.
Figure 2-2 shows a differential GTH clock pin pair sourced by an external oscillator on the
board.
X-Ref Target - Figure 2-2
Virtex®-6 FPGA GTH Transceiver Wizard.
GTHE1_QUAD
MGTREFCLKP
MGTREFCLKN
I
O
IB
Figure 2-2: Single GTHE1_QUAD Clocked Externally
Clocking from a Neighboring GTH Quad
The external reference clock from one GTH Quad can be used to drive the REFCLK input
port of the neighboring GTH Quad. The example in Figure 2-3 uses the clock from one
GTH Quad to clock one neighbor above and one neighbor below. A GTH Quad shares its
clock with its neighbors using the dedicated clock routing resources.
REFCLK
UG371_c2_01_082609
46www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
X-Ref Target - Figure 2-3
Reference Clock Distribution and Selection
Tied OffFloat
GTHE1_QUAD
OFF
0
MGTREFCLKP
MGTREFCLKN
REFCLK
PLL
GTHE1_QUAD
OFF
0
I
O
IB
REFCLK
PLL
GTHE1_QUAD
OFF
0
REFCLK
PLL
Tied OffFloat
UG371_c2_02_082609
Figure 2-3: Multiple GTHE1_QUADs with Shared Reference Clock
These rules must be observed when sharing a reference clock to ensure that jitter margins
for high-speed designs are met:
1.The sharing of a reference clock is allowed only for 2.8 Gb/s and below.
2.The external reference clock that drives the REFCLK input port of a given quad (the
sourcing GTH Quad) needs to be used by the PLL in the same Quad due to the position
of the REFCLK multiplexer.
3.The number of GTH Quads above the sourcing GTH Quad must not exceed one.
4.The number of GTH Quads below the sourcing GTH Quad must not exceed one.
5.The reference clock cannot be routed across the FPGA to the other GTH Quad column.
6.The reference clock cannot be shared with a neighboring GTX transceiver.
The maximum number of GTH transceivers that can be sourced by a single clock pin pair
is 12.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com47
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
PLL
Functional Description
Each GTHE1_QUAD primitive has one PLL block that is shared between the four lanes
within the Quad. Each lane in the GTH Quad has separate dividers for the transmitter and
the receiver, which allow each transmitter and receiver to operate in different
divided-down line rates based on the VCO frequency. The PLL in one GTHE1_QUAD
primitive cannot be shared with another GTH Quad.
The PLL has an operating range from 4.96 GHz to 5.591 GHz with the lane divider, which
can divide the output of the PLL by one or four. Ta bl e 2- 6 shows the supported line rate
and PLL settings in the GTH transceiver.
Table 2-6: Supported Line Rates per TX and RX Lane Divider Settings
TX and RX PLL Lane Divider Line Rate Range (Gb/s)
Figure 2-4 illustrates the PLL architecture. A low phase noise PLL input clock is
recommended for optimal jitter performance. The feedback divider determines the VCO
multiplication and the PLL output frequency.
19.920 – 11.182
42.48 – 2.58
48www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
X-Ref Target - Figure 2-4
UG371_c2_15_120809
TX PMA
Lane 0
TX Div:
D
T
RX CDR
RX Div:
D
R
TX PMA
Lane 1
TX Div:
D
T
RX CDR
PLL
CLKIN
PLL Block
RX Div:
D
R
PFDVCO
Charge
Pump
Loop
Filter
Feedback
Divider: M
Interface
Block
TX PMA
Lane 2
TX Div:
D
T
RX CDR
RX Div:
D
R
TX PMA
Lane 3
TX Div:
D
T
RX CDR
RX Div:
D
R
f
TX_LineRatefPLLClkin
M
D
T
-------
×=
f
RX_LineRatefPLLClkin
M
D
R
------- -
×=
PLL
The feedback divider value (M), part of the PLL_CFG0 attribute, is set by the
Virtex-6 FPGA GTH Transceiver Wizard. The TX output lane divider (D
TXRATE port, and the RX output lane divider (D
Equation 2-1 shows how to determine the TX line rate (Gb/s).
Equation 2-2 shows how to determine the RX line rate (Gb/s).
Figure 2-4: PLL Block Diagram
) is set by the RXRATE ports.
R
) is set by the
T
Equation 2-1
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com49
UG371 (v2.0) February 16, 2010
Equation 2-2
Chapter 2: Shared Transceiver Features
The PLL output clock is used to generate the PCS clocks. There are three dividers to
generate different PCS clocks (see Figure 2-5):
•PLLPCSCLKDIV
•SAMPLERATE (must have the same setting as TXRATE)
•TX_FABRIC_WIDTH/RX_FABRIC_WIDTH
Figure 2-5 shows the relationship between the dividers in the PCS block. The
PLLPCSCLKDIV ports determines the PCS clock frequency common across all the lanes in
the Quad. The SAMPLERATE port divides the Quad PCS clock and determine the internal
lane PCS clock for the each lane. The FABRIC_WIDTH attributes need to have correct
values to get the correct TXUSERCLKOUT and RXUSERCLKOUT values, depending on
the ratio between the FPGA logic data bus width and internal data bus width.
50www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
UG371_c2_16_020210
RX_FABRIC_WIDTH0
TX_FABRIC_WIDTH0
SAMPLERATE0[2:0]
RX PCS Clock for Lane 0
TXUSERCLK0
TX PCS
Clock for
Lane 0
Quad
TX
PCS
Clock
RXUSERCLK0
RECCLK0
Lane 0
TX Lane PCS
Clock Divider
QUAD
PLL
PMA Block
Common TX
PCS Clock
Divider for
GTH Quad
RX PCS Clock
Divider 0
TX Fabric
Clock Divider
PLLPCSCLKDIV[5:0]
SIPO_Data_Width0
RX Fabric
Clock Divider
RX_FABRIC_WIDTH1
TX_FABRIC_WIDTH1
SAMPLERATE1[2:0]
RX PCS Clock for Lane 1
TXUSERCLK1
TX PCS
Clock for
Lane 1
RXUSERCLK1
Lane 1
TX Lane PCS
Clock Divider
TX Fabric
Clock Divider
RX Fabric
Clock Divider
RX_FABRIC_WIDTH2
TX_FABRIC_WIDTH2
SAMPLERATE2[2:0]
RX PCS Clock for Lane 2
TXUSERCLK2
TX PCS
Clock for
Lane 2
RXUSERCLK2
Lane 2
TX Lane PCS
Clock Divider
TX Fabric
Clock Divider
RX Fabric
Clock Divider
RX_FABRIC_WIDTH3
TX_FABRIC_WIDTH3
SAMPLERATE3[2:0]
RX PCS Clock for Lane 3
TXUSERCLK3
TX PCS
Clock for
Lane 3
RXUSERCLK3
Lane 3
TX Lane PCS
Clock Divider
TX Fabric
Clock Divider
RX Fabric
Clock Divider
CDR0
RECCLK1
RX PCS Clock
Divider 1
SIPO_Data_Width1
CDR1
RECCLK2
RX PCS Clock
Divider 2
SIPO_Data_Width2
CDR2
RECCLK3
RX PCS Clock
Divider 3
SIPO_Data_Width3
CDR3
X-Ref Target - Figure 2-5
PLL
Figure 2-5: TX and RX Parallel Clock Dividers in the PCS Block
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com51
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
Ports and Attributes
Tab le 2 -7 defines the PLL ports.
Table 2-7: PLL Ports
PortDirClock DomainDescription
GTHINITInDCLKThis input triggers the programming of
GTHINITDONEOutDCLKThis port goes High when the process of
the attributes setting from configuration
memory to the registers in the
GTHE1_QUAD primitive.
This port must be asserted for 1 DCLK
clock cycle.
programming the bits from the
configuration memory to the registers in
the GTHE1_QUAD primitive is
completed.
This output is driven Low when
GTHRESET or GTHINIT is asserted. It
remains Low until after the assertion of
GTHINIT.
GTHRESETInDCLKThis port resets the GTHE1_QUAD
primitive. When this port is asserted, the
configuration of all GTH transceivers
within the GTHE1_QUAD primitive
reverts to the default setting of
10GBASE-R. To maintain the same user
configuration, GTHINIT must be pulsed
after GTHRESET is deasserted.
This port must be asserted for 1 DCLK
clock cycle.
PLLPCSCLKDIV[5:0]InDCLKPLL output divider for the GTH Quad
PCS clock. This port specifies the divider
for the PCS clock frequency. It must be
set to N – 1 to achieve an N division of
the PLL clock frequency.
RXCTRLACK0
RXCTRLACK1
RXCTRLACK2
RXCTRLACK3
OutTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
Assertion of this acknowledgment
signal indicates completion of a change
event on RXRATE<n> and
RXPOWERDOWN<n>.
The state of this port is valid only after
GTHINITDONE is driven High and
TXUSERCLKIN<n> is stable.
This port is not asserted until all internal
clocks for the RX datapath, including the
PLL output clock, are stable.
52www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Table 2-7: PLL Ports (Cont’d)
PortDirClock DomainDescription
PLL
RXRATE0[1:0]
RXRATE1[1:0]
RXRATE2[1:0]
RXRATE3[1:0]
SAMPLERATE0[2:0]
SAMPLERATE1[2:0]
SAMPLERATE2[2:0]
SAMPLERATE3[2:0]
TXCTRLACK0
TXCTRLACK1
TXCTRLACK2
TXCTRLACK3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
OutTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
This control signal specifies the receiver
lane divider values:
00: Full data rate
10: 1/4 data rate
All other encodings are reserved.
This port is active after the TX side
becomes active. TXUSERCLKIN<n>
must be stable to use this port.
This port must always be set to 2'b00
during initialization and when
GTHRESET is asserted.
This control signal specifies the
frequency of the strobe signal relative to
the internal transmitter PCS clock after
the transmitter lane dividers:
000: Full rate
010: 1/4 rate
All other encodings are reserved.
This port must always be set to 3'b000
during initialization and when
GTHRESET is asserted.
Assertion of this acknowledgment
signal indicates completion of a change
event on TXRATE<n>,
SAMPLERATE<n>, and
TXPOWERDOWN<n>.
The state of this port is valid only after
GTHINITDONE is driven High and
TXUSERCLKIN<n> is stable.
This port is not asserted until all internal
clocks for the TX datapath, including the
PLL output clock, are stable.
TXRATE0[1:0]
TXRATE1[1:0]
TXRATE2[1:0]
TXRATE3[1:0]
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com53
UG371 (v2.0) February 16, 2010
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
This control signal specifies the
transmitter lane divider values:
00: Full data rate
10: 1/4 data rate
All other encodings are reserved.
This port must always be set to 2'b00
during initialization and when
GTHRESET is asserted.
Chapter 2: Shared Transceiver Features
Tab le 2 -8 defines the PLL attributes.
Table 2-8: PLL Attributes
AttributeTypeDescription
DLL_CFG016-bit HexReserved. Use the recommended values from the
DLL_CFG116-bit HexReserved. Use the recommended values from the
PLL_CFG016-bit HexReserved. Use the recommended values from the
PLL_CFG116-bit HexReserved. Use the recommended values from the
PLL_CFG216-bit HexReserved. Use the recommended values from the
Virtex-6 FPGA GTH Transceiver Wizard.
Virtex-6 FPGA GTH Transceiver Wizard.
Virtex-6 FPGA GTH Transceiver Wizard.
[15:6]: Reserved
[5:0]: PLL feedback divider
Virtex-6 FPGA GTH Transceiver Wizard.
Virtex-6 FPGA GTH Transceiver Wizard.
RX_FABRIC_WIDTH0
RX_FABRIC_WIDTH1
RX_FABRIC_WIDTH2
RX_FABRIC_WIDTH3
TX_FABRIC_WIDTH0
TX_FABRIC_WIDTH1
TX_FABRIC_WIDTH2
TX_FABRIC_WIDTH3
IntegerThis attribute sets the mapping of the internal data
width (PCS) to the external data width (fabric) for
the receiver. Valid settings are:
“16” (DRP value 3'b000): PCS to Fabric 1:1
“20” (DRP value 3'b000): PCS to Fabric 1:1
“32” (DRP value 3'b011): PCS to Fabric 1:2 32 bit
“40” (DRP value 3'b101): PCS to Fabric 1:2 40 bit
“64” (DRP value 3'b010): PCS to Fabric 1:4 64 bit
“80” (DRP value 3'b110): PCS to Fabric 1:4 80 bit
“6466” (DRP value 3'b111): 64B/66B mode
IntegerThis attribute sets the mapping of the internal data
width (PCS) to the external data width (fabric) for
the transmitter. Valid settings are:
“16” (DRP value 3'b000): PCS to Fabric 1:1
“20” (DRP value 3'b000): PCS to Fabric 1:1
“32” (DRP value 3'b011): PCS to Fabric 1:2 32 bit
“40” (DRP value 3'b101): PCS to Fabric 1:2 40 bit
“64” (DRP value 3'b010): PCS to Fabric 1:4 64 bit
“80” (DRP value 3'b110): PCS to Fabric 1:4 80 bit
“6466” (DRP value 3'b111): 64B/66B mode
54www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Reset and Initialization
PLL Settings for the Common Protocol
Tab le 2 -9 shows example PLL divider settings for several standard protocols that the GTH
transceiver supports.
Table 2-9: PLL Divider Settings for Common Protocols
1. The settings for the TX_FABRIC_WIDTH and RX_FABRIC_WIDTH listed in this table are examples. The settings depend on the
external data width that the user selects for the fabric logic.
Reset and Initialization
Functional Description
The different ways to reset the GTH Quad are:
1.Power-up and configure the FPGA.
2.Apply a reset sequence to the GTHRESET and GTHINIT ports.
3.Reset the PCS logic using the power-down ports.
All these methods are described in this section.
These items must be considered to initialize the GTH Quad properly:
•DCLK must always be provided to the GTHE1_QUAD primitive even if the DRP or
management interface is not used.
Note:
DCLK must be sourced from a free-running clock. It cannot be sourced from
TSTREFCLKOUT or TSTREFCLKFAB of the GTH Quad.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com55
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
•Asserting GTHRESET not only resets the GTH Quad but also changes its
configuration back to its default of 10GBASE-R. For example, if the design is
configured for OC-192, asserting GTHRESET changes the configuration to
10GBASE-R.
•To keep the user configuration after GTHRESET is deasserted, GTHINIT must be
pulsed.
•Both TXUSERCLKIN<n> and RXUSERCLKIN<n> clocks must be stable when
TXPOWERDOWN<n> and RXPOWERDOWN<n> are set in normal operation mode.
•The PCS_MODE_LANE<n>, PCS_RESET_LANE<n>, and PCS_RESET_1_LANE<n>
attributes must be set to the datapath mode configuration used in the application.
Ports and Attributes
Tab le 2 -1 0 defines the reset ports.
Table 2-10: Reset Ports
PortDirClock DomainDescription
DCLKInN/AThis input is the DRP interface clock. It is also used as the
management interface clock when the management
interface is enabled. This clock must be connected and
available all the time for the GTHE1_QUAD primitive to
initialize properly, even if the DRP or the management
interface is not used in the design.
GTHINITInDCLKThis input triggers the programming of the attributes
setting from configuration memory to the registers in the
GTHE1_QUAD primitive.
This port must be asserted for 1 DCLK clock cycle.
GTHINITDONEOutDCLKThis port is driven High upon completion of programming
the bits from the configuration memory to the registers in
the GTHE1_QUAD primitive.
This output is driven Low when GTHRESET or GTHINIT is
asserted. It remains Low until after the assertion of
GTHINIT.
GTHRESETInDCLKThis port resets the GTHE1_QUAD primitive. When this
port is asserted, the configuration of all GTH transceivers
within the GTHE1_QUAD primitive reverts to the default
setting of 10GBASE-R. To maintain the same user
configuration, GTHINIT must be pulsed after GTHRESET
is deasserted.
This port must be asserted for 1 DCLK clock cycle.
RXBUFRESET0
RXBUFRESET1
RXBUFRESET2
RXBUFRESET3
InRXUSERCLKIN0
RXUSERCLKIN1
RXUSERCLKIN2
RXUSERCLKIN3
This input resets the buffer inside the RX data converter (see
Figure 4-5, page 136). Both the internal RX clock and
RXUSERCLKIN<n>
applied to the buffer.
(1)
must be stable before a reset can be
56www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Table 2-10: Reset Ports (Cont’d)
PortDirClock DomainDescription
Reset and Initialization
RXCTRLACK0
RXCTRLACK1
RXCTRLACK2
RXCTRLACK3
RXPOWERDOWN0[1:0]
RXPOWERDOWN1[1:0]
RXPOWERDOWN2[1:0]
RXPOWERDOWN3[1:0]
RXRATE0[1:0]
RXRATE1[1:0]
RXRATE2[1:0]
RXRATE3[1:0]
OutTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
Assertion of this acknowledgment signal indicates
completion of a change event on RXRATE<n> and
RXPOWERDOWN<n>.
The state of this port is valid only after GTHINITDONE is
driven High and TXUSERCLKIN<n> is stable.
This control signal requests the receiver power state:
00: Normal operation.
10: Power off receiver logic. The PLL continues to
operate in this state.
This port must always be set to 2'b10 during initialization
and when GTHRESET is asserted.
If the Quad is configured as a x4 link, only the port from
Lane 0 is valid.
This control signal specifies the receiver lane divider values:
00: Full data rate
10: 1/4 data rate
All other encodings are reserved.
This port is active after the TX side becomes active.
TXUSERCLKIN<n> must be stable to use this port.
This port must always be set to 2'b00 during initialization
and when GTHRESET is asserted.
RXUSERCLKIN0
RXUSERCLKIN1
RXUSERCLKIN2
RXUSERCLKIN3
SAMPLERATE0[2:0]
SAMPLERATE1[2:0]
SAMPLERATE2[2:0]
SAMPLERATE3[2:0]
TXBUFRESET0
TXBUFRESET1
TXBUFRESET2
TXBUFRESET3
TXCTRLACK0
TXCTRLACK1
TXCTRLACK2
TXCTRLACK3
InN/AThis port provides a clock for the internal receiver PCS
datapath. It is a buffered version of RXUSERCLKOUT<n>.
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
OutTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
This control signal specifies the frequency of the strobe
signal relative to the internal transmitter PCS clock after the
transmitter lane dividers:
000: Full rate
010: 1/4 rate
All other encodings are reserved.
This port must always be set to 3'b000 during
initialization and when GTHRESET is asserted.
This input resets the buffer inside the TX data converter (see
Figure 3-2, page 81). Both the internal TX clock and
TXUSERCLKIN<n> must be stable before a reset can be
applied to the buffer.
This acknowledgment signal indicates completion of a
change event on TXRATE<n>, SAMPLERATE<n>, and
TXPOWERDOWN<n>.
The state of this port is valid only after the GTHINITDONE
is driven High and TXUSERCLKIN<n> is stable.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com57
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
Table 2-10: Reset Ports (Cont’d)
PortDirClock DomainDescription
TXPOWERDOWN0[1:0]
TXPOWERDOWN1[1:0]
TXPOWERDOWN2[1:0]
TXPOWERDOWN3[1:0]
TXRATE0[1:0]
TXRATE1[1:0]
TXRATE2[1:0]
TXRATE3[1:0]
TXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
Notes:
1. <n> denotes lane 0, 1, 2, or 3.
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
This control signal requests the transmitter power state:
00: Normal operation
10: Power off transmitter logic. The PLL continues to
operate in this state.
This port must always be set to 2'b10 during initialization
and when GTHRESET is asserted.
If the Quad is configured as a x4 link, only the port from
Lane 0 is valid.
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
This control signal specifies the transmitter lane divider
values:
00: Full data rate
10: 1/4 data rate
All other encodings are reserved.
This port must always be set to 2'b00 during initialization
and when GTHRESET is asserted.
InN/AThis port provides a clock for the internal transmitter PCS
datapath. It is a buffered version of the
TXUSERCLKOUT<n>.
This clock must be stable for RXCTRLACK<n> and
RXRATE<n> ports to be active.
58www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Tab le 2 -11 defines the reset attributes.
Table 2-11: Reset Attributes
AttributeTypeDescription
Reset and Initialization
PCS_MODE_LANE0
PCS_MODE_LANE1
PCS_MODE_LANE2
PCS_MODE_LANE3
16-bit HexThis attribute sets the PCS mode.
[15]: Loopback serializer/deserializer RX to serializer/deserializer TX
GTH Quad Initialization in Response to Completion of Configuration
Figure 2-6 shows the initialization sequence of the GTH Quad following completion of
configuration when the GTH transceiver is configured in full line rate mode (i.e.,
TXRATE<n>[1:0], SAMPLERATE<n>[2:0], and RXRATE<n>[1:0] ports are set to all zeros).
Follow these steps to initialize the GTH transceiver, when configured in full line rate mode:
1.Set PCS_MODE_LANE<n>[7:4] and PCS_MODE_LANE<n>[3:0] to the datapath
mode used in the application for RX and TX, respectively.
2.Set PCS_RESET_LANE<n> to the datapath mode used in the application.
3.Set PCS_RESET_1_LANE<n> to the datapath mode used in the application.
4.Set TXPOWERDOWN<n>[1:0] and RXPOWERDOWN<n>[1:0] to 2'b10.
5.After completion of configuration (GSR going High), wait for GTHINITDONE to go
High. The PLL is locked after GTHINITDONE is asserted.
6.Pulse TXBUFRESET for one TXUSERCLKIN clock cycle.
60www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
X-Ref Target - Figure 2-6
GTHINITDONE
GSR
TXPOWERDOWN<n>[1:0]
TXBUFRESET<n>
TXCTRLACK<n>
RXPOWERDOWN<n>[1:0]
RXCTRLACK<n>
RXBUFRESET<n>
UG371_c2_03_080709
2Õb102Õb00
2Õb102Õb00
Reset and Initialization
7.Change TXPOWERDOWN<n>[1:0] to 2'b00 to power up the transmitter logic.
8.Wait for TXCTRLACK<n> to go High. The transmitter is ready for normal operation.
9.Change RXPOWERDOWN<n>[1:0] to 2'b00.
10. Wait for RXCTRLACK<n> to go High.
11. Pulse RXBUFRESET for one RXUSERCLKIN clock cycle. The receiver is ready for
normal operation.
Figure 2-6: GTH Transceiver Initialization when in Full Line Rate Mode
Note relevant to Figure 2-6:
1.The TXCTRLACK<n> and RXCTRLACK<n> signals can be High for more than
1 DCLK clock cycle.
Figure 2-7 shows the initialization sequence of the GTH Quad following completion of
configuration when the GTH transceiver is configured in divided line rate mode (i.e.,
TXRATE<n>[1:0], SAMPLERATE<n>[2:0], and RXRATE<n>[1:0] ports are set to non-zero
values).
Follow these steps to initialize the GTH transceiver, when configured in divided line rate
mode:
1.Set PCS_MODE_LANE<n>[7:4] and PCS_MODE_LANE<n>[3:0] to the datapath
mode used in the application for RX and TX, respectively.
2.Set PCS_RESET_LANE<n> to the datapath mode used in the application.
3.Set PCS_RESET_1_LANE<n> to the datapath mode used in the application.
4.Set TXPOWERDOWN<n>[1:0] and RXPOWERDOWN<n>[1:0] to 2'b10.
5.Set TXRATE<n>[1:0] and RXRATE<n>[1:0] to 2'b00, and set SAMPLERATE<n>[2:0]
to 3'b000.
6.After completion of configuration (GSR going High), wait for GTHINITDONE to go
High. The PLL is locked after GTHINITDONE is asserted.
7.Change TXRATE<n>[1:0] to the value used for the application and wait for
TXCTRLACK to go High.
8.Change SAMPLERATE<n>[2:0] to the value used for the application and wait for
TXCTRLACK to go High.
9.Pulse TXBUFRESET for one TXUSERCLKIN clock cycle.
10. Change TXPOWERDOWN<n>[1:0] to 2'b00 to power up the transmitter logic.
11. Wait for TXCTRLACK<n> to go High. The transmitter is ready for normal operation.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com61
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
GTHINITDONE
GSR
TXRATE <n>[1:0]
SAMPLERATE<n>[2:0]
TXPOWERDOWN<n>[1:0]
TXBUFRESET<n>
TXCTRLACK<n>
RXCTRLACK<n>
RXRATE<n>[1:0]
RXPOWERDOWN<n>[1:0]
RXBUFRESET<n>
UG371_c2_04_082609
2’b00USER_TXRATE
3’b000USER_SAMPLERATE
2’b102’b00
2’b00USER_RXRATE
2’b102’b00
12. Change RXRATE<n>[1:0] to the value used for the application and wait for
RXCTRLACK to go High.
13. Change RXPOWERDOWN<n>[1:0] to 2'b00.
14. Wait for RXCTRLACK<n> to go High.
15. Pulse RXBUFRESET for one RXUSERCLKIN clock cycle. The receiver is ready for
normal operation.
X-Ref Target - Figure 2-7
Figure 2-7: GTH Transceiver Initialization when in Divided Line Rate Mode
Note relevant to Figure 2-7:
1.The TXCTRLACK<n> and RXCTRLACK<n> signals can be High for more than
1 DCLK clock cycle.
GTH Quad Reset in Response to GTHRESET
GTHRESET is used as a reset to all four GTH lanes within the Quad, including the PLL.
Besides resetting the GTH Quad, GTHRESET also changes the Quad to its default
configuration of 10GBASE-R. If the GTH Quad has a different configuration from the
default of 10GBASE-R, the design must also assert GTHINIT after GTHRESET is
deasserted.
Figure 2-8 shows the reset sequence of the GTH Quad following the assertion of
GTHRESET when the GTH transceiver is configured in full line rate mode (i.e., the
TXRATE<n>[1:0], SAMPLERATE<n>[2:0], and RXRATE<n>[1:0] ports are set to all zeros).
Follow these steps to reset the GTH transceiver, when configured in full line rate mode:
1.Set PCS_MODE_LANE<n>[7:4] and PCS_MODE_LANE<n>[3:0] to the datapath
mode used in the application for RX and TX, respectively.
2.Set PCS_RESET_LANE<n> to the datapath mode used in the application.
3.Set PCS_RESET_1_LANE<n> to the datapath mode used in the application.
4.Set TXPOWERDOWN<n>[1:0] and RXPOWERDOWN<n>[1:0] to 2'b10.
5.Assert GTHRESET for 1 DCLK clock cycle. The TXCTRLACK<n> and
RXCTRLACK<n> ports from all four lanes are asserted.
62www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
X-Ref Target - Figure 2-8
GTHINITDONE
GTHINIT
GTHRESET
TXPOWERDOWN<n>[1:0]
TXBUFRESET<n>
TXCTRLACK<n>
RXPOWERDOWN<n>[1:0]
RXCTRLACK<n>
RXBUFRESET<n>
UG371_c2_05_080809
2Õb102Õb00
2Õb10
(1)
(1)
2Õb00
Reset and Initialization
6.Wait for TXCTRLACK<n> and RXCTRLACK<n> from all four lanes to be deasserted
and then assert GTHINIT for 1 DCLK clock cycle.
7.Wait for GTHINITDONE to go High. The PLL is locked after GTHINITDONE is
asserted.
8.Pulse TXBUFRESET for one TXUSERCLKIN clock cycle.
9.Change TXPOWERDOWN<n>[1:0] to 2'b00 to power up the transmitter logic.
10. Wait for TXCTRLACK<n> to go High. The transmitter is ready for normal operation.
11. Change RXPOWERDOWN<n>[1:0] to 2'b00.
12. Wait for RXCTRLACK<n> to go High.
13. Pulse RXBUFRESET for one RXUSERCLKIN clock cycle. The receiver is ready for
normal operation.
Figure 2-8: GTH Transceiver Reset when in Full Line Rate Mode
Notes relevant to Figure 2-8:
1.The TXCTRLACK<n> and RXCTRLACK<n> signals at this time refer to all four lanes
within the Quad. The user must wait for all four TXCTRLACK<n> and
RXCTRLACK<n> signals to be deasserted before asserting GTHINIT.
2.The TXCTRLACK<n> and RXCTRLACK<n> signals can be High for more than
1 DCLK clock cycle.
Figure 2-9 shows the reset sequence of the GTH Quad following the assertion of
GTHRESET when the GTH transceiver is configured in divided line rate mode (i.e., the
TXRATE<n>[1:0], SAMPLERATE<n>[2:0], and RXRATE<n>[1:0] ports are set to non-zero
values).
Follow these steps to initialize the GTH transceiver, when configured in divided line rate
mode:
1.Set PCS_MODE_LANE<n>[7:4] and PCS_MODE_LANE<n>[3:0] to the datapath
mode used in the application for RX and TX, respectively.
2.Set PCS_RESET_LANE<n> to the datapath mode used in the application.
3.Set PCS_RESET_1_LANE<n> to the datapath mode used in the application.
4.Set TXPOWERDOWN<n>[1:0] and RXPOWERDOWN<n>[1:0] to 2'b10.
5.Set TXRATE<n>[1:0] and RXRATE<n>[1:0] to 2'b00, and set SAMPLERATE<n>[2:0]
to 3'b000.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com63
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
GTHINITDONE
GTHINIT
TXRATE <n>[1:0]
SAMPLERATE<n>[2:0]
TXPOWERDOWN<n>[1:0]
TXBUFRESET<n>
TXCTRLACK<n>
RXCTRLACK<n>
RXRATE<n>[1:0]
RXPOWERDOWN<n>[1:0]
RXBUFRESET<n>
UG371_c2_06_082609
2’b00USER_TXRATE
3’b000USER_SAMPLERATE
2’b102’b00
2’b00USER_RXRATE
2’b102’b00
(1)
(1)
6.Assert GTHRESET for 1 DCLK clock cycle. TXCTRLACK<n> and RXCTRLACK<n>
from all four lanes are asserted.
7.Wait for TXCTRLACK<n> and RXCTRLACK<n> from all four lanes to be deasserted
and then assert GTHINIT for 1 DCLK clock cycle.
8.Wait for GTHINITDONE to go High. The PLL is locked after GTHINITDONE is
asserted.
9.Change TXRATE<n>[1:0] to the value used for the application and wait for
TXCTRLACK to go High.
10. Change SAMPLERATE<n>[2:0] to the value used for the application and wait for
TXCTRLACK to go High.
11. Pulse TXBUFRESET for one TXUSERCLKIN clock cycle.
12. Change TXPOWERDOWN<n>[1:0] to 2'b00 to power up the transmitter logic.
13. Wait for TXCTRLACK<n> to go High. The transmitter is ready for normal operation.
14. Change RXRATE<n>[1:0] to the value used for the application and wait for
RXCTRLACK signal to go High.
15. Change RXPOWERDOWN<n>[1:0] to 2'b00.
16. Wait for RXCTRLACK<n> to go High.
17. Pulse RXBUFRESET for one RXUSERCLKIN clock cycle. The receiver is ready for
normal operation.
X-Ref Target - Figure 2-9
64www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
Figure 2-9: GTH Transceiver Reset when in Divided Line Rate Mode
Notes relevant to Figure 2-9:
1.TXCTRLACK<n> and RXCTRLACK<n> at this time refers to all four lanes within the
Quad. The user must wait for all four TXCTRLACK<n> and RXCTRLACK<n> signals
to be deasserted before asserting GTHINIT.
2.The TXCTRLACK<n> and RXCTRLACK<n> signals can be High for more than
1 DCLK clock cycle.
UG371 (v2.0) February 16, 2010
Resetting the Transmit Datapath
UG371_c2_07_080809
2Õb002Õb002Õb10
TXCTRLACK<n>
TXPOWERDOWN[1:0]<n>
TXBUFRESET<n>
The transmit datapath of the GTH transceiver must be reset under these conditions:
•After a line rate change
•When the clock going into the TXUSERCLKIN port changes
Figure 2-10 shows the reset sequence for the transmit datapath.
X-Ref Target - Figure 2-10
Figure 2-10: GTH Reset for the Transmit Datapath
Note relevant to Figure 2-10:
1.The TXCTRLACK<n> signal can be High for more than 1 DCLK clock cycle.
Follow these steps to reset the transmit datapath in the GTH transceiver:
Reset and Initialization
1.Change TXPOWERDOWN<n>[1:0] to 2'b10 and wait for TXCTRLACK<n> to go
High.
2.Assert TXBUFRESET<n> for one TXUSERCLKIN clock cycle.
3.Change TXPOWERDOWN<n>[1:0] to 2'b00. The transmitter is ready for normal
operation.
Resetting the Receive Datapath
The reset datapath of the GTH transceiver must be reset under these conditions:
•After a line rate change
•When the clock going into the RXUSERCLKIN port changes
•When the receiver CDR loses lock as a result of:
•The remote link powering up
•Disconnecting and connecting RXN/RXP serial pins
Figure 2-11 shows the reset sequence for the receive datapath.
X-Ref Target - Figure 2-11
RXPOWERDOWN<n>[1:0]
RXCTRLACK<n>
RXBUFRESET<n>
Figure 2-11: GTH Reset for the Receive Datapath
2Õb002Õb002Õb10
UG371_c2_08_080809
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com65
UG371 (v2.0) February 16, 2010
Note relevant to Figure 2-11:
1.The RXCTRLACK<n> signal can be High for more than 1 DCLK clock cycle.
Chapter 2: Shared Transceiver Features
Follow these steps to reset the receive datapath in the GTH transceiver:
1.Change RXPOWERDOWN<n>[1:0] to 2'b10 and wait for RXCTRLACK<n> to go
High. The CDR is disabled.
2.Change RXPOWERDOWN<n>[1:0] to 2'b00 and wait for RXCTRLACK<n> to go
High. The CDR is enabled.
3.Assert RXBUFRESET<n> for one RXUSERCLKIN clock cycle. The receiver is ready for
normal operation.
Power Down
Functional Description
The GTH transceiver offers different levels of power control. Part of the power-down
functionality includes resetting certain logic within the GTH transceiver.
Ports and Attributes
Tab le 2 -1 2 defines the power-down ports.
Table 2-12: Power-Down Ports
PortDirClock DomainDescription
POWERDOWN0
POWERDOWN1
POWERDOWN2
POWERDOWN3
RXPOWERDOWN0[1:0]
RXPOWERDOWN1[1:0]
RXPOWERDOWN2[1:0]
RXPOWERDOWN3[1:0]
TXPOWERDOWN0[1:0]
TXPOWERDOWN1[1:0]
TXPOWERDOWN2[1:0]
TXPOWERDOWN3[1:0]
InTXUSERCLKIN0
InTXUSERCLKIN0
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
This control signal powers off the corresponding lane. It is
used to place individual lanes in a low power state. This
port is used on a per-lane basis even when multiple lanes
are configured as a single logical link.
This control signal requests the receiver power state:
00: Normal operation
10: Power-off receiver logic. The PLL continues to
operate in this state.
Th is port mus t always be set to 2'b10 during initialization
and when GTHRESET is asserted.
If the Quad is configured as a x4 link, only the port from
Lane 0 is valid.
This control signal requests the transmitter power state:
00: Normal operation
10: Power-off transmitter logic. The PLL continues to
operate in this state.
Th is port mus t always be set to 2'b10 during initialization
and when GTHRESET is asserted.
If the Quad is configured as a x4 link, only the port from
Lane 0 is valid.
66www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Using Power Down
Loopback
Loopback
Tab le 2 -1 3 defines the power-down attributes.
.
Table 2-13: Power-Down Attributes
AttributeTypeDescription
GTH_CFG_PWRUP_LANE0
GTH_CFG_PWRUP_LANE1
GTH_CFG_PWRUP_LANE2
1-bit Binary This control attribute powers off the
corresponding lane. This attribute is set to
1'b1 to power up the corresponding GTH
lane.
GTH_CFG_PWRUP_LANE3
To activate the power-down mode on a per lane basis, use either the POWERDOWN<n>
port or the GTH_CFG_PWRUP_LANE<n> attribute.
The TXPOWERDOWN and RXPOWERDOWN ports are used to activate the power down
on the transmitter or the receiver, respectively.
Functional Description
The GTH transceiver supports these loopback modes:
•Far-end Loopback (line loopback)
•Near-end PCS Loopback
•Near-end PMA Loopback
Far-end Loopback
The Far-end loopback mode uses external equipment to generate and check test data. The
loopback occurs after passing the deserializer of the PMA. The entire PCS section is
bypassed except for the data multiplexers closest to the PMA. The loopback path works
only when the external test equipment uses the same reference clock as the PMA.
Figure 2-12 shows the Far-end loopback datapath.
X-Ref Target - Figure 2-12
TXN/TXP
TX
Buffer
PMA
PCS
Serializer
Deserializer
RXN/RXP
RX
Buffer
CDR
DFE
UG371_c2_09_020510
Figure 2-12: Far-end Loopback
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com67
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
DFE
PMA
TXN/TXP
RXDATA
RXN/RXP
TX
Buffer
RX
Buffer
Serializer
Deserializer
PCS
UG371_c2_10_120109
CDR
PRBS
Checker
TXDATA
PRBS
Generator
DFE
PMA
TXN/TXP
RXDATA
RXN/RXP
TX
Buffer
RX
Buffer
Serializer
Deserializer
PCS
UG371_c2_11_120109
CDR
Pre-emphasis
Serial
Loopback
PRBS
Checker
TXDATA
PRBS
Generator
Linear EQ
Near-end PCS Loopback
In the Near-end PCS loopback mode, data is generated by user logic and looped back
internal to the PCS. Then the data is checked by the user logic. Any PCS operating mode
(8B/10B mode, raw mode, etc.) can be used. The PMA is not used.
Figure 2-13 shows the PCS internal loopback path.
X-Ref Target - Figure 2-13
X-Ref Target - Figure 2-14
Figure 2-13: Near-end PCS Loopback
Near-end PMA Loopback
This mode uses either user logic or the PRBS generator/checker to generate and check the
test data. The serial loopback path to the RX buffer is either after the TX pre-driver (before
the TX buffer) or after the TX buffer. In this mode, the operation for all enabled PCS and
PMA functional blocks in the transmitter and receiver channel can be verified.
Figure 2-14 shows a simplified block diagram of the Near-end PMA loopback mode.
Figure 2-14: Near-end PMA Loopback
68www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
0000: Zero
0001: 64B/66B
0111: 8B/10B
1010: 16-bit raw data
1011: 20-bit raw data
1100: PRBS
Others: Reserved
[3:0]: PCS TX mode
0000: Zero
0001: 64B/66B
0111: 8B/10B
1010: 16-bit raw data
1011: 20-bit raw data
1100: PRBS
Others: Reserved
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com69
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
Dynamic Reconfiguration Port
Functional Description
The dynamic reconfiguration port (DRP) allows the dynamic change of parameters of the
GTHE1_QUAD primitive. The DRP interface is a processor-friendly synchronous interface
with an address bus (DADDR) and separated data buses for reading (DO) and writing (DI)
configuration data to the GTH Quad. An enable signal (DEN), a read/write signal (DWE),
and a ready/valid signal (DRDY) are the control signals that implement read and write
operations, indicate operation completion, or indicate the availability of data. Refer to
UG360
diagrams of the DRP operations.
Ports and Attributes
Tab le 2 -1 5 defines the DRP ports.
Table 2-15: DRP Ports
PortDirClock DomainDescription
DADDR[15:0]InDCLKThis input bus is the DRP address bus.
, Virtex-6 FPGA Configuration User Guide for detailed descriptions and timing
DCLKInN/AThis input is the DRP interface clock. It is also used as the management
interface clock when the management interface is enabled. This clock must
be connected and available all the time for the GTHE1_QUAD primitive to
initialize properly, even if the DRP or the management interface is not used
in the design.
DENInDCLKThis input is the DRP enable signal.
0: No read or write operation performed.
1: Enables a read or write operation.
DI[15:0]InDCLKThis input bus is the data bus for writing configuration data from the FPGA
logic resources to the GTHE1_QUAD primitive.
DISABLEDRPInDCLKThis input switches between the DRP and the management interface blocks.
0: DRP interface is selected.
1: Management interface is selected.
DRPDO[15:0]OutDCLKThis output bus is the data bus for reading configuration data from the
GTHE1_QUAD primitive to the FPGA logic resources.
DRDYOutDCLKWhen asserted, this output indicates operation is complete for write
operations and data is valid for read operations.
DWEInDCLKThis input is the DRP write enable:
0: Read operation when DEN is 1.
1: Write operation when DEN is 1.
Using the DRP Interface
To enable the DRP interface, the DISABLEDRP port is driven Low. When the DRP interface
is enabled, the management interface must be disabled.
Note:
and the management interface, the user must wait two DCLK cycles for the change to take effect
before accessing the registers.
70www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
When the setting on the DISABLEDRP port is changed to switch between the DRP interface
UG371 (v2.0) February 16, 2010
Management Interface
Management Interface
Functional Description
The management interface allows the dynamic change of parameters of the
GTHE1_QUAD primitive. It also allows monitoring the status of certain blocks within the
GTH transceiver.
The management interface has separate signals for the MMD, GTH lane, and register
address fields. This interface is driven by DCLK. When the management interface is
selected, the DRP interface must be disabled by setting the DISABLEDRP port.
Ports and Attributes
Tab le 2 -1 6 defines the management interface ports.
Table 2-16: Management Interface Ports
PortDir Clock DomainDescription
DCLKInN/AThis input is the DRP interface clock. It is also used as the
.
management interface clock when the management interface is
enabled. This clock must be connected and available all the time
for the GTHE1_QUAD primitive to initialize properly, even if the
DRP or the management interface is not used in the design.
DISABLEDRPInDCLKThis input switches between the DRP and the management
interface blocks.
0: DRP interface is selected.
1: Management interface is selected.
MGMTPCSLANESEL[3:0]InDCLKThese inputs select the GTH lane of the management interface:
0001: Select GTH lane 0.
0010: Select GTH lane 1.
0100: Select GTH lane 2.
1000: Select GTH lane 3.
The user can select more than one GTH lane for accessing the
registers.
MGMTPCSMMDADDR[4:0]In DCLKThis input bus is the MMD address bus.
MGMTPCSRDACKOutDCLKThis output is the management interface read data valid signal.
It indicates when data is valid for read operations.
MGMTPCSRDDATA[15:0]OutDCLKThis output bus is the management interface register read data
bus.
MGMTPCSREGADDR[15:0]InDCLKThis input bus is the management interface register address bus.
MGMTPCSREGRDInDCLKThis input is the management interface read request valid signal.
MGMTPCSREGWRInDCLKThis input is the management interface write request valid
signal.
MGMTPCSWRDATA[15:0]InDCLKThis input bus is the management interface register write data
bus.
There are no management interface attributes.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com71
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
Using the Management Interface
Follow these steps to enable the management interface:
1.Drive the DISABLEDRP port Low during GTH transceiver initialization.
2.When the GTHINITDONE signal goes High from completion of GTH transceiver
initialization, drive the DISABLEDRP port High.
One example for implementing the above sequence in logic is to tie the DISABLEDRP port
to the inverter of GTHINITDONE.
Note:
When the setting on the DISABLEDRP port is changed to switch between the DRP interface
and the management interface, the user must wait two DCLK cycles for the change to take effect
before accessing the registers.
Figure 2-15 is a timing diagram for reading the register through the management interface.
The read access consists of MMD, GTH lane select, register address signals, and a single
cycle pulse of the MGMTPCSREGRD signal. The read addresses must be held until the
read access completes and returns an acknowledgment through the MGMTPCSRDACK
signal. A read operation can be requested right after the acknowledgment indicator signal
as shown in Event 1 of Figure 2-15. No read or write operation can be requested prior to the
acknowledgment indicator signal.
72www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
X-Ref Target - Figure 2-16
Management Interface
Figure 2-16 is a timing diagram for writing to the register through the management
The write access consists of the MMD, GTH lane select, and register address signals, the
write data, and a single cycle pulse of the MGMTPCSREGWR signal. There is no
acknowledgment indicator for a write operation. The management interface supports
multiple write accesses by asserting the MGMTPCSREGWR signal as shown in Event 1 of
Figure 2-16.
(Select GTH Lane)
(Select MMD Address)
(Select Management Register Address)
D1D2
(Event 1)
D3
UG371_c2_13_020810
Multiple MGMTPCSLANESEL[3:0] signals can be asserted simultaneously for a write
access.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com73
UG371 (v2.0) February 16, 2010
Chapter 2: Shared Transceiver Features
74www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Transmitter
This chapter describes how to configure and use each of the functional blocks inside the
GTH transmitter (TX). Each GTH transceiver in the GTH Quad includes an independent
transmitter, which consists of a PCS and a PMA.
The key elements within the GTH TX are:
•FPGA TX Interface, page 75
•TX 8B/10B Block, page 82
•TX 64B/66B Block, page 86
•TX Raw Mode, page 89
•TX Pattern Generator, page 93
•TX Polarity Control, page 96
•TX Configurable Driver, page 97
Chapter 3
FPGA TX Interface
Functional Description
The FPGA TX interface is the FPGA’s gateway to the TX datapath of the GTH transceiver.
Applications transmit data through the GTH transceiver by writing data to the TXDATA
port on the positive edge of TXUSERCLKIN. The width of the port can be configured
depending on the mode chosen (see Tab le 3 -1 ).
Table 3-1: FPGA TX Interface Port Width
8B/10B mode• 16 bits
64B/66B mode• 64 bits
ModePort Width
• 32 bits
• 64 bits
Raw mode• 16 bits
• 20 bits
• 32 bits
• 40 bits
• 64 bits
• 80 bits
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com75
UG371 (v2.0) February 16, 2010
Chapter 3: Transmitter
The rate of the parallel clock, TXUSERCLKIN, at the interface is determined by the TX line
rate, the width of the TXDATA port, and whether or not 8B/10B mode is used. A block
inside the PCS handles the mapping of the internal data width to the fabric data width
selected in the design.
A data width converter block is included in the transmit datapath. This block includes:
•A clock generator that takes the internal PCS clock and generates TXUSERCLKOUT
to the FPGA logic based on the external data width selected
•A four-byte-deep FIFO that handles the phase difference between the internal PCS
clock and the external user clock
•A data width converter between the internal PCS data interface and the external data
interface to the FPGA logic
The PCS_MODE_LANE<n>[3:0] attribute configures the internal data width, and the
TX_FABRIC_WIDTH<n> attribute configures the external data width. Tab le 3 -2 shows
how the interface width for the TX datapath is selected.
76www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
X-Ref Target - Figure 3-1
UG371_c3_01_082709
RXDATA[63:0]
RXCTRL[7:0]
RXCODEERR[7:0]
8B/10B
64B/66B
Raw
PRBS
Checker
Receive
Data
Converter
PCS to Fabric
Interface
PCS
PMA
20
20
16
16
64
16, 20
16, 20
64
16
16, 20
16, 20
TXDATA[63:0]
TXCTRL[7:0]
TXDATAMSB[7:0]
Raw
64B/66B
8B/10B
PRBS
Generator
Transmit
Data
Converter
16, 20
16, 20
16
FPGA TX Interface
Figure 3-1 is a block diagram of the PCS logic. It shows the transmit datapath with the
different modes and the data converter block.
Figure 3-1: PCS B lock Diagram
The user must consider these restrictions when configuring the fabric data width:
•The fabric interface data width must be the same for both the transmitter and receiver
within a GTH lane.
•The data mode must be the same for both the transmitter and receiver within a GTH
lane.
•The data mode must be the same on all four GTH lanes within a Quad.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com77
UG371 (v2.0) February 16, 2010
Chapter 3: Transmitter
Ports and Attributes
Tab le 3 -3 defines the FPGA TX interface ports.
Table 3-3: FPGA TX Interface Ports
PortDirClock DomainDescription
GTHX4LANEInAsyncWhen this port is asserted, GTH lanes 0, 1, 2, and 3 are
configured into a single x4 link.
TXBUFRESET0
TXBUFRESET1
TXBUFRESET2
TXBUFRESET3
TXCTRL0[7:0]
TXCTRL1[7:0]
TXCTRL2[7:0]
TXCTRL3[7:0]
TXDATA0[63:0]
TXDATA1[63:0]
TXDATA2[63:0]
TXDATA3[63:0]
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
This port resets the buffer inside the TX data converter. Both the
internal TX clock and TXUSERCLKIN<n> must be stable before
a reset can be applied to the buffer.
These inputs either indicate control of TXDATA<n> or they are
used as an extension of TXDATA<n> depending on the mode
selected in the transmitter datapath:
8B/10B: These inputs are asserted when TXDATA<n> is an
8B/10B K character.
TXCTRL<n>[7] corresponds to TXDATA<n>[63:56]
TXCTRL<n>[6] corresponds to TXDATA<n>[55:48]
TXCTRL<n>[5] corresponds to TXDATA<n>[47:40]
TXCTRL<n>[4] corresponds to TXDATA<n>[39:32]
TXCTRL<n>[3] corresponds to TXDATA<n>[31:24]
TXCTRL<n>[2] corresponds to TXDATA<n>[23:16]
TXCTRL<n>[1] corresponds to TXDATA<n>[15:8]
TXCTRL<n>[0] corresponds to TXDATA<n>[7:0]
64B/66B: These inputs are 64B/66B control bits.
Raw mode: These inputs are used as part of TXDATA<n>[71:64].
This input bus is the transmit data bus of the transmit interface
from the FPGA.
TXDATAMSB0[7:0]
TXDATAMSB1[7:0]
TXDATAMSB2[7:0]
TXDATAMSB3[7:0]
TXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
TXUSERCLKOUT0
TXUSERCLKOUT1
TXUSERCLKOUT2
TXUSERCLKOUT3
78www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
InN/AThis port provides a clock for the internal transmitter PCS
OutN/AThis port is the transmit parallel clock output based on the
This bus extends the transmit data bus as TXDATA<n>[79:72].
datapath. It is a buffered version of the TXUSERCLKOUT<n>.
This clock must be stable for the RXCTRLACK<n> and
RXRATE<n> ports to be active.
transmitter data bus width, TXRATE<n>, and
SAMPLERATE<n>. This clock is used to drive
TXUSERCLKIN<n> through a buffer.
UG371 (v2.0) February 16, 2010
Tab le 3 -4 defines the FPGA TX interface attributes.
Table 3-4: FPGA TX Interface Attributes
AttributeTypeDescription
FPGA TX Interface
BUFFER_CONFIG_LANE0
BUFFER_CONFIG_LANE1
BUFFER_CONFIG_LANE2
BUFFER_CONFIG_LANE3
16-bit HexThis attribute defaults to 16’h4004.
[15:4]: TX_BUFFER_CONFIG[11:0] read pointer adjustment for TX
buffer in the data converter.
• For auto adjustment mode, TX_BUFFER_CONFIG[11:0] =
12’h400.
• For manual adjustment mode, TX_BUFFER_CONFIG[11:0] settings
depend on TX_FABRIC_WIDTH and if the GTH transceivers
within a Quad are configured as a x4 link (GTHX4LANE = 1’b1):
• x4 (GTHX4LANE =
1’b1
): [TX_FABRIC_WIDTH] = [TX_BUFFER_CONFIG]
“16” or “20” (DRP value 3'b000): 12’h0A4
“32” (DRP value 3'b011): 12’h394
“40” (DRP value 3'b101): 12’h394
“64” (DRP value 3'b010): 12’h250
“80” (DRP value 3'b110): 12’h250
“6466” (DRP value 3'b111): 12’h0A4
x1 (GTHX4LANE = 1’b0): [
•
TX_FABRIC_WIDTH
“16” or “20” (DRP value 3'b000): 12’h23C
“32” (DRP value 3'b011): 12’h0E8
“40” (DRP value 3'b101): 12’h0E8
“64” (DRP value 3'b010): 12’h3A8
“80” (DRP value 3'b110): 12’h3A8
“6466” (DRP value 3'b111): 12’h23C
[4:0]: RX_BUFFER_CONFIG[3:0] read pointer adjustment for RX
buffer in the data converter.
• For auto adjustment mode, RX_BUFFER_CONFIG[3:0] = 0100.
• For manual adjustment mode, RX_BUFFER_CONFIG[3:0] settings
depend on the RX_FABRIC_WIDTH:
[RX_FABRIC_WIDTH] = [RX_BUFFER_CONFIG]
“16” or “20” (DRP value 3'b000): 4’b0001
“32” (DRP value 3'b011): 4’b0000
“40” (DRP value 3'b101): 4’b0000
“64” (DRP value 3'b010): 4’b0000
“80” (DRP value 3'b110): 4’b0000
“6466” (DRP value 3'b111): 4’b0001
] = [TX_BUFFER_CONFIG]
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com79
UG371 (v2.0) February 16, 2010
Chapter 3: Transmitter
Table 3-4: FPGA TX Interface Attributes (Cont’d)
AttributeTypeDescription
PCS_MODE_LANE0
PCS_MODE_LANE1
PCS_MODE_LANE2
PCS_MODE_LANE3
16-bit HexThis attribute sets the PCS mode.
[15]: Loopback serializer/deserializer RX to serializer/deserializer TX
0000: Zero
0001: 64B/66B
0111: 8B/10B
1010: 16-bit raw data
1011: 20-bit raw data
1100: PRBS
Others: Reserved
[3:0]: PCS TX mode
0000: Zero
0001: 64B/66B
0111: 8B/10B
1010: 16-bit raw data
1011: 20-bit raw data
1100: PRBS
Others: Reserved
80www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Table 3-4: FPGA TX Interface Attributes (Cont’d)
UG371_c3_02_082809
Internal TX
PCS Clock
TX_FABRIC_WIDTH
TXUSERCLKOUT
TXUSERCLKIN
TX Dataand Control
TX PCS
TX PCS
to Fabric
Design
in FPGA
Transmit
Clock
Divider
Transmit
Data
Converter
GTH Transceiver
BUFG
or BUFR
AttributeTypeDescription
FPGA TX Interface
TX_FABRIC_WIDTH0
TX_FABRIC_WIDTH1
TX_FABRIC_WIDTH2
TX_FABRIC_WIDTH3
Transmit Clocking
IntegerThis attribute sets the mapping of the internal data width (PCS) to the
external data width (fabric) for the transmitter. Valid settings are:
”16” (DRP value 3'b000): PCS to Fabric 1:1
”20” (DRP value 3'b000): PCS to Fabric 1:1
”32” (DRP value 3'b011): PCS to Fabric 1:2 32 bits
”40” (DRP value 3'b101): PCS to Fabric 1:2 40 bits
”64” (DRP value 3'b010): PCS to Fabric 1:4 64 bits
”80” (DRP value 3'b110): PCS to Fabric 1:4 80 bits
”6466” (DRP value 3'b111): 64B/66B mode
The GTH transceiver provides a parallel clock to the FPGA TX interface,
TXUSERCLKOUT. The user design must drive this clock to TXUSERCLKIN through either
a BUFG or a BUFR. TXUSERCLKIN is the main synchronization clock for all signals into
the TX side of the GTH transceiver.
Figure 3-2 is a block diagram of the FPGA TX interface clocking.
X-Ref Target - Figure 3-2
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com81
UG371 (v2.0) February 16, 2010
Figure 3-2: FPGA TX Interface Clocking
The user must consider these restrictions for the transmit clocking on the GTH transceiver:
•Within a GTH Quad, the four transmitters can share one BUFG/BUFR as long as the
line rate, fabric data width, and encoding are the same across the four transmitters.
•Between GTH Quads, a transmitter of one Quad can share one BUFG/BUFR with a
transmitter from another Quad as long as the line rate, fabric data width, and
encoding are the same across those transmitters.
•The transmitter cannot use the same clock as the receiver; that is, TXUSERCLKIN and
RXUSERCLKIN cannot be sourced from the same clock.
Chapter 3: Transmitter
Configuring the Transmitter for Multi-lane Applications
The GTHX4LANE port in GTH transceivers is used for multi-lane applications that require
minimum skew across channels. To configure four GTH lanes within a Quad into a single
x4 link, GTHX4LANE must be tied High. When configured in a single x4 link, a change in
the control settings on the master lane also causes the same effect on the slaves. An
exception to this is the POWERDOWN port. In this x4 link configuration, the buffers across
the four transmit data converter are synchronized for minimizing skew.
TX 8B/10B Block
Functional Description
Many protocols use 8B/10B encoding on outgoing data. 8B/10B is an industry-standard
encoding scheme that trades two bits of overhead per byte for improved performance. The
GTH transceiver includes an 8B/10B encoder to encode TX data without consuming FPGA
resources.
Ports and Attributes
Tab le 3 -5 defines the TX 8B/10B block ports.
Table 3-5: TX 8B/10B Block Ports
PortDirClock DomainDescription
TXCTRL0[7:0]
TXCTRL1[7:0]
TXCTRL2[7:0]
TXCTRL3[7:0]
TXDATA0[63:0]
TXDATA1[63:0]
TXDATA2[63:0]
TXDATA3[63:0]
.
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
These inputs indicate control of TXDATA<n> or they are used as
an extension of TXDATA<n> depending on the mode selected in
the transmitter datapath:
8B/10B: These inputs are asserted when TXDATA<n> is an
8B/10B K character.
TXCTRL<n>[7] corresponds to TXDATA<n>[63:56]
TXCTRL<n>[6] corresponds to TXDATA<n>[55:48]
TXCTRL<n>[5] corresponds to TXDATA<n>[47:40]
TXCTRL<n>[4] corresponds to TXDATA<n>[39:32]
TXCTRL<n>[3] corresponds to TXDATA<n>[31:24]
TXCTRL<n>[2] corresponds to TXDATA<n>[23:16]
TXCTRL<n>[1] corresponds to TXDATA<n>[15:8]
TXCTRL<n>[0] corresponds to TXDATA<n>[7:0]
64B/66B: These inputs are 64B/66B control bits.
Raw mode: These inputs are used as part of TXDATA<n>[71:64].
This input bus is the transmit data bus of the transmit interface
from the FPGA.
82www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Tab le 3 -6 defines the TX 8B/10B block attributes.
Table 3-6: TX 8B/10B Block Attributes
AttributeTypeDescription
TX 8B/10B Block
PCS_MODE_LANE0
PCS_MODE_LANE1
PCS_MODE_LANE2
PCS_MODE_LANE3
16-bit HexThis attribute sets the PCS mode.
[15]: Loopback serializer/deserializer RX to serializer/deserializer
TX.
IntegerThis attribute sets the mapping of the internal data width (PCS) to
the external data width (fabric) for the transmitter. Valid settings
are:
”16” (DRP value 3'b000): PCS to Fabric 1:1
”20” (DRP value 3'b000): PCS to Fabric 1:1
”32” (DRP value 3'b011): PCS to Fabric 1:2 32 bits
”40” (DRP value 3'b101): PCS to Fabric 1:2 40 bits
”64” (DRP value 3'b010): PCS to Fabric 1:4 64 bits
”80” (DRP value 3'b110): PCS to Fabric 1:4 80 bits
”6466” (DRP value 3'b111): 64B/66B mode
84www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Enabling 8B/10B Mode
Follow these steps to enable the 8B/10B mode in the GTH transmitter:
1.Set PCS_MODE_LANE<n>[3:0] to 4'b0111.
2.Set PCS_RESET_LANE<n> to 0xFC5B.
•Set PCS_RESET_1_LANE<n>[1:0] to 2'b00.
•Set TX_FABRIC_WIDTH<n> to either “16”, “32”, or “64” depending on the
application.
The 8B/10B table includes special characters (K characters) that are often used for control
functions. To transmit TXDATA as a K character instead of regular data, the TXCTRL port
must be driven High.
TX 8B/10B Block
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com85
UG371 (v2.0) February 16, 2010
Chapter 3: Transmitter
TX 64B/66B Block
Functional Description
Some high-speed data rate protocols use 64B/66B encoding to reduce the overhead of
8B/10B encoding while retaining the benefits of an encoding scheme. The GTH transceiver
implements the 64B/66B block based on the IEEE 802.3-2008 Clause 49, “Physical Sublayer
(PCS) for 64B/66B, type 10GBASE-R.” The transmit 64B/66B block includes the scrambler
and the gearbox.
Ports and Attributes
Tab le 3 -7 defines the TX 64B/66B block ports.
Table 3-7: TX 64B/66B Block Ports
PortDirClock DomainDescription
TXCTRL0[7:0]
TXCTRL1[7:0]
TXCTRL2[7:0]
TXCTRL3[7:0]
TXDATA0[63:0]
TXDATA1[63:0]
TXDATA2[63:0]
TXDATA3[63:0]
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
These inputs indicate control of TXDATA<n> or they are used as
an extension of TXDATA<n> depending on the mode selected in
the transmitter datapath:
8B/10B: These inputs are asserted when TXDATA<n> is an
8B/10B K character.
TXCTRL<n>[7] corresponds to TXDATA<n>[63:56]
TXCTRL<n>[6] corresponds to TXDATA<n>[55:48]
TXCTRL<n>[5] corresponds to TXDATA<n>[47:40]
TXCTRL<n>[4] corresponds to TXDATA<n>[39:32]
TXCTRL<n>[3] corresponds to TXDATA<n>[31:24]
TXCTRL<n>[2] corresponds to TXDATA<n>[23:16]
TXCTRL<n>[1] corresponds to TXDATA<n>[15:8]
TXCTRL<n>[0] corresponds to TXDATA<n>[7:0]
64B/66B: These inputs are 64B/66B control bits.
Raw mode: These inputs are used as part of TXDATA<n>[71:64].
This input bus is the transmit data bus of the transmit interface
from the FPGA.
86www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Tab le 3 -8 defines the TX 64B/66B block attributes.
Table 3-8: TX 64B/66B Block Attributes
AttributeTypeDescription
TX 64B/66B Block
PCS_MODE_LANE0
PCS_MODE_LANE1
PCS_MODE_LANE2
PCS_MODE_LANE3
16-bit HexThis attribute sets the PCS mode.
[15]: Loopback serializer/deserializer RX to
serializer/deserializer TX.
IntegerThis attribute sets the mapping of the internal data width (PCS) to
the external data width (fabric) for the transmitter. Valid settings
are:
”16” (DRP value 3'b000): PCS to Fabric 1:1
”20” (DRP value 3'b000): PCS to Fabric 1:1
”32” (DRP value 3'b011): PCS to Fabric 1:2 32 bits
”40” (DRP value 3'b101): PCS to Fabric 1:2 40 bits
”64” (DRP value 3'b010): PCS to Fabric 1:4 64 bits
”80” (DRP value 3'b110): PCS to Fabric 1:4 80 bits
”6466” (DRP value 3'b111): 64B/66B mode
The default for these attributes is
88www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
“6466.”
UG371 (v2.0) February 16, 2010
Enabling 64B/66B Mode
TX Raw Mode
Functional Description
Ports and Attributes
TX Raw Mode
Follow these steps to enable the 64B/66B mode in the GTH transmitter:
1.Set PCS_MODE_LANE<n>[3:0] to 4'b0001.
2.Set PCS_RESET_LANE<n> to 0xF3FE.
3.Set PCS_RESET_1_LANE<n>[1:0] to 2'b10.
4.Set TX_FABRIC_WIDTH<n> to “6466.”
The GTH transceiver provides another datapath mode for non-encoded applications or
when the user wants to bypass the 8B/10B and 64B/66B blocks.
Tab le 3 -9 defines the TX raw mode ports.
Table 3-9: TX Raw Mode Ports
PortDirClock DomainDescription
TXCTRL0[7:0]
TXCTRL1[7:0]
TXCTRL2[7:0]
TXCTRL3[7:0]
TXDATA0[63:0]
TXDATA1[63:0]
TXDATA2[63:0]
TXDATA3[63:0]
InTXUSERCLKIN0
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
These inputs indicate control of TXDATA<n> or they are used as
an extension of TXDATA<n> depending on the mode selected in
the transmitter datapath:
8B/10B: These inputs are asserted when TXDATA<n> is an
8B/10B K character.
TXCTRL<n>[7] corresponds to TXDATA<n>[63:56]
TXCTRL<n>[6] corresponds to TXDATA<n>[55:48]
TXCTRL<n>[5] corresponds to TXDATA<n>[47:40]
TXCTRL<n>[4] corresponds to TXDATA<n>[39:32]
TXCTRL<n>[3] corresponds to TXDATA<n>[31:24]
TXCTRL<n>[2] corresponds to TXDATA<n>[23:16]
TXCTRL<n>[1] corresponds to TXDATA<n>[15:8]
TXCTRL<n>[0] corresponds to TXDATA<n>[7:0]
64B/66B: These inputs are 64B/66B control bits.
Raw mode: These inputs are used as part of TXDATA<n>[71:64].
This input bus is the transmit data bus of the transmit interface
from the FPGA.
TXDATAMSB0[7:0]
TXDATAMSB1[7:0]
TXDATAMSB2[7:0]
TXDATAMSB3[7:0]
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com89
UG371 (v2.0) February 16, 2010
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
This bus extends the transmit data bus as TXDATA<n>[79:72].
Chapter 3: Transmitter
Tab le 3 -1 0 defines the TX raw mode attributes.
Table 3-10: TX Raw Mode Attributes
AttributeTypeDescription
PCS_MODE_LANE0
PCS_MODE_LANE1
PCS_MODE_LANE2
PCS_MODE_LANE3
16-bit HexThis attribute sets the PCS mode.
[15]: Loopback serializer/deserializer RX to serializer/deserializer TX
This attribute sets the mapping of the internal data width (PCS) to the
external data width (fabric) for the transmitter. Valid settings are:
“16” (DRP value 3'b000): PCS to Fabric 1:1
“6466.”
“20” (DRP value 3'b000): PCS to Fabric 1:1
“32” (DRP value 3'b011): PCS to Fabric 1:2 32 bits
“40” (DRP value 3'b101): PCS to Fabric 1:2 40 bits
“64” (DRP value 3'b010): PCS to Fabric 1:4 64 bits
“80” (DRP value 3'b110): PCS to Fabric 1:4 80 bits
“6466” (DRP value 3'b111): 64B/66B mode
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com91
UG371 (v2.0) February 16, 2010
Chapter 3: Transmitter
Enabling Raw Mode
Follow these steps to enable the Raw mode in the GTH transmitter:
1.If the transmit fabric data width is configured to 16 bits, 32 bits, or 64 bits
a.Set PCS_MODE_LANE<n>[3:0] to 4'b1010.
b. Set PCS_RESET_LANE<n> to 0xFF3B.
c.Set PCS_RESET_1_LANE<n>[1:0] to 2'b00.
d. Set TX_FABRIC_WIDTH<n> to “16”, “32”, or “64.”
2.If the transmit fabric data width is configured to 20 bits, 40 bits, or 80 bits
a.Set PCS_MODE_LANE<n>[3:0] to 4'b1011.
b. Set PCS_RESET_LANE<n> to 0xFF3B.
c.Set PCS_RESET_1_LANE<n>[1:0] to 2'b00.
d. Set TX_FABRIC_WIDTH<n> to “20”, “40”, or “80.”
92www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
TX Pattern Generator
Functional Description
The GTH transceiver pattern generator block can generate the industry-standard PRBS
patterns listed in Ta bl e 3- 11 .
Table 3-11: PRBS Pattern
TX Pattern Generator
NamePolynomial
PRBS7 1 + X
PRBS91 + X
PRBS111 + X
PRBS231 + X
PRBS311 + X
Ports and Attributes
There are no ports in the TX pattern generator.
Tab le 3 -1 2 defines the TX pattern generator attributes.
Table 3-12: TX Pattern Generator Attributes
AttributeTypeDescription
PRBS_CFG_LANE0
PRBS_CFG_LANE1
PRBS_CFG_LANE2
PRBS_CFG_LANE3
16-bit Hex[15:4]: Reserved. Use the recommended values from the Virtex-6 FPGA
Length of
Sequence
6
7
9
18
28
+ X
5
+ X
+ X
+ X
+ X
27 – 1 bitsCharacteristics are similar to 8B/10B data.
9
29 – 1 bitsUsed by 10GBASE-LRM.
11
211 – 1 bitsUsed by 10BASE-KR link training.
23
223 – 1 bitsPRBS23 is often used for non-8B/10B
31
231 – 1 bitsCharacteristics are similar to 64B/66B data.
GTH Transceiver Wizard.
[3:2]: PRBS generate width
2'b11: 20b
2'b10: 16b
Others: Reserved
[1:0]: PRBS checker width
2'b11: 20b
2'b10: 16b
Others: Reserved
Description
encoding schemes. This is one of the
recommended test patterns in the SONET
specification.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com93
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com95
UG371 (v2.0) February 16, 2010
Chapter 3: Transmitter
TX Polarity Control
Functional Description
The GTH transceiver includes a TX polarity control function to invert outgoing data from
the PCS before serialization and transmission.
Ports and Attributes
There are no TX polarity control ports.
Tab le 3 -1 3 defines the TX polarity control attributes.
Table 3-13: TX Polarity Control Attributes
AttributeTypeDescription
PCS_MISC_CFG_0_LANE0
PCS_MISC_CFG_0_LANE1
PCS_MISC_CFG_0_LANE2
PCS_MISC_CFG_0_LANE3
Using TX Polarity Control
If the TXP/TXN differential traces are swapped on a board, use either the DRP or the
management interface to set PCS_MISC_CFG_0_LANE<n>[11] register to 1'b1. The
register is located in:
•DRP Address
•Management Interface Address: 0x8001 with MMD Address 0x03
16-bit HexThis attribute sets the polarity and PRBS configuration.
[15:12]: Reserved. Use the recommended values from the
Virtex-6 FPGA GTH Transceiver Wizard.
[11]: Invert TX polarity
[10]: RX polarity override enable
[9]: RX polarity override value
[8]: Reset the PRBS error counter when read
[7]: Revert bit order of parallel data to serializer/deserializer TX
[6]: Revert bit order of parallel data from serializer/deserializer RX
[5:0]: Reserved. Use the recommended values from the
Virtex-6 FPGA GTH Transceiver Wizard.
•PCS_MISC_CFG_0_LANE0: 0x5001
•PCS_MISC_CFG_0_LANE1: 0x5101
•PCS_MISC_CFG_0_LANE2: 0x5201
•PCS_MISC_CFG_0_LANE3: 0x5301
•Use the Lane Address setting to specify which GTH lane to access
96www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
TX Configurable Driver
UG371_c3_03_120809
Pre-Emphasis
Pad Driver
Pre-Emphasis
Pad Driver
tx_precursor[3:0]
MGTHAVTT_[L,R]
MGTTXP
MGTTXN
tx_swing[3:0]
tx_postcursor[3:0]
TX Serial Clock =
Data Rate / 2
Pre-Driver
Main Pad Driver
Pre-Driver
PISO
Pre-Driver
50Ω
Nominal
50Ω
Nominal
Functional Description
The GTH TX driver is a high-speed, current-mode differential output buffer. To maximize
signal integrity, the TX driver includes these features:
•Differential voltage swing control
•Pre-cursor and post-cursor transmit emphasis
•Calibrated termination resistors
Figure 3-3 is a detailed diagram of the TX driver.
X-Ref Target - Figure 3-3
TX Configurable Driver
Figure 3-3: TX Driver Structure
The transmitter’s output level can vary depending on the state of the system. Here are
some common scenarios:
•Power-up, before configuration
Differential zero: TXP is held Low; TXN is held High.
•During configuration
Differential zero: TXP is held Low; TXN is held High.
•Reset
Differential zero: TXP is held Low; TXN is held High.
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com97
UG371 (v2.0) February 16, 2010
Chapter 3: Transmitter
Ports and Attributes
•Power down
Floating: TXP and TXN should float High to VTTX (assuming AC-coupled mode)
•Near-end PCS loopback and Near-end PMA loopback
TXP and TXN are transmitting live data
Tab le 3 -1 4 defines the TX configurable driver ports.
Table 3-14: TX Configurable Driver Ports
PortDirClock DomainDescription
TXDEEMPH0
TXDEEMPH1
TXDEEMPH2
TXDEEMPH3
TXMARGIN0[2:0]
TXMARGIN1[2:0]
TXMARGIN2[2:0]
TXMARGIN3[2:0]
TXN0
TXN1
TXN2
TXN3
TXP0
TXP1
TXP2
TXP3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
InTXUSERCLKIN0
TXUSERCLKIN1
TXUSERCLKIN2
TXUSERCLKIN3
Out
(Pad)
TX Serial ClockTXP and TXN are the differential
Reserved. Tie this input to 0.
Reserved. Tie these inputs to 000.
output pairs for each of the
transmitters in the GTHE1_QUAD
primitive. These ports represent pads.
The location of these ports must be
constrained and brought to the top
level of the design.
98www.xilinx.comVir tex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Tab le 3 -1 5 defines the TX configurable driver attributes.
tx_swing
(Binary)
TX_CFG0_LANE
(Hex)
Voltage Swing
(mV
PPD
)
00000x0005450
00010x000D500
00100x0015550
00110x001D600
01000x0025650
01010x002D700
01100x0035750
01110x003D800
10000x0045850
10010x004D900
10100x0055950
10110x005D1000
11000x00651050
11010x006D1100
11100x00751150
11110x007D1200
Table 3-15: TX Configurable Driver Attributes
AttributeTypeDescription
TX Configurable Driver
TX_CFG0_LANE0
TX_CFG0_LANE1
TX_CFG0_LANE2
TX_CFG0_LANE3
16-bit BinaryThis attribute controls the differential voltage
swing.
[15:14]: Reserved: 2’h0
[13]: Active-High TX lane power down
(tx_chpd)
[12:7]: Reserved: 6’h00
[6:3]: TX output swing control and main
tap/cursor control (tx_swing)
[2:0]: TX current bias fine swing control
(tx_ibias)
tx_bias = 0x7
(1)
Virtex-6 FPGA GTH Transceivers User Guidewww.xilinx.com99
16-bit BinaryThis attribute enables the differential voltage
swing and the pre-cursor and post-cursor
transmit emphasis.
[15:10]: Reserved. Tie these inputs to
6'b000011.
[9]: This bit gives control to tx_swing in the
TX_CFG0_LANE<n> registers for voltage
swing control (tx_swing_ovrrd_en). Set this bit
to 1'b1.
[8]: This bit gives control to tx_postcursor and
tx_precursor in the TX_PREEMPH_LANE<n>
attribute for transmit post-cursor and
pre-cursor emphasis (tx_premptap_ovrrd_en).
Set this bit to 1'b1.
[7:0]: Reserved. Tie these inputs to 8'h00.
16-bit BinaryThis attribute controls the pre-cursor and
post-cursor transmit emphasis. For pre-emphasis
and post-emphasis settings, see Setting the TX
Driver.
[15:8]: Reserved. Tie these inputs to 8'hA0.
[7:4]: Pre-emphasis settings for the first
post-cursor (tx_postcursor).
[3:0]: Pre-emphasis settings for the pre-cursor
or the second post-cursor (tx_precursor).
Notes:
1. The hexadecimal values for TX_CFG0_LANE<n> assume that the defaults for the other bits in the
register are used and that the channel is powered up and not in reset.
Setting the TX Driver
The TX amplitude and swing controls are set via attributes using the DRP or the
Management interface.
Amplitude (Swing)
The override bit has to be set as specified:
•TX_CFG1_LANE<n>[9] = tx_swing_ovrrd_en = 1'b1
•TX_CFG0_LANE<n>[6:3] = tx_swing (see Ta bl e 3- 15 for voltage swing control
settings)
•TX_CFG0_LANE<n>[2:0] = tx_ibias (see Ta bl e 3 -1 5 for voltage swing control settings)
Post-Cursor Emphasis
The override bit has to be set as specified:
•TX_CFG1_LANE<n>[8] = tx_premptap_ovrrd_en = 1'b1
•TX_PREEMPH_LANE<n>[7:4] = tx_postcursor
100www.xilinx.comVirtex-6 FPGA GTH Transceivers User Guide
UG371 (v2.0) February 16, 2010
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.