Ug769 Gtwizard
Ug769 Gtwizard
7 Series FPGAs
Transceivers Wizard v1.6
User Guide
Revision History
The following table shows the revision history for this document.
7 Series FPGAs Transceivers Wizard User Guide www.xilinx.com UG769 (v4.0) January 18, 2012
Date Version Revision
Wizard 1.5 release.
Chapter 1: Updated About the Wizard.
Chapter 2: Added ISim 13.3 to Simulation.
Chapter 3: In Table 3-5, renumbered Q4 through Q9 as Q3 through Q8. Updated
Figure 3-8. Updated row shading and descriptions in Table 3-6 and Table 3-7. In
Table 3-18, updated row shading, removed RXCDRRESET, and added RXQPISENN,
RXQPISENP, and RXQPIEN. Updated row shading in Table 3-21. Removed shading
10/19/11 3.0 from RX rows in Table 3-9.
Chapter 4: Added Timing Simulation of the Example Design, including Table 4-2.
Chapter 5: Added <component_name>_top.xdc and
<component_name>_top_synplify.sdc to Table 5-4. Added
implement_synplify.bat, implement_synplify.sh, and synplify.prj to
Table 5-5. Added demo_tb_imp.v[hd] and sim_reset_mgt_model.vhd to
Table 5-7. Added simulate_isim.sh, simulate_isim.bat, wave_isim.tcl, and
simulate_ncsim.bat to Table 5-8. Added simulation/timing, including Table 5-9.
Wizard 1.6 release.
Chapter 1: Added protocols supported by GTH transceivers to Features.
01/18/12 4.0 Chapter 3: Added step 3 to Line Rate, Transceiver Selection, and Clocking. Updated
Figure 3-7 and Figure 3-8. Updated row shading in Table 3-6 and Table 3-7. Added
Figure 3-9 and Table 3-13. Updated title and shading in Table 3-20.
UG769 (v4.0) January 18, 2012 www.xilinx.com 7 Series FPGAs Transceivers Wizard User Guide
7 Series FPGAs Transceivers Wizard User Guide www.xilinx.com UG769 (v4.0) January 18, 2012
Table of Contents
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Chapter 1: Introduction
About the Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Supported Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Provided with the Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Recommended Design Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Related Xilinx Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Technical Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Feedback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Guide Contents
This guide contains the following chapters:
• Chapter 1, Introduction describes the Wizard and related information, including
additional resources, technical support, and submitting feedback to Xilinx.
• Chapter 2, Installing the Wizard provides information about installing the Wizard.
• Chapter 3, Running the Wizard provides an overview of the Wizard and a
step-by-step tutorial to generate a sample transceiver wrapper with the
CORE Generator™ tool.
• Chapter 4, Quick Start Example Design introduces the example design that is
included with the transceiver wrappers. The example design demonstrates how to
use the wrappers and demonstrates some of the key features of the transceiver.
• Chapter 5, Detailed Example Design provides detailed information about the example
design, including a description of files and the directory structure generated by the
CORE Generator tool, the purpose and contents of the provided scripts, the contents
of the example HDL wrappers, and the operation of the demonstration testbench.
Additional Resources
To find additional documentation, see:
http://www.xilinx.com/support/documentation/index.htm
To search the Answer Database of silicon, software, and IP questions and answers, or to
create a technical support WebCase, see:
http://www.xilinx.com/support/mysupport.htm
Introduction
This chapter describes the 7 Series FPGAs Transceivers Wizard and provides related
information, including additional resources, technical support, and instruction for
submitting feedback to Xilinx.
Customization Wrapper
Application Transceiver
Ports Ports
GT
(Gigabit
Config Transceiver)
Parameters
UG769_c1_01_032311
The Wizard can be accessed from the ISE® software CORE Generator tool. For information
about system requirements and installation, see Chapter 2, Installing the Wizard.
For the latest information on this wizard, refer to the Architecture Wizards product
information page:
http://www.xilinx.com/products/design_resources/conn_central/solution_kits/wizards
Features
The Wizard has these features:
• Creates customized HDL wrappers to configure transceivers in the Kintex-7 and
Virtex-7 FPGAs:
• Predefined templates automate transceiver configuration for industry standard
protocols. GTX transceivers support:
- Common Packet Radio Interface (CPRI™)
- DisplayPort
- Gigabit Ethernet
- Open Base Station Architecture Initiative (OBSAI)
- Serial RapidIO
- 10 Gb Attachment Unit Interface (XAUI)
- Aurora 8B/10B
- Aurora 64B/66B
- CEI-6G
- Interlaken
- OC192
- OC48
- 10GBASE-R
- RXAUI
- XLAUI
- PCI Express® Gen1 and Gen2
GTH transceivers support:
- CEI-6 and Interlaken at 6.5 Gb/s
- 10GBASE-KR at 10.3125 Gb/s
- CEI-11 at 11.1 Gb/s
- CAUI at 10.3125 Gb/s
- OTU4 at 11.18 Gb/s
• Custom protocols can be specified using the Start from Scratch option in the
GUI.
• Automatically configures transceiver analog settings
• Supports 64B/66B, 64B/67B, and 8B/10B encoding/decoding
• Includes an example design with a companion testbench as well as implementation
and simulation scripts
Supported Devices
The Wizard supports the Kintex-7 and Virtex-7 FPGAs. For a complete listing of supported
devices, see XTP025, IP Release Notes Guide for this Wizard. For more information on the
7 series FPGAs, see DS180, 7 Series FPGAs Overview.
Technical Support
For technical support, go to www.xilinx.com/support. Questions are routed to a team of
engineers with expertise using this Wizard.
Xilinx provides technical support for use of this product as described in this guide. Xilinx
cannot guarantee timing, functionality, or support of this product for designs that do not
follow these guidelines.
Ordering Information
The Wizard is provided free of charge under the terms of the Xilinx End User License
Agreement. The Wizard can be generated by the ISE software CORE Generator tool 13.4 or
higher, which is a standard component of the ISE Design Suite. For more information,
please visit the Architecture Wizards web page. Information about additional LogiCORE
modules is available at the IP Center. For pricing and availability of other LogiCORE
modules and software, contact a local Xilinx sales representative.
Feedback
Xilinx welcomes comments and suggestions about the Wizard and the accompanying
documentation.
Wizard
For comments or suggestions about the Wizard, submit a WebCase from
www.xilinx.com/support. (Registration is required to log in to WebCase.) Be sure to
include the following information:
• Product name
• Wizard version number
• List of parameter settings
• Explanation of any comments, including whether the case is requesting an
enhancement (improvement) or reporting a defect (something is not working correctly)
Document
For comments or suggestions about this document, submit a WebCase from
www.xilinx.com/support. (Registration is required to log in to WebCase.) Be sure to
include the following information:
• Document title
• Document number
• Page number(s) to direct applicable comments
• Explanation of any comments, including whether the case is requesting an
enhancement (improvement) or reporting a defect (something is not working correctly)
Operating Systems
For a list of system requirements, see the ISE Design Suite 13: Release Notes Guide.
Design Tools
Design Entry
• ISE Design Suite CORE Generator software 13.4
Simulation
• ISim 13.4
• Mentor Graphics ModelSim 6.6d
• Cadence Incisive Enterprise Simulator (IES) 10.2
• Synopsys Verilog Compiler Simulator (VCS) and VCS MX 2010.06
See XTP025, IP Release Notes Guide for the Wizard for the required service pack. ISE
software service packs can be downloaded from
http://www.xilinx.com/support/download.htm.
Synthesis
• XST 13.4
• Synopsys Synplify Pro E-2011.03-SP2
UG769_c2_01_032311
3. Click to expand or collapse the view of individual functional categories, or click the
View by Name tab at the top of the list to see an alphabetical list of all cores in all
categories.
4. Determine if the installation was successful by verifying that 7 Series FPGAs Transceiver
Wizard 1.4 appears at the following location in the Functional Categories list:
/FPGA Features and Design/IO Interfaces
Functional Overview
Figure 3-1, page 16 shows the steps required to configure transceivers using the Wizard.
Start the CORE Generator software, select the 7 Series FPGAs Transceivers Wizard, then
follow the chart to configure the transceivers and generate a wrapper that includes the
accompanying example design.
• To use an existing template with no changes, click Generate.
• To modify a standard template or start from scratch, proceed through the Wizard and
adjust the settings as needed.
See Configuring and Generating the Wrapper, page 21 for details on the various
transceiver features and parameters available.
Select
Protocol
Determine Tile
Placement
Select Reference
Clock Source
Standard Custom
Adjust Parameters
As Needed
Click
Generate
UG769_c3_01_121610
Testbench
Example Design
Wrapper
Tx Data File FRAME_GEN
GT_USRCLK_SOURCE
MODULE
Configuration Parameters
UG769_c3_02_010911
Figure 3-2: Structure of the Transceiver Wrapper, Example Design, and Testbench
The following files are generated by the Wizard to illustrate the components needed to
simulate the configured transceiver:
• Transceiver wrapper, which includes:
• Specific gigabit transceiver configuration parameters set using the Wizard.
• Transceiver primitive selected using the Wizard.
• Example design demonstrating the modules required to simulate the wrapper. These
include:
• FRAME_GEN module: Generates a user-definable data stream for simulation
analysis.
• FRAME_CHECK module: Tests for correct transmission of data stream for
simulation analysis.
• Testbench:
• Top-level testbench demonstrating how to stimulate the design.
Example Design
XAUI Wrapper
Transceiver
Ports
Testbench Transceiver(s)
XAUI Config
Parameters
UG769_c3_03_121610
Creating a Directory
To set up the example project, first create a directory using the following steps:
1. Change directory to the desired location. This example uses the following location and
directory name:
/Projects/xaui_example
2. Start the CORE Generator software.
For help starting and using the CORE Generator software, see CORE Generator Help,
available in the ISE® software documentation.
3. Choose File > New Project (Figure 3-4).
4. Change the name of the CGP file (optional).
5. Click Save.
X-Ref Target - Figure 3-4
UG769_c3_04_122010
UG769_c3_05_122010
UG769_c3_06_010911
UG769_c3_07_111511
4. Use Tables 3-1 through 3-5 to determine the line rate, reference clock, and optional
ports settings available on this page.
UG769_c3_08_111511
The TX PCS/PMA Phase Alignment setting controls whether the TX buffer is enabled or
bypassed. See UG476, 7 Series FPGAs GTX Transceivers User Guide for details on this
setting. The RX PCS/PMA alignment setting controls whether the RX phase alignment
circuit is enabled.
Table 3-9 shows the optional ports for 8B/10B.
Table 3-9: 8B/10B Optional Ports
Option Description
2-bit wide port disables 8B/10B encoder on a per-byte basis. High-order bit affects
TXBYPASS8B10B
high-order byte of datapath.
TX
TXCHARDISPMODE 2-bit wide ports control disparity of outgoing 8B/10B data. High-order bit affects
TXCHARDISPVAL high-order byte of datapath.
2-bit wide port flags valid 8B/10B comma characters as they are encountered.
RXCHARISCOMMA
High-order bit corresponds to high-order byte of datapath.
RX
2-bit wide port flags valid 8B/10B K characters as they are encountered. High-order
RXCHARISK
bit corresponds to high-order byte of datapath.
Note: Options not used by the XAUI example are shaded.
Table 3-10 details the TXUSRCLK and RXUSRCLK source signal options.
Table 3-10: TXUSRCLK and RXUSRCLK Source
Option Description
TX TXOUTCLK TXUSRCLK is driven by TXOUTCLK.
RXUSRCLK is driven by TXOUTCLK. This option is not available if the RX buffer is bypassed.
RX TXOUTCLK
For RX buffer bypass mode, RXOUTCLK is used to source RXUSRCLK.
Table 3-11 details the TXOUTCLK and RXOUTCLK source signal options.
Table 3-11: TXOUTCLK and RXOUTCLK Source
Option Description
Use If the check box Use TXPLLREFCLK is checked, TXOUTCLK(1) is generated from the input
TX
TXPLLREFCLK reference clock; otherwise, the Wizard selects the appropriate source for TXOUTCLK.
Use If the check box Use RXPLLREFCLK is checked, RXOUTCLK(1) is generated from the input
RX
RXPLLREFCLK reference clock; otherwise, the Wizard selects the appropriate source for RXOUTCLK.
1. See UG476, 7 Series FPGAs GTX Transceivers User Guide for more information on TXOUTCLK and RXOUTCLK control.
Table 3-12 shows the optional ports available for latency and clocking.
Table 3-12: Optional Ports
Option Description
TXPCSRESET Active-High reset signal for the transmitter PCS logic.
2-bit signal monitors the status of the TX elastic buffer. This option is not available when the TX
TXBUFSTATUS
buffer is bypassed.
TXRATE Transmit rate change port.
RXPCSRESET Active-High reset signal for the receiver PCS logic.
RXBUFSTATUS Indicates condition of the RX elastic buffer. Option is not available when the RX buffer is bypassed.
Active-High reset signal for the RX elastic buffer logic. This option is not available when the RX
RXBUFRESET
buffer is bypassed.
RXRATE Receive rate change port.
Note: Options not used by the XAUI example are shaded.
If the PCI Express® protocol is selected, page 2 of the Wizard appears as shown in
Figure 3-9.
X-Ref Target - Figure 3-9
UG769_c3_13_111511
Table 3-13 shows the options for customization of the PCI Express wrapper.
UG769_c3_09_090711
PCI Express, SATA, OOB, PRBS, Channel Bonding, and Clock Correction
Selection
Page 4 of the Wizard (Figure 3-11) allows you to configure the receiver for PCI Express and
Serial ATA (SATA) features. In addition, configuration options for the RX out-of-band
signal (OOB), PRBS detector, and channel bonding and clock correction settings are
provided.
X-Ref Target - Figure 3-11
UG769_c3_10_060211
Figure 3-11: PCI Express, SATA, OOB, PRBS, Channel Bonding, and Clock
Correction Selection—Page 4
UG769_c3_11_010911
Summary
Page 6 of the Wizard (Figure 3-13) provides a summary of the selected configuration
parameters. After reviewing the settings, click Generate to exit and generate the wrapper.
X-Ref Target - Figure 3-13
UG769_c3_12_010911
Using ModelSim
Prior to simulating the wrapper with ModelSim, the functional (gate-level) simulation
models must be generated. All source files in the following directories must be compiled to
a single library as shown in Table 4-1. See the Synthesis and Simulation Design Guide for
ISE® software 13.4 available in the ISE software documentation for instructions on how to
compile ISE simulation libraries.
The Wizard provides a command line script for use within ModelSim. To run a VHDL or
Verilog ModelSim simulation of the wrapper, use the following instructions:
1. Launch the ModelSim simulator and set the current directory to:
<project_directory>/<component_name>/simulation/functional
Using ModelSim
Prior to performing the timing simulation with ModelSim, the generated design should
pass through implementation. All source files in the following directories must be
compiled to a single library, as shown in Table 4-2. See the Synthesis and Simulation Design
Guide for ISE 13.4 available in the ISE software documentation for instructions on how to
compile ISE simulation libraries.
The Wizard provides a command line script for use within ModelSim. To run a VHDL or
Verilog ModelSim simulation of the wrapper, use the following instructions:
1. Launch the ModelSim simulator and set the current directory to:
<project_directory>/<component_name>/simulation/timing
2. Set the MTI_LIBS variable:
modelsim> setenv MTI_LIBS <path to compiled libraries>
3. Launch the simulation script:
modelsim> do simulate_mti.do
The ModelSim script compiles and simulates the routed netlist of the example design and
testbench.
<project directory>
The <project directory> contains all the CORE Generator tool’s project files.
Table 5-1: Project Directory
Name Description
<component_name>.v[hd] Main transceiver wrapper. Instantiates
individual transceiver wrappers. For use in the
target design.
<component_name>.[veo | vho] Transceiver wrapper files instantiation templates.
Includes templates for the transceiver wrapper
module and the IBUFDS module.
<component_name>.xco Log file from the CORE Generator tool describing
which options were used to generate the
transceiver wrapper. An XCO file is generated by
the CORE Generator tool for each Wizard
wrapper that it creates in the current project
directory. An XCO file can also be used as an
input to the CORE Generator tool.
<component_name>_gt.v[hd] Individual transceiver wrapper to be instantiated
in the main transceiver wrapper. Instantiates the
selected transceivers with settings for the selected
protocol.
Back to Top
<component name>/doc
The doc directory contains the PDF documentation provided with the Wizard.
<component name>/implement
The implement directory contains the implementation script files provided with the
Wizard wrapper.
Table 5-5: Implement Directory
Name Description
<project_dir>/<component_name>/implement
chipscope_project.cpj ChipScope Pro project file.
data_vio.ngc Netlist of the design generated by ChipScope Pro Virtual Input/Output (VIO)
Wizard.
icon.ngc Netlist of the design generated by ChipScope Pro Integrated Controller (ICON)
Wizard.
ila.ngc Netlist of the design generated by ChipScope Pro Integrated Logic Analyzer (ILA)
Wizard.
implement.bat Windows batch file that processes the example design through the tool flow.
implement.sh Linux shell script that processes the example design through the tool flow.
xst.prj XST project file for the example design; it lists all of the source files to be synthesized.
xst.scr XST script file for the example design that is used to synthesize the Wizard, called
from the implement script described above.
planAhead_ise.bat Windows batch file that processes the example design through
PlanAhead™ software-based ISE® design tools flow.
planAhead_ise.sh A Linux shell script that processes the example design through
PlanAhead software-based ISE design tools flow.
planAhead_ise.tcl A TCL file that contains tool settings and file list for ISE design tools flow.
implement_synplify.bat A Windows batch file that processes the example design through Synplify synthesis
and the tool flow.
implement_synplify.sh A Linux shell script that processes the example design through Synplify synthesis
and the tool flow.
synplify.prj Synplify project file for the example design.
Back to Top
implement/results
The results directory is created by the implement script, after which the implement script
results are placed in the results directory.
<component name>/simulation
The simulation directory contains the simulation scripts provided with the Wizard
wrapper.
Table 5-7: Simulation Directory
Name Description
<project_dir>/<component_name>/simulation
demo_tb.v[hd] Testbench to perform functional simulation of the
provided example design. See Functional Simulation of
the Example Design, page 41.
demo_tb_imp.v[hd] Testbench to perform timing simulation of the provided
example design. See Timing Simulation of the Example
Design, page 42.
sim_reset_mgt_model.vhd Reset module for VHDL required for emulating the GSR
pulse at the beginning of functional simulation. This is
required to correctly reset the VHDL MGT smart model.
Back to Top
simulation/functional
The functional directory contains functional simulation scripts provided with the Wizard
wrapper.
Table 5-8: Functional Directory
Name Description
<project_dir>/<component_name>/simulation/functional
simulate_mti.do ModelSim simulation script.
simulation/timing
The timing directory contains timing simulation scripts provided with the Wizard
wrapper.
Testbench
Example Design
FRAME_GEN Wrapper
Transceiver
FRAME_CHECK Ports
Transceiver
Configuration
GT_USRCLK_SOURCE
Parameters
Module
UG769_c5_01_010611
The example design connects a frame generator and a frame checker to the wrapper. The
frame generator transmits an incrementing counting pattern while the frame checker
monitors the received data for correctness. The frame generator counting pattern is stored
in the block RAM. This pattern can be easily modified by altering the parameters in the
gt_rom_init_tx.dat and gt_rom_init_rx.dat files. The frame checker contains
the same pattern in the block RAM and compares it with the received data. An error
counter in the frame checker keeps a track of how many errors have occurred.
If comma alignment is enabled, the comma character will be placed within the counting
pattern. Similarly, if channel bonding is enabled, the channel bonding sequence would be
interspersed within the counting pattern. The frame check works by first scanning the
received data for the START_OF_PACKET_CHAR. In 8B/10B designs, this is the comma
alignment character. After the START_OF_PACKET_CHAR has been found, the received
data will continuously be compared to the counting pattern stored in the block RAM at
each RXUSRCLK2 cycle. After comparison has begun, if the received data ever fails to
match the data in the block RAM, checking of receive data will immediately stop, an error
counter will be incremented and the frame checker will return to searching for the
START_OF_PACKET_CHAR.
The example design also demonstrates how to properly connect clocks to transceiver ports
TXUSRCLK, TXUSRCLK2, RXUSRCLK and RXUSRCLK2. Properly configured clock
module wrappers are also provided if they are required to generate user clocks for the
instantiated transceivers. The logic for scrambler, descrambler and block synchronization
is instantiated in the example design for 64B/66B and 64B/67B encoding.
The example design can be synthesized using XST or Synplify Pro, implemented with ISE
software and then observed in hardware using the Chipscope Pro tools. RX output ports
such as RXDATA can be observed on the ChipScope Pro ILA core while input ports can be
controlled from the ChipScope Pro VIO core. A ChipScope Pro project file is also included
with each example design.
For the example design to work properly in simulation, both the transmit and receive side
need to be configured with the same encoding and datapath width in the GUI.