pg168 Gtwizard
pg168 Gtwizard
Wizard v3.6
Chapter 1: Overview
About the Wizard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Feature Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Unsupported Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Licensing and Ordering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Appendix B: Upgrading
Migrating to the Vivado Design Suite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Upgrading in the Vivado Design Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Appendix C: Debugging
Finding Help on Xilinx.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Debug Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Wizard Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Simulation Debug. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Next Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Hardware Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Loopback Limitations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
GT Debug Using IBERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Debugging Using Serial I/O Analyzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Debugging Using Embedded BERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7 Series GT Wizard Hardware Validation on the KC705 Evaluation Board . . . . . . . . . . . . . . . . . . 133
Overview
The 7 series FPGAs Transceivers Wizard (Wizard) can be used to configure one or more
Virtex®-7, Kintex®-7, Artix®-7, and Zynq®-7000 device transceivers. Start from scratch, or
use an industry-standard template to configure 7 series FPGA transceiver cores. The Wizard
generates a custom wrapper for the transceivers with all inputs given through the
transceiver wizard Vivado® IDE. In addition, the wizard generates an example design, test
bench, and scripts to observe the transceivers operating under simulation and in hardware.
The menu-driven interface allows you to configure one or more transceivers using
predefined templates for popular industry standards, or by using custom templates, to
support a wide variety of custom protocols. The Wizard produces a wrapper, an example
design, and a test bench for rapid integration and verification of the serial interface with
your custom function.
The Wizard produces a wrapper that instantiates one or more properly configured
transceivers for custom applications (Figure 1-1).
Customization Wrapper
Application Transceiver
Ports Ports
GT
(Gigabit
Config Transceiver)
Parameters
PG168_c1_01_091013
For the latest information on this wizard, see the Architecture Wizards product information
page.
Functional Overview
Figure 1-2 shows the steps required to configure transceivers using the Wizard. Start the
Vivado IP catalog, 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.
Select
Protocol
Determine Tile
Placement
Select Reference
Clock Source
Standard Custom
Adjust Parameters
As Needed
Click
Generate
PG168_c1_02_091013
Test Bench
Example Design
Core Top
CSL
Scrambler
Init Module
PMA Modules
Clock Module
Block Sync &
Descrambler
TX RX Buffer
Reset Reset Bypass
FSM FSM Logic
GT Common
Frame Gen
Multi GT Wrapper
RX Data File
Transceiver
Ports
GT
Frame Check Common Wrapper
Reset Configuration
Parameters
TX Data File
PG168_c1_03_101713
Figure 1‐3: Structure of the Transceiver Wrapper, Example Design, and Test Bench
The following files are generated by the Wizard to illustrate the components needed to
simulate the configured transceiver:
° FRAME_CHECK module: Tests for correct transmission of data stream for simulation
analysis.
• Test bench: Top-level test bench demonstrating how to stimulate the design.
Feature Summary
The Wizard has these features:
- Common Packet Radio Interface (CPRI): 0.6, 1.2, 2.4, 3.072, 4.9, 6.144, and
9.83 Gb/s
- OC-48: 2.488 Gb/s
- OC-192: 9.956 Gb/s
- Gigabit Ethernet: 1.25 Gb/s
- Aurora 64B/66B: 12.5 Gb/s
- Aurora 8B/10B: 6.6 Gb/s
- DisplayPort: 1.620, 2.7, 5.4 Gb/s
- 10GBASE-R: 10.3125 Gb/s
- Interlaken: 4.25, 5.0, 6.25 Gb/s
- Open Base Station Architecture Initiative (OBSAI): 3.072 Gb/s
- OBSAI: 6.144 Gb/s
- 10 Gb Attachment Unit (XAUI): 3.125 Gb/s
- 10 Gb Reduced Attachment Unit (RXAUI): 6.25 Gb/s
- Serial ATA (SATA): 6.0
- Serial RapidIO Gen1: 1.25, 2.5, 3.125 Gb/s
- Serial RapidIO Gen2: 1.25, 2.5, 3.125, 5.0, 6.25 Gb/s
- JESD204: 3.0, 6.0 Gb/s
- 100 Gb Attachment Unit Interface (CAUI): 10.3125 Gb/s
- 10GBASE-KR: 10.3125 Gb/s
° Custom protocols can be specified using the Start from Scratch option in the
Vivado IDE.
• Automatically configures transceiver analog settings
• Supports 64B/66B, 64B/67B, and 8B/10B encoding/decoding. RXCDR_CFG calculations
in modes other than 8B/10B ending/decoding mode will send scrambled or PRBS
patterns.
• Includes an example design with a companion test bench as well as implementation
and simulation scripts
Applications
The Transceiver Wrapper generated by the core can be interfaced with any of the protocol
specific IP mentioned in Feature Summary.
Unsupported Features
The Wizard can be used to generate designs with asymmetrical data widths (internal and
external) on TX and RX but functional/timing simulation of the same is not supported. The
Wizard does not enable users to select the transceivers from both columns (if available in a
device). The Wizard generates only Verilog wrappers for GTZ transceivers.
Product Specification
The 7 series FPGAs transceivers are power-efficient transceivers, supporting line rates of
6.6 Gb/s for GTP transceivers, 12.5 Gb/s for GTX transceivers, and 13.1 Gb/s for GTH
transceivers. The GTX/GTH transceiver is highly configurable and tightly integrated with the
programmable logic resources of the FPGA. For each of these line rates, you can select a
custom value based on your requirements, or you can choose from pre-provided industry
standard protocols (for example, CPRI, Gigabit Ethernet, or XAUI). Specify the number of
serial transceivers for each line rate that is programmed with these settings. Because usage
of the Quad PLL (QPLL) is recommended for line rates above 6.5 Gb/s, you can select
QPLL/CPLL for each line rate falling in the range 0.6 Gb/s to 6.5 Gb/s.
Performance
The wrapper generated by the Wizard can be configured for high performance depending
on the selection of the protocol standard.
Maximum Frequencies
For more details about frequencies, see the appropriate FPGA data sheet:
Port Descriptions
Table 2-1 describes the input and output ports provided by the 7 series FPGAs transceivers
circuit. Some ports are optional, and those are optionally selected based upon the protocol
selection. The availability of the ports is controlled by user-selected parameters. For
example, the Aurora 64B/66B protocol template does not have a TXINHIBIT port, but the
CPRI protocol template includes a TXINHIBIT optional port when generating through the
Wizard. Any port that is not exposed is appropriately tied off.
SYSCLK_IN Input - System clock is used to drive the FPGA logic in the example
design. When the DRP interface is enabled, DRP_CLK_IN is
connected to SYSCLK_IN in the example design. This clock
needs to be constrained in the Xilinx Design Constraints
(XDC).
DRP_CLK_IN_P/ Input - External differential clock input pin pair for the DRP
DRP_CLK_IN_N interface clock. This clock needs to be constrained in the
XDC. See the 7 series data sheets for more information.
TRACK_DATA_OUT Output rxusrclk Indicates that valid data is received on the RX side. It is a
level signal synchronous to RXUSRCLK2.
RXN_IN/RXP_IN Input RX serial RXP and RXN are the differential input pairs for each of the
clk receivers in the 7 series FPGA transceiver Quad.
TXN_OUT/TXP_OUT Output TX serial TXP and TXN are the differential output pairs for each of
clk the transmitters in the 7 series FPGA transceiver Quad.
TXFIBRESET Input Async Brings out the TXFIBRESET ports to the example design from
which you can control the RESET of the FIB portion of the GTZ
transceiver.
RXFIBRESET Input Asyc Brings out the RXFIBRESET ports to the example design from
which you can control the RESET of the FIB portion of the GTZ
transceiver.
RXFIFOSTATUS Output rxusrclk[0.. This brings out the RXFIFOSTATUS port to the example design
7] allowing you to learn the FIFO status.
based on
RXUSRCLK
_SEL
_LANEn
setting
TXRATESEL Input Async Brings the TXRATESEL ports out onto the example top level.
These ports are used to control the TX PLL divider ratios.
RXRATESEL Input Async Brings the RXRATESEL ports out onto the example top level.
These ports are used to control the RX PLL divider ratios.
TXPOLARITY Input Async Brings out the TXPOLARITY port to the example design.
RXPOLARITY Input Async Brings out the RXPOLARITY port to the example design.
TXEN Input Async Brings out the TXEN port to the example design.
RXEN Input Async Brings out the RXEN port to the example design.
TXOUTPUTEN Input Async Brings out the TXOUTPUTEN port to the example design.
TXATTNCTRL Input Async Brings out the TXATTNCTRL port to the example design.
TXEQPOSTCTRL Input Async Brings out the TXEQPOSTCTRL port to the example design.
TXEQPRECTRL Input Async Brings out the TXEQPRECTRL port to the example design.
TXSLEWCTRL Input txusrclk0.. Brings out the TXSLEWCTRL port to the example design.
7]
based on
TXUSRCLK
_SEL
_LANEn
setting
RXBITSLIP Input Brings out the RXBITSLIP port onto the example design. This
rxusrclk[0.. port can be used to slip data in raw mode.
7]
based on
RXUSRCLK
_SEL
_LANEn
setting
CORECNTL Input Async Brings out the CORECNTL ports onto the example design.
REFSEL Input Async Brings out the REFSEL ports onto the example design.
PLLRECALEN Input Async Brings out the PLLRECALEN ports onto the example design.
RXPRBS Input Async Brings out all the RXPRBS related ports onto the example
design.
TXPRBS Input Async Brings out all the TXPRBS related ports onto the example
design.
LOOPBACK Input Async Brings out all the LOOPBACK control ports onto the example
design.
Table 2-4 shows the optional ports available for latency and clocking.
Table 2-5 shows transceiver core debug ports that enable debug and control of the core for
users wanting to drop the 7 series FPGAs Transceivers Wizard core into their designs.
RXCHARISCOMMA Yes Yes Yes Yes No Yes Yes No Yes N/A Yes No No
RXCHARISK Yes Yes Yes Yes Yes Yes Yes No Yes N/A Yes No No
RXSTARTOFSEQ No No No No No No No No No N/A No No No
TXPMARESET No No No No No No No No No N/A No No No
RXBUFSTATUS Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes No No
RXBUFRESET Yes Yes Yes Yes Yes Yes No No Yes N/A Yes No No
RXSLIDE No No No No No No No No No N/A No No No
RXBYTEISALIGN Yes Yes Yes Yes Yes Yes Yes No Yes N/A Yes No No
RXBYTEREALIGN Yes Yes Yes Yes No Yes Yes No Yes N/A Yes No No
RXCOMMADET Yes Yes Yes Yes No Yes Yes No Yes N/A Yes No No
TXPOLARITY Yes Yes Yes Yes No No Yes Yes Yes N/A Yes Yes Yes
TXDIFFCTRL Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes No
TXPOSTCURSOR Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes No
TXPRECURSOR Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes No
TXQPISENN No No No No No No No No No N/A No No No
TXQPISENP No No No No No No No No No N/A No No No
TXQPIBIASEN No No No No No No No No No N/A No No No
TXQPIWEAKPUP No No No No No No No No No N/A No No No
TXQPISTRONGPDOWN No No No No No No No No No N/A No No No
RXPOLARITY Yes Yes Yes Yes No No Yes Yes Yes N/A Yes Yes Yes
RXDFELPMRESET Yes Yes Yes Yes Yes No No Yes Yes N/A Yes No No
RXLPMHFHOLD (GTP) Yes Yes Yes Yes Yes No Yes No Yes N/A Yes No No
RXLPMLFHOLD (GTP) Yes Yes Yes Yes Yes No Yes No Yes N/A Yes No No
RXQPIEN No No No No No No No No No N/A No No No
RXQPISENN No No No No No No No No No N/A No No No
RXQPISENP No No No No No No No No No N/A No No No
RXLPMEN Yes Yes Yes Yes Yes No Yes Yes Yes N/A Yes No No
TXPRBSFORCEERR Yes Yes Yes Yes Yes No No No Yes N/A Yes Yes Yes
RXPRBSCNTRESET Yes Yes Yes Yes Yes Yes No No Yes N/A Yes No No
RXPRBSERR Yes Yes Yes Yes Yes Yes No No Yes N/A Yes No No
RXPRBSSEL Yes Yes Yes Yes Yes Yes No No Yes N/A Yes No No
LOOPBACK Yes Yes Yes Yes No Yes Yes Yes Yes N/A Yes No No
COMWAKEDET No No No No No No No No No N/A No No No
TXDETECTRX No No No No No No No No No N/A No No No
TXCOMMIT No No No No No No No No No N/A No No No
RXVALID No No No No No No No No No N/A No No No
TXCOMSAS No No No No No No No No No N/A No No No
PHYSTATUS No No No No No No No No No N/A No No No
COMINITDET No No No No No No No No No N/A No No No
TXCOMWAKE No No No No No No No No No N/A No No No
COMSASDET No No No No No No No No No N/A No No No
COMFINISH No No No No No No No No No N/A No No No
TXPD Yes Yes Yes Yes Yes No Yes No Yes N/A Yes No No
RXPD Yes Yes Yes Yes Yes No Yes No Yes N/A Yes No No
TXRESETDONE Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes No No
RXRESETDONE Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes No No
DRPADDR Yes Yes Yes Yes Yes No Yes Yes Yes N/A Yes No No
DRPEN Yes Yes Yes Yes Yes No Yes Yes Yes N/A Yes No No
DRPDI Yes Yes Yes Yes Yes No Yes Yes Yes N/A Yes No No
DRPWE Yes Yes Yes Yes Yes No Yes Yes Yes N/A Yes No No
DRPRDY Yes Yes Yes Yes Yes No Yes Yes Yes N/A Yes No No
DRPDO Yes Yes Yes Yes Yes No Yes Yes Yes N/A Yes No No
RXDISPERR Yes Yes Yes Yes Yes Yes Yes No Yes N/A Yes No No
RXNOTINTABLE Yes Yes Yes Yes Yes Yes Yes No Yes N/A Yes No No
EYESCANDATAERROR Yes Yes Yes Yes Yes Yes Yes Yes Yes N/A Yes Yes Yes
EYESCANRESET Yes Yes Yes Yes No No No No Yes N/A Yes Yes Yes
Notes:
1. Changes applicable to both protocol templates: gigabit_ethernet_CC and gigabit_ethernet_noCC.
Table 2-6 shows transceiver debug ports that are available in all protocol templates for GTX
and GTH transceivers.
Notes:
1. Each port is prefixed with gt<lane>_ where lane is from 0 to Num. channels -1
Table 2-7 shows transceiver debug ports that are available in all protocol templates for GTP
transceivers.
Notes:
1. Each port is prefixed with gt<lane>_ where lane is from 0 to Num. channels -1.
Keep It Registered
To simplify timing and increase system performance in an FPGA design, keep all inputs and
outputs registered between the user application and the core. This means that all inputs
and outputs from the user application should come from, or connect to a flip-flop.
Registering signals might not be possible for all paths, but doing so simplifies timing
analysis and makes it easier for the Xilinx tools to place-and-route the design.
Clocking
The clocks mentioned in Table 3-1 are to be driven for proper operation of the example
design.
• TXUSRCLK and TXUSRCLK2 are always generated using the TXOUTCLK, which is the
output of the transceiver.
• As given in the 7 Series FPGAs GTX/GTH Transceivers User Guide (UG476) [Ref 7], the
source for the TXOUTCLK can be the reference clock or the PMA clock.
Instantiation of MMCM/BUFG
The TX/RXOUTCLK are routed to the FPGA logic through a mixed-mode clock manager
(MMCM) or BUFG. An MMCM is needed when the TXUSRCLK does not match TXUSRCLK2
and the RXUSRCLK does not match RXUSRCLK2. Table 3-4 and Table 3-5 capture various
scenarios to instantiate an MMCM.
20 20 No TXOUTCLKPMA TXUSRCLK No
40 20 No TXOUTCLKPMA TXUSRCLK/2 Yes
40 40 No TXOUTCLKPMA TXUSRCLK No
80 40 No TXOUTCLKPMA TXUSRCLK/2 Yes
20 20 No RXOUTCLKPMA/TXOUTCLK/REFCLK RXUSRCLK No
40 20 No RXOUTCLKPMA/TXOUTCLK/REFCLK RXUSRCLK/2 Yes
40 40 No RXOUTCLKPMA/TXOUTCLK/REFCLK RXUSRCLK No
80 40 No RXOUTCLKPMA/TXOUTCLK/REFCLK RXUSRCLK/2 Yes
20 20 Yes RXUSRCLK No
40 40 Yes RXUSRCLK No
Resets
Reset Finite State Machine
The intent for the reset FSM included in the example design is to provide:
The reset FSM is constantly being improved to provide a robust initialization and reset
scheme. The FSM is to demonstrate the right methodology and should not be mistaken as
a specification.
PLLRESET PLLRESET
NO NO
PLL LOCK? PLL LOCK?
GTTXRESET GTRXRESET
NO Recovered Clk
Stable?
NO NO
USRCLK Stable? USRCLK Stable?
NO Monitor
Data_Valid
TX_RESET_FSM_DONE RX_RESET_FSM_DONE
Data_Valid
ERROR PG168_c3_01_091013
The rx_startup_fsm is illustrated on the right side of Figure 3-1. The C/QPLL lock,
recovered clock stability, and RXUSRCLK are examined prior to RXRESETDONE followed by
the buffer bypass logic for phase alignment. The FSM stays at the state that monitors data
validity, which can be an 8B/10B error, frame sync error, or CRC from the user design until a
user-defined error occurs.
These are some assumptions and notes for the Example Reset FSM:
• The example design engaged additional gates available such as PLLREFCLKLOST and
Wait-time. Wait-time in use should not be regarded as the specification.
• RECCLK_STABLE is used as an indicator of RXOUTCLK (recovered clock) stability within a
configured PPM offset from the reference clock (default 5,000 ppm). The appropriate
T DLOCK is used (see the Virtex-7 FPGAs Data Sheet: DC and Switching Characteristics
(DS183) [Ref 1]).
• The example design defaults FRAME_CHECKER as data_valid. You can identify your data
valid indicator and provide the necessary hysteresis on this signal to avoid a false
indication of data_valid. Data valid is only used as an indicator to monitor the RX link.
You need to customize the data valid indicator based on your system design.
• You have the liberty to modify or re-invent an FSM to meet your specific system
requirements while adhering to the guidelines in the 7 Series FPGAs GTX/GTH
Transceivers User Guide (UG476) [Ref 7].
• Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994)
[Ref 3]
• Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 9]
• Vivado Design Suite User Guide: Getting Started (UG910) [Ref 10]
• Vivado Design Suite User Guide: Logic Simulation (UG900) [Ref 4]
If you are customizing and generating the core in the Vivado IP integrator, see the Vivado
Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994) [Ref 3] for
detailed information. IP integrator might auto-compute certain configuration values when
validating or generating the design. To check whether the values change, see the
description of the parameter in this chapter. To view the parameter value, run the
validate_bd_design command in the Tcl console.
The 7 series FPGA transceiver core can be customized to suit a wide variety of requirements
using the IP catalog. This chapter details the available customization parameters and how
these parameters are specified within the IP catalog interface.
The 7 series FPGA transceiver core can be found in FPGA Features and Design >
IO Interface in the Vivado IP Catalog.
You can customize the IP for use in your design by specifying values for the various
parameters associated with the IP core using these steps:
2. Double-click the selected IP or select the Customize IP command from the toolbar or
right-click menu .
For details, see the Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 9] and
the Vivado Design Suite User Guide: Getting Started (UG910) [Ref 10].
Note: Figures in this chapter are illustrations of the Vivado IDE. This layout might vary from the
current version.
Figure 4-1 shows the 7 series FPGA transceiver Wizard Customize IP dialog boxes with
customizing information.
X-Ref Target - Figure 4-1
Component Name
The Component Name field can consist of any combination of alphanumeric characters
including the underscore symbol. Enter the top-level name for the core in this text box.
Illegal names are highlighted in red until they are corrected. All files for the generated core
are placed in a subdirectory using this name. The top-level module for the core also uses
this name.
The Wizard example design has been tested with Vivado Design Suite 2014.3 for synthesis
and QuestaSim 10.2a for simulation.
Figure 4-2 shows a block diagram of the default XAUI example design.
X-Ref Target - Figure 4-2
Example Design
XAUI Wrapper
Transceiver
Ports
Testbench Transceiver(s)
XAUI Config
Parameters
PG168_c4_02_091013
1. Open a project by selecting File > Open Project or create a new project by selecting
File > New Project in the Vivado Design Suite.
2. Open the IP catalog and select FPGA Features and Design > IO Interfaces in the View
by Function pane.
3. Double-click 7 Series FPGAs Transceiver Wizard to bring up the 7 series FPGA
Transceiver Customize IP dialog box.
GTZ Transceivers
Octal Selection, Channel Selection, Line Rate, and REFCLK
Page 1 of the Wizard (Figure 4-5) allows you to select the component name and determine
the line rate and reference clock frequency. In addition, this page specifies a protocol
template.
1. In the Component Name field, enter a name for the Wizard instance. This example uses
the name caui4_wrapper.
2. In the GT_Type field, select GTZ. The type of transceiver depends on the device chosen
in Project Options.
3. Select one or both of the octals GTZE2_OCTAL0 or GTZE2_OCTAL1. The number of
available octals depends on the target device and package.
X-Ref Target - Figure 4-5
4. Select the multichannel mode if you wish to set the octal in one of the multichannel
modes. Selecting a mode here will automatically select the channels appropriately also.
If using one of the multichannel modes, use the Master Slave mode to enable one of the
channels as the master and the other as slaves.
5. The GTZ wizard supports both identical configuration and non-identical configuration
of channels within an octal. To configure identically, select the Configure all selected
GTZ channels identically checkbox.
6. Select Start from scratch if you wish to manually set all parameters. Select one of the
available protocols from the list to begin designing with a predefined protocol
template. The CAUI4 example uses the CAUI 4 protocol template. The CAUI 4 protocol
template uses four channels.
7. Use Table 4-1 to determine the line rate and reference clock settings. The line rate
allowed is dependent on the speed grade of the device:
° For -2G speed grade: 9.8 Gb/s – 14.025 Gb/s and 19.6 Gb/s – 28.05 Gb/s
° For other speed grades: 9.8 Gb/s – 12.890625 Gb/s and 19.6 Gb/s – 25.78125 Gb/s
Clocking
The Clocking tab of the Wizard (Figure 4-6) allows you to select the clocking for the octal
and the enabled channels within an octal. You can verify all the settings and selections
made on this tab graphically with the image shown below the settings.
1. Select the source for TXOUTCLK0 and TXOUTCLK1 of the octal as per Table 4-2.
2. Select the source for RXOUTCLK<0-3> of the octal as per Table 4-2.
3. Select the source for the user clocks TX/RXUSRCLK<0-7> (Table 4-3). The USRCLK
numbering shown here in the Vivado IDE is relative to OCTAL0. These USRCLKs are
mapped internally (by the Wizard) to octal1 as follows:
• TX/RXUSRCLK0 – TX/RXUSRCLK4
• TX/RXUSRCLK1 – TX/RXUSRCLK5
• TX/RXUSRCLK2 – TX/RXUSRCLK6
• TX/RXUSRCLK3 – TX/RXUSRCLK7
• TX/RXUSRCLK4 – TX/RXUSRCLK0
• TX/RXUSRCLK5 – TX/RXUSRCLK1
• TX/RXUSRCLK6 – TX/RXUSRCLK2
• TX/RXUSRCLK7 – TX/RXUSRCLK3
4. Channel clocking: First select the channel number for which you wish to configure the
clocking.
5. In the TX/RXOUTCLK source for the channel selected above, the only supported sources
are TX/RX FIFO CLKs.
6. In the TX/RXUSRCLK LANE sel, select the USRCLK that you wish to source for this
channel. For channels of octal1, the USRCLK selection made here will be automatically
mapped by the wizard as shown in step 3.
7. Select the source for the DRPCLK.
PCS Modes
The third page of the Wizard (Figure 4-7) allows you to select the data width and PCS mode
options.
1. Select the data width for each of the channels enabled on Line Rate, GT Selection tab.
The options shown here are dependent on the line rates entered on page 1. For 28.05,
27.95255, and 25.78125 Gb/s, only 160-bit mode is applicable. For 14.025 and
10.3125 Gb/s, both
160- and 80-bit modes are applicable. The example for the CAUI4 template uses a
160-bit width.
2. Select the FIB mode options here (Table 4-5). This is dependent on the data width
selected above. For a data width of 160 bits, only 100GBSAER mode is applicable. For
80 bits, both 100GBASER and 64B/66B modes are applicable. The CAUI4 protocol uses
100GBASER here.
Optional Ports
Page 4 of the Wizard (Figure 4-8) allows you to select the optional ports to bring out to the
example top and multi-transceiver wrapper.
Summary
Page 5 of the Wizard (Figure 4-9) provides a summary of the selected configuration
parameters. After reviewing the settings, click Generate to exit and generate the wrapper.
1. In the Component Name field, enter a name for the Wizard instance. This example uses
the name xaui_wrapper.
2. In the GT_Type field, select GTX, GTH, or GTP. The type of transceiver depends on the
device chosen in Project Options.
3. Including the shared logic option helps Wizard users to choose the shared logic
resource at the core level or in the example design.
Select one of the available protocols from the list to begin designing with a predefined
protocol template. The XAUI example uses the XAUI protocol template.
Use Table 4-7 and Table 4-8 to determine the line rate and reference clock settings.
Table 4‐7: TX Settings
Options Description
Line Rate Set to the desired target line rate in Gb/s. Can be independent of the receive line
rate. The XAUI example uses 3.125 Gb/s.
Reference Clock Select from the list the optimal reference clock frequency to be provided by the
application. The XAUI example uses 156.25 MHz.
TX off Selecting this option disables the TX path of the transceiver. The transceiver will act
as a receiver only.
The XAUI example design requires both TX and RX functionality.
Note: Options not used by the XAUI example are shaded.
Table 4‐8: RX Settings
Options Description
Line Rate Set to the desired target line rate in Gb/s. The XAUI example uses 3.125 Gb/s.
Select from the list the optimal reference clock frequency to be provided by the
Reference Clock
application. The XAUI example uses 156.25 MHz.
Use Tables 4-9 through 4-12 to determine the optional ports settings available on this
page.
CPLL/QPLL/PLL0/PLL1REFCLKSEL has been always tied to 001 for REFCLK0, and 010 for
REFCLK1 irrespective of whether the clock is from the North or South Quad. If you plan to
use a reference clock from either North or South Quad, you must following the guidelines
for changing the reference clock, which is found in the respective transceiver user guides
for the device.
Table 4‐13: TX Settings
Options Description
Sets the transmitter application interface data width to two 8-bit
16
bytes.
20 The transmitter application interface datapath width is set to 20 bits.
Sets the transmitter application interface data width to two 8-bit
External Data 32
bytes.
Width
40 Sets the transmitter application interface data width to 40 bits.
Sets the transmitter application interface datapath width to eight 8-bit
64
bytes (64 bits).
80 Sets the transmitter application interface data width to 80 bits.
Notes:
1. Options not used by the XAUI example are shaded.
Table 4‐14: RX Settings
Options Description
16 Sets the receiver application interface data width to two 8-bit bytes.
20 Sets the receiver application interface data width to 20 bits.
Sets the receiver application interface datapath width to four 8-bit bytes
32
External Data (32 bits).
Width 40 Sets the receiver application interface data width to 40 bits.
Sets the receiver application interface datapath width to eight 8-bit bytes
64
(64 bits).
80 Sets the receiver application interface data width to 80 bits.
Decoding 8B/10B Data stream is passed to an internal 8B/10B decoder.
64B/66B Data stream is passed through the 64B/66B gearbox and de-scrambler.
64B/67B Data stream is passed through the 64B/67B gearbox and de-scrambler.
Notes:
1. Options not used by the XAUI example are shaded.
2. RX settings should be the same as TX settings.
Table 4‐15: DRP
Option Description
Select this option to have the dynamic reconfiguration port signals of the CHANNEL block
Use DRP
available to the application
The TX PCS/PMA Phase Alignment setting controls whether the TX buffer is enabled or
bypassed. See the 7 Series FPGAs GTX/GTH Transceivers User Guide (UG476) [Ref 7] for
details on this setting. The RX PCS/PMA alignment setting controls whether the RX phase
alignment circuit is enabled.
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.
RXCHARISK
High-order bit corresponds to high-order byte of datapath.
Notes:
1. Options not used by the XAUI example are shaded.
Table 4-18 details the TXUSRCLK and RXUSRCLK source signal options.
Table 4-19 details the TXOUTCLK and RXOUTCLK source signal options.
Notes:
1. See 7 Series FPGAs GTX/GTH Transceivers User Guide (UG476) [Ref 7] for more information on TXOUTCLK and RXOUTCLK
control.
Table 4-20 shows the optional ports available for latency and clocking.
Notes:
1. Options not used by the XAUI example are shaded.
Notes:
1. Options not used by the XAUI example are shaded.
Table 4‐23: RX Equalization
Option Description
Sets the equalization mode in the receiver. See the 7 Series FPGAs GTX/GTH
Equalization Mode Transceivers User Guide (UG476) [Ref 7] for details on the decision feedback equalizer.
The XAUI example uses DFE-Auto mode.
Sets the automatic gain control of the receiver. The value can be set to Auto or
Automatic Gain Control
Manual.
Use RX Equalizer CTLE3 Applicable only to GTX transceivers. If checked, the CTLE3 adaptation logic is
Adaptation Logic instantiated in the example design. For more information, see Chapter 5, Example
(DFE mode only) Design.
Notes:
1. Options not used by the XAUI example are shaded.
Table 4‐24: RX Termination
Option Description
Selecting GND grounds the internal termination network. Selecting Floating isolates
the network. Selecting AVTT applies an internal voltage reference source to the
termination network.
Termination Voltage
Select the Programmable option for Termination Voltage to select RX termination
voltage from a drop-down menu.
The XAUI example uses the GND setting.
Notes:
1. Options not used by the XAUI example are shaded.
PCI Express, SATA, OOB, PRBS, Channel Bonding, and Clock Correction
Selection
Page 5 of the Wizard (Figure 4-14) allows you to configure the receiver for PCI Express and
Serial ATA (SATA) features. In addition, configuration options for the RX out-of-band (OOB)
signal, pseudo-random bitstream sequence (PRBS) detector, and channel bonding and
clock correction settings are provided.
Figure 4‐14: PCIe, SATA, OOB, PRBS, Channel Bonding, and Clock Correction Selection—Page 5
Notes:
1. Options not used by the XAUI example are shaded.
Notes:
1. Options not used by the XAUI example are shaded.
Notes:
1. Options not used by the XAUI example are shaded.
Notes:
1. Options not used by the XAUI example are shaded.
Notes:
1. Options not used by the XAUI example are shaded.
Page 6 of the Wizard (Figure 4-15) allow you to define the channel bonding sequence(s).
Table 4-32 describes the sequence definition settings and Table 4-31, page 70 describes
the clock setup settings.
X-Ref Target - Figure 4-15
Notes:
1. Options not used by the XAUI example are shaded.
Summary
Page 7 of the Wizard (Figure 4-16) provides a summary of the selected configuration
parameters. After reviewing the settings, click Generate to exit and generate the wrapper.
X-Ref Target - Figure 4-16
Figure 4‐16: Summary—Page 6
Required Constraints
The 7 series FPGAs Transceivers Wizard core is generated with its own timing constraints
based on the choices you made when customizing the core using the Wizard. The reference
location constraints provided as part of example design setup and the user can modify the
constraints according to their use case.
Clock Frequencies
7 Series FPGA Transceiver Core Reference Clock Constraint
The number of reference clocks is derived based on transceiver selection. The Reference
Clock (MHz) value selected in the second tab of the Vivado IDE is used to constrain the
required reference clock. The create_clock XDC command is used to constrain all necessary
required reference clocks.
False Paths
The system clock and user clock are not related to one another. No phase relationship exists
between these two clocks. The two clock domains need to be set as false paths. The
set_false_path XDC command is used to constrain the false paths.
Example Design
The generated example design is a 10.3125 Gb/s line rate and a 156.25 MHz reference clock
for protocol 10-GBASE-R. The XDC file generated for the XC7VX1140TFLG1926-2L device
follows:
##---------- Set ASYNC_REG for flop which have async input ----------
##set_property ASYNC_REG TRUE [get_cells -hier -filter
{name=~*gt0_frame_gen*system_reset_r_reg}]
##set_property ASYNC_REG TRUE [get_cells -hier -filter
{name=~*gt0_frame_check*system_reset_r_reg}]
##set_property ASYNC_REG TRUE [get_cells -hier -filter
{name=~*gt1_frame_gen*system_reset_r_reg}]
##set_property ASYNC_REG TRUE [get_cells -hier -filter
{name=~*gt1_frame_check*system_reset_r_reg}]
##set_property ASYNC_REG TRUE [get_cells -hier -filter
{name=~*gt2_frame_gen*system_reset_r_reg}]
##set_property ASYNC_REG TRUE [get_cells -hier -filter
{name=~*gt2_frame_check*system_reset_r_reg}]
##set_property ASYNC_REG TRUE [get_cells -hier -filter
{name=~*gt3_frame_gen*system_reset_r_reg}]
##set_property ASYNC_REG TRUE [get_cells -hier -filter
{name=~*gt3_frame_check*system_reset_r_reg}]
Clock Management
There are no specific clock management constraints for this core.
Clock Placement
There are no specific clock placement constraints for this core.
Banking
There are no specific banking constraints for this core.
Transceiver Placement
The set_property XDC command is used to constrain the 7 series FPGA transceiver
location. This is provided as a tool tip on the second page of the Vivado IDE. A sample XDC
is provided for reference.
Simulation
For comprehensive information about Vivado simulation components, as well as
information about using supported third-party tools, see the Vivado Design Suite User
Guide: Logic Simulation (UG900) [Ref 4].
IMPORTANT: For cores targeting 7 series devices, UNIFAST libraries are not supported. Xilinx IP is
tested and qualified with UNISIM libraries only.
Example Design
This chapter introduces the example design that is included with the 7 series FPGAs
transceiver wrappers. The example design demonstrates how to use the wrappers and
demonstrates some of the key features of the transceivers.
Using QuestaSim
Prior to simulating the wrapper with QuestaSim, 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 5-1. See the Synthesis and Simulation Design Guide
(UG626) [Ref 13] for instructions on how to compile simulation libraries.
The directory structure for the XAUI example is provided in Chapter 4, Customizing and
Generating the Core.
After wrapper generation is complete, the results can be tested in hardware. The provided
example design incorporates the wrapper and additional blocks allowing the wrapper to be
driven and monitored in hardware. The generated output also includes several scripts to
assist in running the software.
From the command prompt, navigate to the project directory and type the following:
For Windows:
> cd xaui_wrapper\implement
> implement.bat
For Linux:
% cd xaui_wrapper/implement
% implement.sh
These commands execute a script that synthesizes, builds, maps, places, and routes the
example design and produces a bitmap file. The resulting files are placed in the
implement/results directory.
Using QuestaSim
Prior to performing the timing simulation with QuestaSim, 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 5-2. See the Synthesis and Simulation Design Guide
(UG626) [Ref 13] for instructions on how to compile simulation libraries.
The Wizard provides a command line script for use within QuestaSim. To run a VHDL or
Verilog QuestaSim simulation of the wrapper, use these instructions:
1. Launch the QuestaSim simulator and set the current directory to:
<project_directory>/<component_name>/simulation/timing
The QuestaSim script compiles and simulates the routed netlist of the example design and
test bench.
<project directory>
The <project directory> contains all project files for the Vivado design tools.
This file should be used to interface the user logic with the GTZ
gtwizard_v3_5_beachfront.v
transceiver.
Output Generation
For details, see the Vivado Design Suite User Guide: Designing with IP (UG896) [Ref 9].
This section provides detailed information about the files and the directory structure
generated by the Xilinx Vivado design tools.
The customized 7 series FPGA transceiver core is delivered as a set of HDL source modules
in the language selected in the IP catalog project with supporting files. These files are
arranged in a predetermined directory structure under the project directory name provided
to the IP catalog when the project is created as shown in this section mentioned below.
<component name>_example
Contains Vivado project and log files
<component name>_example.src\sources_1
IP core and example design files
constrs_1\imports\example_design
Example design constraint file
sim_1\imports\simulation
Simulation test bench file
source_1/ip/<component name>
IP Core source files directory
<component name>
IP core Verilog/VHDL source files
<component name>\example_design\
Verilog/VHDL files for example design
<component name>
Vivado Design Suite debug feature files
<imports\<component name>
<component name>\example_design\
<example_design>\<support>
<project directory>\example_project
This is the top-level directory for the example design. The project directory contains the
Vivado design tools project file and log file.
<component name>_example.src\sources_1
This directory contains example design and IP core source files.
constrs_1\imports\example_design
The directory contains the example design constraint file.
sim_1\imports\simulation
The directory contains the example design test bench file.
source_1\ip\<component name>
This directory contains IP core source files.
<component name>\
The directory contains the IP core source files.
ip\<component name>\example_design\
Verilog/VHDL files for example design.
imports\<component name>
This directory contains the example design top module and reset logic module.
<example_design>\<support>
This directory contains shared logic resource files.
<component name>_example.srcs/sim_1/imports/simulation
The simulation directory contains the simulation test bench file provided with the Wizard
wrapper.
Table 5‐14: Simulation Directory
Name Description
<project_dir>/<component name>_example.srcs/sim_1/imports/simulation
Example Design
CSL
Core Top
Scrambler
Init Module
PMA Modules
Clock Module
Block Sync &
Descrambler
TX RX Buffer
Reset Reset Bypass
FSM FSM Logic
GT Common
Frame Gen
Multi GT Wrapper
TX Data File
Transceiver
Ports
GT
Frame Check Common Wrapper
Reset Configuration
Parameters
RX Data File
PG168_c6_01_101713
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 and implemented using the Vivado design tools
and then observed in hardware using the Vivado Design Suite debug feature. RX output
ports such as RXDATA can be observed on the Vivado Design Suite debug feature ILA core
while input ports can be controlled from the Vivado Design Suite debug feature VIO core.
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. In addition,
the example design contains the initialization module, which consists of two independent
finite state machines (tx_startup_fsm and rx_startup_fsm) and the recclk_monitor block.
The reset FSM is constantly being improvised to provide a robust initialization and reset
scheme. The FSM is to demonstrate the right methodology and should not be mistaken as
a specification.
PLLRESET PLLRESET
NO NO
PLL LOCK? PLL LOCK?
GTTXRESET GTRXRESET
NO Recovered Clk
Stable?
NO NO
USRCLK Stable? USRCLK Stable?
NO Monitor
Data_Valid
TX_RESET_FSM_DONE RX_RESET_FSM_DONE
Data_Valid
ERROR PG168_c6_02_091613
The C/QPLL lock is monitored along with TXUSRCLK stability prior to TXRESETDONE. Buffer
bypass logic for phase alignment is implemented if the TX buffer is disabled.
The rx_startup_fsm is also illustrated on the right side of Figure 5-2. The C/QPLL lock,
recovered clock stability, and RXUSRCLK are examined prior to RXRESETDONE followed by
the buffer bypass logic for phase alignment. The FSM finally stays at the state that monitors
data validity, which can be an 8B/10B error, frame sync error, or CRC from the user design
until a user-defined error occurs.
The rx_startup_fsm can reset the RX side of the transceiver if data_valid is lost between
receives (possibly due to cable pull up). This can be enabled by setting the port
DONT_RESET_ON_DATA_ERROR. If DONT_RESET_ON_DATA_ERROR = 1'b0, the FSM auto
resets if an error is detected.
These are some assumptions and notes for the Example Reset FSM:
Note: You do not have control of the DRP interface as long as the ADAPT_DONE signal coming out
of these blocks is not High.
EXAMPLE_TB
|___XAUI_WRAPPER_EXDES
|___XAUI_WRAPPER_INIT
|___TX_STARTUP_FSM (1 per transceiver)
|___RX_STARTUP_FSM (1 per transceiver)
|___RECCLK_MONITOR
|___XAUI_WRAPPER
|___XAUI_WRAPPER_GT (1 per transceiver)
|___XAUI_WRAPPER_GT_FRAME_GEN (1 per transceiver)
|___XAUI_WRAPPER_GT_FRAME_CHECK
|___XAUI_WRAPPER_GT_USRCLK_SOURCE
|___XAUI_WRAPPER_CLOCK_MODULE
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 track of how many errors have occurred.
The example design also demonstrates how to generate the USRCLKs out of the OUTCLKs
coming out of an octal. Also note the connections of USRCLKs for octal0 and octal1.
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. The
frame_gen_top module also shows how to drive the txsequence counter and how to pause
the data and header controls based on the sequence counter values. The USRCLK source
module shows how and when an MMCM is required to generate a USRCLK.
The example design can be synthesized using XST or the Vivado tools and implemented
with the Vivado tools. It can be simulated using VCS or Cadence Incisive Unified Simulator
(IUS).
To tune individual lanes, you can enable the REDO_CTLE_TUNING port for the particular
lane. In the <Component_name>_init.v file, change the
oct<octal>_lane_select_i signal to the particular lane.
Figure 5-3 and Figure 5-4 show the Reset and CTLE tuning enable state machine.
START
Calibrate Toggle
Channel PLL GTZRXRESET
and wait for RXReset
RXRESETDO
NE to go high
Wait 50 us
TXReset
Wait 50 us
Toggle
GTZTXRESET
and wait for
TXRESETDONE
to go high
Initiate CTLE
tuning CTLE Tuning
Wait 50 us
Wait 50 us
Reset FIB Rx
X15001-091015
CTLE Tuning
Wait for 50 us
FIBRESET
Beachfront Module
The beachfront module must be used along with every instantiation of the GTZE2_OCTAL
primitive. This module guarantees the timing of all the synchronous signals across the GTZ
transceiver and FPGA logic interface by routing them through pre-locked flip-flops and
LUTs. Each input and output signal of the GTZE2_OCTAL passes through this module. Each of
the synchronous signals are passed through flip-flops and LUTs that are pre-LOCed.
In addition, the beachfront also has the capability to instantiate the BUFG_LB primitives to
generate USERCLKs from OUTCLKs. This functionality is controlled by the parameters listed
in Table 5-17. Apart from these parameters, all other parameters seen on the beachfront are
the same as the ones that are used on the GTZE2_OCTAL primitive. For more information,
see the 7 Series FPGAs GTZ Transceivers User Guide (UG478) [Ref 12].
Input ports to the beachfront from the FPGA logic are prefixed with B2M_. Output ports
from the beachfront going to the FPGA logic are prefixed with M2B_. Thus, you should
always use either the M2B_ or B2M_ ports of the beachfront to connect to the
GTZE2_OCTAL. Apart from the ports listed in Table 5-19, all other ports on the beachfront
interface are the same as the ones seen in the GTZE2_OCTAL primitive. For more
information, see the 7 Series FPGAs GTZ Transceivers User Guide (UG478) [Ref 12].
• You need to set the M, D, and O values of the MMCM to get the required VCO
frequency and resolution. The resolution is 1/56 FVCO.
• The MMCM uses the dynamic phase variation feature. An FSM controls the phase shift
of USRCLK using the phase shift interface.
• Shifting starts whenever RXRESETDONE is asserted from all channels. The Low-to-High
transition of the RXRESETDONE signal triggers the adjustment again.
• You should assert the RXFIBRESET once after the MMCM is locked. This ensures that
the RX FIFO is reset after the phase adjustments are done on the read clock.
• Each channel has different left and right margins, but it is guaranteed to be above
(3.1 + 1.5) when operated at 25.8 Gb/s.
• Whenever the link goes down and is later re-established using a new training sequence,
it is possible to get a different write clock phase. This training sequence is always
followed by an RXFIFO reset to bring the FIFO to a normal operating condition. In that
case, RXRESETDONE to the deskew logic toggles and re-initiates the phase adjustment.
Multi-Lane Mode
The Wizard enables multi-lane mode and puts the transceiver in master-slave mode by
default whenever the CAUI4 protocol template is selected. This is essential to reduce the
lane-to-lane deskew. For more information on how to use the multi-lane mode, see the
7 Series FPGAs GTZ Transceivers User Guide (UG478) [Ref 12].
1. Set EXAMPLE_SIMULATION to 0.
2. Bring out the soft_reset signal to a pushbutton and track_data to LEDs.
EXAMPLE_TB
|___CAUI4_WRAPPER_EXDES
|___CAUI4_INIT
| |___CAUI4_WRAPPER
| | |___CAUI4_WRAPPER_OCTAL0 (1 per octal)
| | |___GTWIZARD_V3_4_BEACHFRONT (1 per octal)
| |
| |___CAUI4_WRAPPER_CTLE_TUNING (1 per octal)
| |___CAUI4_WRAPPER_RX_STARTUP_FSM (1 per channel)
|
|___CAUI4_WRAPPER_GT_FRAME_GEN_TOP (1 per channel)
| |___CAUI4_WRAPPER_GT_FRAME_GEN
| |___CAUI4_WRAPPER_SCRAMBLER (5 per channel)
|
|___CAUI4_WRAPPER_GT_FRAME_CHECK_TOP (1 per channel)
| |___CAUI4_WRAPPER_GT_FRAME_CHECK (5 per channel)
| |___CAUI4_WRAPPER_DESCRAMBLER (5 per channel)
| |___CAUI4_WRAPPER_BLOCK_SYNC_SM (5 per channel)
|
|___CAUI4_WRAPPER_GT_USRCLK_SOURCE (contains MMCM and dynamic phase deskew)
• The simulation for Artix-7 device designs and some Virtex-7 device GTH designs takes
more time to complete because the silicon work-around modules take more time to
finish.
The 20-UI Square Wave figure in 7 Series FPGAs GTX/GTH Transceivers User Guide (UG476)
[Ref 7] shows the process of TX phase and delay alignment. This sequence is not followed
by the exdes generated by the 7 series FPGAs Transceivers Wizard in simulation. Instead,
the S_TXPHINIT line asserts at the same time as the M_TXPHINIT signal. Also contrary to the
figure, the M_TXPHINITDONE signal only asserts when all of the other TXPHINITDONE
signals have asserted. The slave TXPHINITDONE signals all assert at different times. There is
a disconnect between the figure in 7 Series FPGAs GTX/GTH Transceivers User Guide
(UG476) and the actual operation of the Wizard example design. The 7 series FPGAs
Transceivers Wizard example design simulation is correct.
Simulation
An automated test system runs a series of simulation tests on the most widely used set of
design configurations chosen at random. The transceiver cores are also tested in hardware
for functionality, performance, and reliability using Xilinx GTX transceiver demonstration
boards. Transceiver verification test suites for all possible modules are continuously being
updated to increase the test coverage across the range of possible parameters for each
individual module.
Hardware Testing
The boards used for verification are:
• KC705
• KC724
• VC7203
Upgrading
This appendix contains information about migrating a design from ISE® to the Vivado®
Design Suite, and for upgrading to a more recent version of the IP core. For customers
upgrading in the Vivado Design Suite, important details (where applicable) about any port
changes and other impact to user logic are included.
Prerequisites
• Vivado design tools build containing the 7 series FPGAs Transceivers Wizard v3.4.
• Familiarity with the 7 series FPGAs Transceivers Wizard directory structure.
• Familiarity with running the GT Wizard example design.
• The latest product guide (PG168) for the core.
• Migration guide (this appendix).
When the 7 series FPGAs Transceivers Wizard core is generated with the include Shared
Logic in core option selected, the wrapper and RTL files for the core support level are
available in the directory /<project_name>/<component_name>.srcs/sources_1/
ip/<component_name>/.
When the 7 series FPGAs Transceivers Wizard core is generated with the include Shared
Logic in example design option selected, the wrapper and RTL file for the core support
level is available in the directory /<project_name>/<component_name>_example/
<component_name>_example.srcs/sources_1/imports/example_design/
support.
Block Diagram
Figure B-1 shows a 7 series FPGAs Transceivers Wizard example design using the legacy
core.
Example Design
Init Module
PMA Modules
Clock Module
TX RX Buffer
Reset Reset Bypass
FSM FSM Logic
Multi GT Wrapper
PG168_aB_03_102113
Example Design
CSL
Core Top
Scrambler
Init Module
PMA Modules
Clock Module
Block Sync &
Descrambler
TX RX Buffer
Reset Reset Bypass
FSM FSM Logic
GT Common
Frame Gen
Multi GT Wrapper
GT
Frame Check Common Wrapper
Reset
PG168_aB_04_101713
Figure B-3 is the 7 series FPGAs Transceivers Wizard v3.4 example design generated with
the include Shared Logic in core option selected in the GUI.
Example Design
Core Top
CSL
Scrambler
Init Module
PMA Modules
Clock Module
Block Sync &
Descrambler
TX RX Buffer
Reset Reset Bypass
FSM FSM Logic
GT Common
Frame Gen
Multi GT Wrapper
GT
Common Wrapper
Frame Check Reset
PG168_aB_05_101713
3. Generate the example design for the slave cores. This produces an example design
containing a core support layer of the slave core gtwizard_slave.
4. Open the <component_name>_support.v file of the slave cores and copy the
<component_name>.v of the slave cores instance and paste it twice into the core
support level of the master core gtwizard_master. Close the slave example project.
5. You will now need to further edit the master example design and core support level as
follows:
a. Bring all the ports of the slave core instances to the core support level of the master
core except txusrclk, txusrclk2, rxusrclk, rxusrclk2, drpclk, qplloutrefclk, qplloutclk
(for GTX/GTH transceivers) and pll0outrefclk, pll0outclk, pll1outrefclk, pll1outclk (for
GTP transceivers) and soft_reset.
b. Connect txusrclk, txusrclk2, rxusrclk, rxusrclk2, drpclk, qplloutrefclk, and qplloutclk
soft_reset of slave core instances to the same source as the master core instance.
c. Replicate the pattern generator and pattern checker instance in the example design
of the master core and connect the signals of the slave cores that are brought to the
core support level.
d. Create unique signals for the DRP interfaces on the slave cores and connect them in
the same way as is done for the master core.
e. Create unique signals for the tx/rxresetdone_out ports for the slaves and AND all
slave txresetdone_out together with the master txresetdone_out output from the
master. Similarly, AND all slave rxresetdone_out together with the master
rxresetdone_out output from the master. A unique signal should be created for the
master resetdone_out ports m_txresetdone_out and m_rxresetdone_out to feed out
to the example design resetdone_out port.
Verilog example:
f. In the module declaration for the example design, add new ports TXN_S1, TXP_S1,
RXN_S1, RXP_S1, TXN_S2, TXP_S2, RXN_S2, and RXP_S2 for the slave designs and
connect them to the TXP_OUT, TXN_OUT, RXP_IN, and RXN_IN ports of the
corresponding slave cores instances in the core support level.
Constraints
Alter the top-level XDC LOC to the GT locations. To get the paths for the GT locations, first
elaborate the design then enter this Tcl command in the Vivado Tcl console:
This command is for a device containing GTXE2s and can be modified for gtpe2_i or gthe2_i
as appropriate.
Signal Changes
At the individual transceiver wrapper level:
Extra transceiver debug ports required for the protocol support have been brought out. For
details on the extra ports, refer to Table 2-5, page 18.
Extra transceiver debug ports required for the protocol support have been brought out as
mentioned above, as well as extra ports from the GTXE2/GTHE2/GTPE2_COMMON modules
that are required to be connected to the GTXE2/GTHE2/GTPE2_CHANNEL.
• qplloutclk
• qplloutrefclk
• pll0outclk
• pll0outrefclk
• pll1outclk
• pll1outrefclk
Extra transceiver debug ports required for the protocol support have been brought out, as
well as extra ports from the GTXE2/GTHE2/GTPE2_COMMON modules that are required to
be connected to the GTXE2/GTHE2/GTPE2_CHANNEL as mentioned above and the PLL lock
signals that will be used by the TX/RX start up FSMs.
• qplllock
• pll0lock
• pll1lock
Migration Steps
Generate the 7 series FPGAs Transceivers Wizard v3.4 from the Vivado tools 2014.3 IP
catalog as described in Chapter 4, Design Flow Steps.
RECOMMENDED: Since the introduction of CSL and moving the common module from the
multi-transceiver level, legacy 7 series FPGAs Transceivers Wizard IP users have to make some changes
in their design depending on the wrapper file they are using. These changes are listed below.
The user has to update the new ports added for transceiver debug in their design. For
details on the new ports, refer to Table 2-5, page 18.
The user has to generate the wizard with the "shared logic in core" option, then
manually instantiate the generated common file (<component_name>_common.v[hd])
in the design and update the new transceiver debug ports along with these ports:
The user has to generate the wizard with the "shared logic in core" option, then
manually instantiate the generated common file (<component_name>_common.v[hd])
in the design and update the new transceiver debug ports along with these ports:
PG168_aB_06_082614
For more information on all current changes with the 7 series FPGAs Transceivers Wizard,
refer to the change log information from the IP catalog as shown in Figure B-5.
PG168_aB_07_082614
Parameter Changes
No changes.
Port Changes
No changes.
Other Changes
No changes.
Debugging
This appendix provides details about resources available on the Xilinx Support website and
debugging tools.
Documentation
This product guide is the main document associated with the 7 series FPGAs Transceivers
Wizard core. This guide, along with documentation related to all products that aid in the
design process, can be found on the Xilinx Support web page or by using the Xilinx
Documentation Navigator.
Download the Xilinx Documentation Navigator on the Downloads page. For more
information about this tool and the features available, open the online help after
installation.
Solution Centers
For support specific to the 7 series FPGAs Transceivers Wizard core, see the Xilinx
High-Speed Serial I/O Solution Center.
Answer Records
Answer Records include information about commonly encountered problems, helpful
information on how to resolve these problems, and any known issues with a Xilinx product.
Answer Records are created and maintained daily ensuring that users have access to the
most accurate information available.
Answer Records for this core can also be located by using the Search Support box on the
main Xilinx support web page. To maximize your search results, use proper keywords such
as
• Product name
• Tool message(s)
• Summary of the issue encountered
A filter search is available after results are returned to further target the results.
Master Answer Record for the 7 series FPGAs Transceivers Wizard core
AR: 54691
Technical Support
Xilinx provides technical support in the Xilinx Support web page for this LogiCORE™ IP
product when used as described in the product documentation. Xilinx cannot guarantee
timing, functionality, or support if you do any of the following:
• Implement the solution in devices that are not defined in the documentation.
• Customize the solution beyond that allowed in the product documentation.
• Change any section of the design labeled DO NOT MODIFY.
To contact Xilinx Technical Support, navigate to the Xilinx Support web page.
Debug Tools
There are many tools available to address 7 series FPGAs Transceivers Wizard core design
issues.
Vivado® Design Suite debug feature inserts logic analyzer and virtual I/O cores directly
into your design. The debug feature allows you to set trigger conditions to capture
application and integrated block port signals in hardware. Captured signals can then be
analyzed. This feature represents the functionality in the Vivado IDE that is used for logic
debugging and validation of a design running in Xilinx devices in hardware.
The Vivado logic analyzer is used to interact with the logic debug LogiCORE IP cores,
including:
See the Vivado Design Suite User Guide: Programming and Debugging [Ref 15].
Reference Boards
Various Xilinx development boards support the 7 series FPGAs Transceivers Wizard core.
These boards can be used to prototype designs and establish that the core can
communicate with the system.
° KC705
° KC724
° VC7203
Wizard Validation
This section provides an overview of the hardware setup for the validation of the Wizard,
steps for initial bring up, scope of validation, and plan of validation. The purpose of this
section is to provide an approach to start building a validation plan along with a hardware
setup method to begin testing different features and combinations.
PCIe
TX Gearbox
TX TX Beacon
TX OOB Pre/ SATA Pattern TX PIPE
Driver and Post PISO Polarity
OOB Generator Control
PCIe Emp
FPGA TX
8B/10B
Interface
TX Encoder
Clock Phase
Dividers Adjust
FIFO
TX PMA TX PCS
RX
Clock RX PIPE
Dividers Control
Comma RX Status
RX Control
DFE Detect FPGA RX
EQ Polarity
and 8B/10B Interface
SIPO Align Decoder RX
RX OOB Elastic
Buffer RX
PRBS Gearbox
Checker
As shown in Figure C-1, a GTX transceiver channel in the 7 series FPGA has two main blocks:
transmitter and receiver. The PMA of each channel is configurable through attributes and
DRP configuration whereas different submodules of PCS are configurable through ports
and attributes. The validation of the Wizard will mostly focus on:
• Datapath Testing
• Different PLL Testing
• Loopback Mode Testing
• PRBS Mode Testing
• TX/RX Buffer Testing
• REFCLK Testing
• Powerdown Testing
• TX/RX Rate-change Testing
• TX/RX Polarity Testing
• TX/RX Electrical Idle Testing
• Encoding and Decoding Testing
• Comma Detection Testing
• Comma Alignment Testing
• TX/RX OOB Testing
• TX/RX PCIe Beacon Testing
• PCIe Receiver Detection Testing
• Channel-bond Testing
• Clock-correction Testing
• TX/RX USERCLK Testing
• Reset Testing
As shown in Figure C-4, two FPGAs on different boards are connected through a BullsEye
cable. This setup replicates a real scenario of how the SerDes usually talk to each other.
Using this board-to-board setup, datapath testing can be done in five different ways as
discussed in Loopback Configuration Testing, page 130.
Vivado Design Suite debug feature is used to debug and trigger a special case to test using
the same bit image. For example, to configure a specific loopback mode you can use the
VIO core and pass a required value to configure a particular case. Similarly, the Vivado
Design Suite debug feature helps to test different features by enabling and disabling them
using both ILA and VIO cores.
Datapath Testing
The normal datapath testing can be classified in terms of internal and external data width.
Table C-1 shows the different possible combinations of data width.
• PRBS-7 (On 8B/10B encoding, all possible internal data widths) > PRBSSEL (001)
• PRBS-15 (On 8B/10B encoding, all possible internal data widths) > PRBSSEL (010)
• PRBS-23 (none for 8B/10B encoding) > PRBSSEL (011)
• PRBS-31 (none for 8B/10B encoding) > PRBSSEL (100)
• PCIe compliance pattern (only 20-bit and 40-bit internal data widths) > PRBSSEL (101)
• Square wave of 2 UI > PRBSSEL (110)
• Square wave of n UI (Where “n” is internal data width) > PRBSSEL (111)
REFCLK Testing
This tests all possible divider settings, namely, 1, 2, 4, 8, and 16. This also tests the REFCLK
selection from +1/-1 neighbor Quad.
Powerdown Testing
This tests the following powerdown features:
Table C‐3: TX/RX Possible Rate w.r.t. Static and Dynamic Divider (D) Settings
TXRATE RXRATE
000 (use TXOUT_DIV) 000 (use RXOUT_DIV)
001 (/1) 001 (/1)
010 (/2) 010 (/2)
011 (/4) 011 (/4)
100 (/8) 100 (/8)
101 (/16) 101 (/16)
Table C‐5: Comma Detection Type w.r.t. RX Data Width and Type of Decoding
RX External Data Width Decoding Type Comma Detection Type
20/40/80 10B8B K28.5/K28.1
20/40/80 None/None-MSB-First User defined
Table C‐6: Comma Alignment Combination w.r.t. RX Data Width and Type of Decoding
Type of Decoding RX Internal Data Width RX Byte Alignment
20 Any byte boundary/two byte boundary/none
40 Any byte boundary/two byte boundary/four byte
10B8B
boundary/none
20 Any byte boundary/two byte boundary/none
None 40 Any byte boundary/two byte boundary/four byte
boundary/none
20 Any byte boundary/two byte boundary/none
None_MSB_first 40 Any byte boundary/two byte boundary/four byte
boundary/none
66B64B Any None
67B64B Any None
Table C‐7: TX/RX OOB with All Possible Power and Rate States
TX OOB Type TX POWERDOWN TX Rate RX OOB Type RX POWERDOWN RX Rate
COMINIT PARTIAL GEN1 COMINIT PARTIAL GEN1
SLUMBER GEN2 SLUMBER GEN2
NORMAL GEN3 NORMAL GEN3
COMWAKE PARTIAL GEN1 COMWAKE PARTIAL GEN1
SLUMBER GEN2 SLUMBER GEN2
NORMAL GEN3 NORMAL GEN3
COMSAS PARTIAL GEN1 COMSAS PARTIAL GEN1
SLUMBER GEN2 SLUMBER GEN2
NORMAL GEN3 NORMAL GEN3
Channel-bond Testing
This tests all possible combinations of channel-bond in all decoding schemes (Table C-10).
Clock-correction Testing
This tests all possible combinations of clock-correction in all decoding schemes
(Table C-11).
Reset Testing
In the TX path, the resets TXPMARESET and TXPCSRESET are tested. Similarly, in the RX
path, the resets RXPMARESET, RXPCSRESET, RXDFELPMRESET, EYESCANRESET,
RXBUFRESET, and RXOOBRESET are tested, as shown in Figure C-2.
GTRXRESET
High
WAIT until
GTRXRESET
from High to Low
RXPMARESET Single
WAIT until RXPMARESET Done
High RXPMARESET Mode
RXPMARESET when
from High to Low Process RXRESETDONE High
RXDFELPMRESET Single
WAIT until RXDFERESET Done
High RXDFERESET Mode
RXDFERESET when
from High to Low Process RXRESETDONE High
EYESCANRESET Single
WAIT until EYESCANRESET
High EYESCANRESET Mode
EYESCANRESET Done when
from High to Low Process RXRESETDONE High
RXBUFRESET
WAIT until RXBUFRESET Done
High RXBUFRESET
RXBUFRESET when
from High to Low Process Single RXRESETDONE High
Mode
RXRESETDONE
High
PG168_aC_02_091813
Simulation Debug
The 7 series FPGAs Transceivers Wizard core example design has specific prerequisites that
the simulation environment and the test bench must fulfill. These are described in the
following sections. See the latest version of the Synthesis and Simulation Design Guide
(UG626) [Ref 13] for more information on simulator dependency on hardware description
language (HDL).
• Make sure the REFCLK frequency is exactly the same as the input in the 7 series FPGA
transceiver core-generated Wizard.
• Make sure that the DRP clock is constrained properly in the XDC. See the 7 series data
sheets for more information.
• When the DRP interface is enabled, DRP_CLK is connected to SYSCLK in the example
design. Thus, make sure that SYSCLK is also constrained properly in the XDC when it is
enabled.
• If REFCLK is driven from a synthesizer, make sure the synthesizer
(PLL/MMCM_NOT_LOCKED) is stable (locked).
• Make sure the cable connection from TXP/TXN to RXP/RXN is proper.
• Make sure that the transceiver locations are properly set in XDC as chosen from the
Wizard.
• If there are RXNOTINTABLE errors observed from the serial transceiver, validate the link
using IBERT. Make sure there is no BER in the channel. Use the sweep test in the IBERT
tool and use the same serial transceiver attributes that provide zero BER in IBERT.
• Make sure all the signals at the transceiver interface are toggling correctly. All
necessary signals needed to debug should be captured in the Vivado Design Suite
debug feature if you are debugging in hardware.
• Make sure you include all the files from the src directory when compiling.
Next Step
If the debug suggestions listed previously do not resolve the issue, open a support case to
have the appropriate Xilinx expert assist with the issue.
To create a technical support case in WebCase, see the Xilinx website at:
www.xilinx.com/support/clearexpress/websupport.htm
Hardware Debug
The 7 series FPGAs Transceivers Wizard core has an option to use the Vivado Design Suite
debug feature in the example design. Debugging and ensuring proper operation of the
transceiver is extremely important in any protocol that uses the 7 series FPGAs Transceivers
Wizard core. The 7 series FPGAs Transceivers Wizard core example design has a VIO core
instantiated and connected with important status and control signals for validating the
design in board.
To assist with debugging, these VIO cores are provided with the 7 series FPGAs Transceivers
Wizard wrapper, which is enabled by setting EXAMPLE_USE_CHIPSCOPE to 1 in the
<component_name>exdes.v[hd] file. Figure C-3 shows the steps involved in debugging
transceiver related issues.
START
GT REFCLK Check
GT Initialization Sequence
LOOPBACK Configuration
Testing
END
PG168_aC_03_091813
to the external clock generation and/or external clock cables connected to the
transceiver.
The transceiver locks into the incoming GT REFCLK and asserts the PLLLOCK signal. This
signal is available as the PLLLOCK_OUT signal in the transceiver core example design.
Make sure that the GT PLL attributes are set correctly and that the transceiver generates
TXOUTCLK and RXOUTCLK with the expected frequency for the given line rate and
datapath width options.
• GT Reset
In the 7 series FPGAs Transceivers Wizard core, RX resets can operate in two different
modes: sequential mode and single mode. The TX reset can operate only in sequential
mode. Reset modes have no impact on CPLL/QPLL resets. The TXRESETDONE and
RXRESETDONE signals are asserted at the end of the transceiver initialization. In
general, RXRESETDONE assertion takes a longer time compared to TXRESETDONE
assertion. Make sure the GT_RESET signal pulse width duration matches with the
respective transceiver guidelines. The TXRESETDONE and RXRESETDONE signals are
available in the 7 series FPGAs Transceivers Wizard core example design to monitor.
• GT Initialization Sequence
The 7 series FPGA transceiver must be initialized after device power-up and
configuration before it can be used. See AR 43482 for details on the initialization
requirements. The TX and RX datapaths must be initialized only after the associated PLL
is locked. The transceiver TX and RX initialization comprises two steps:
Loopback modes are specialized configurations of the transceiver datapath where the
traffic stream is folded back to the source. The LOOPBACK port in the 7 series FPGAs
Transceivers Wizard core example design will transmit a specific traffic pattern and then
compare to check for errors and control the loopback modes. Loopback test modes fall
into two broad categories:
° Near-end loopback modes loop transmit data back in the transceiver closest to the
traffic generator. Near-end loopback modes are:
- Near-end PCS loopback
- Near-end PMA loopback
° Far-end loopback modes loop received data back in the transceiver at the far end of
the link. Far-end loopback modes are:
Loopback testing can be used either during development or in deployed equipment for
fault isolation. The traffic patterns used can be either application traffic patterns or
specialized pseudo-random bit sequences. The loopback operations are controlled by
the LOOPBACK[2:0] ports:
° 011: Reserved
° 101: Reserved
° 111: Reserved
Four loopback modes are available. See the respective transceiver user guides for
guidelines and more information. Figure C-4 illustrates a loopback test configuration
with four different loopback modes.
X-Ref Target - Figure C-4
Traffic
Checker
TX-PMA TX-PCS
TX-PCS 1 TX-PMA 2 3 4
Traffic
Generator
RX-PMA RX-PCS
PG186_aC_04_091813
Loopback Limitations
• When using near-end PMA loopback, do not drive the RX pins of the transceivers.
• When using far-end PMA loopback for one transceiver, the other transceivers in the
same Quad are not affected.
IBERT design has a pattern generator and a pattern checker that sends a generated pattern
through the transmitter and accepts data through the receiver and checks it against
internally generated patterns. The following condition qualifies the link:
• Link Up: When the checker receives five consecutive cycles of data with no errors, the
LINK signal is asserted in IBERT.
• Link Down: If the LINK signal is asserted and the checker receives five consecutive
cycles with data errors, the LINK signal is deasserted.
If you see the Link Down issue in IBERT, use the Vivado Design Suite debug feature IBERT
design to validate the serial transceiver link. The debug feature IBERT design also allows you
to optimize serial transceiver link parameters during run-time.
Errors in the bitstream can be forced based on the value driven on TXPRBSFORCEERR.
The RXPRBSCNTRESET port can be used to reset the error counter in the transceiver and
RXPRBSERR can be monitored to identify when an error occurred. The RX_PRBS_ERR_CNT
attribute can be read out through the DRP to validate the PRBS error counter value.
Setup Requirements
Before you start this tutorial, make sure you understand the hardware and software
components needed to perform the steps. The following subsections list the requirements.
Software
Vivado Design Suite 2012.3
Hardware
Kintex-7 FPGA KC705 evaluation kit base board (Figure C-5).
X-Ref Target - Figure C-5
Power (J49)
USB-UART
(J6)
Prog
USB-JTAG
(U59) CPU Reset
Ethernet
(U37)
1. In the Project Manager window of the Vivado IP catalog, right-click the core and select
Open IP Example Design. A new Vivado IDE opens with the core example design files.
2. Open <component_name>_exdes.v[hd] and change EXAMPLE_USE_CHIPSCOPE
from 0 to 1 to enable debugging using the Vivado Design Suite debug feature cores.
3. Open <component_name>_0.v[hd] and change EXAMPLE_SIMULATION value from 1
to 0 as shown below:
.EXAMPLE_SIMULATION (0),
Example:
Example:
6. Click Run Synthesis and after synthesis is completed, click Open Synthesized Design.
The tool runs for some time to synthesize and open the synthesized netlist.
7. When the synthesized design is opened, enter write_debug_probes
<ltx_file_name> in the Tcl console and press Enter. This command creates
<ltx_file_name>.ltx under the <component_name>_example folder.
8. Click Generate Bitstream which generates routed.bit in the
<component_name>_example folder. If you see any errors while generating the BIT
file, click Open Implemented Design. If implementation is already done, the operation
opens the implemented design. If not, the tool runs for some time to implement and
open the implemented design.
9. When the implemented design is opened, enter the following comments in the Tcl
console to generate the routed.bit bitstream:
set_property SEVERITY {Warning} [get_drc_checks NSTD-1]; set_property SEVERITY
{Warning} [get_drc_checks UCIO-1]
10. Ensure that the board setup is arranged according to these steps:
a. TXP from board 1 should be connected to RXP in board 2, and TXN from board 1
should be connected to RXN in board 2.
b. Similarly, TXP from board 2 should be connected to RXP in board 1, and TXN from
board 2 should be connected to RXN in board 1.
c. The reference clock to each KC705 board should be fed from a different source, as
shown in Figure C-6.
X-Ref Target - Figure C-6
PG168_aC_06_090613
11. When the bit file is generated, click File > Open Hardware Session, as shown in
Figure C-7.
X-Ref Target - Figure C-7
PG168_aC_07_111913
12. A new window appears, as shown in Figure C-8. Click Open a new hardware target.
X-Ref Target - Figure C-8
PG168_aC_08_090613
13. The Open New Hardware Target window opens, as shown in Figure C-9. Click Next.
X-Ref Target - Figure C-9
PG168_aC_09_090613
14. Enter the server name to which the KC705 board is connected in Vivado CSE Server
Name, as shown in Figure C-10, and click Next. The Vivado IDE automatically connects
to the server and detects all boards connected to the server.
X-Ref Target - Figure C-10
PG168_aC_10_090613
15. The Select Hardware Target window opens with all targeted boards connected to the
server, as shown in Figure C-11. Select the board that you want to program and click
Next to set the targeted hardware JTAG properties.
X-Ref Target - Figure C-11
PG168_aC_11_090613
16. Set Hardware Target Properties allows you to choose any JTAG clock speed from the
drop-down menu to program the targeted hardware. Choose the desired clock
frequency and click Next.
X-Ref Target - Figure C-12
PG168_aC_12_090613
17. Review the targeted hardware summary and click Finish, as shown in Figure C-13.
X-Ref Target - Figure C-13
PG168_aC_13_090613
18. Browse to and specify the bitstream file (<routed>.bit) location in the programming
file, and probe file (<probfile.ltx>) location in the Probes file as shown in
Figure C-14.
X-Ref Target - Figure C-14
PG168_aC_14_090613
19. Right-click the device and select Program Device as shown in Figure C-15 and
Figure C-16. Make sure the bit file location is correct, and click OK.
PG168_aC_15_090613
PG168_aC_16_090613
20. When programing is finished on board 1, right-click the programmed device and select
Close Target, as shown in Figure C-17.
X-Ref Target - Figure C-17
PG168_aC_17_090613
21. To program board 2, select the second device, right-click the device, and select Open
Target, as shown in Figure C-18.
X-Ref Target - Figure C-18
PG168_aC_18_090613
22. Repeat step 18 and step 19 to program board 2 with the same programming file and
probe file that was downloaded on the first KC705 board. After programing is complete,
right-click the device and select Refresh Device, as shown in Figure C-19. You should be
able to see all nets that are added to the ILA cores.
X-Ref Target - Figure C-19
PG168_aC_19_090613
23. Right-click the device again and select Run Trigger. You will be able to see all the ILA
cores debug signals in the waveform, as shown in Figure C-20.
X-Ref Target - Figure C-20
PG168_aC_20_090613
Notes:
• Make sure that the signals have the values shown in the RX ILA waveform window
(Figure C-20):
° gt0_error_count = 00
° gt0_frame_check = 1
° gt0_rxreset_done = 1
° track_data_out_i = 1
• Make sure that the signal has the following value as shown in the TX ILA waveform
window (Figure C-21):
° gt0_txresetdone_i = 1
PG168_aC_21_090613
24. Similarly, you can monitor the GTX transceiver transaction for the first KC705 board by
repeating step 21 and step 22 to validate board 1.
Xilinx Resources
For support resources such as Answers, Documentation, Downloads, and Forums, see Xilinx
Support.
• From the Vivado® IDE, select Help > Documentation and Tutorials.
• On Windows, select Start > All Programs > Xilinx Design Tools > DocNav.
• At the Linux command prompt, enter docnav.
Xilinx Design Hubs provide links to documentation organized by design tasks and other
topics, which you can use to learn key concepts and address frequently asked questions. To
access the Design Hubs:
• In the Xilinx Documentation Navigator, click the Design Hubs View tab.
• On the Xilinx website, see the Design Hubs page.
Note: For more information on Documentation Navigator, see the Documentation Navigator page
on the Xilinx website.
References
These documents provide supplemental material useful with this product guide:
3. Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994)
4. Vivado Design Suite User Guide: Logic Simulation (UG900)
5. Artix-7 FPGAs Data Sheet: DC and Switching Characteristics (DS181)
6. Zynq-7000 SoC Data Sheet: DC and Switching Characteristics (DS191)
7. 7 Series FPGAs GTX/GTH Transceivers User Guide (UG476)
8. 7 Series FPGAs GTP Transceivers User Guide (UG482)
9. Vivado Design Suite User Guide: Designing with IP (UG896)
10. Vivado Design Suite User Guide: Getting Started (UG910)
11. 7 Series FPGAs Overview (DS180)
12. 7 Series FPGAs GTZ Transceivers User Guide (UG478)
13. Synthesis and Simulation Design Guide (UG626)
14. ISE to Vivado Design Suite Migration Guide (UG911)
15. Vivado Design Suite User Guide: Programming and Debugging (UG908)
16. Kintex-7 FPGA KC705 Evaluation Kit (UG883)
Revision History
The following table shows the revision history for this document.
suffered as a result of any action brought by a third party) even if such damage or loss was reasonably foreseeable or Xilinx had
been advised of the possibility of the same. Xilinx assumes no obligation to correct any errors contained in the Materials or to
notify you of updates to the Materials or to product specifications. You may not reproduce, modify, distribute, or publicly display
the Materials without prior written consent. Certain products are subject to the terms and conditions of Xilinx's limited warranty,
please refer to Xilinx's Terms of Sale which can be viewed at https://www.xilinx.com/legal.htm#tos; IP cores may be subject to
warranty and support terms contained in a license issued to you by Xilinx. Xilinx products are not designed or intended to be
fail-safe or for use in any application requiring fail-safe performance; you assume sole risk and liability for use of Xilinx products
in such critical applications, please refer to Xilinx's Terms of Sale which can be viewed at https://www.xilinx.com/legal.htm#tos.
AUTOMOTIVE APPLICATIONS DISCLAIMER
AUTOMOTIVE PRODUCTS (IDENTIFIED AS “XA” IN THE PART NUMBER) ARE NOT WARRANTED FOR USE IN THE DEPLOYMENT OF
AIRBAGS OR FOR USE IN APPLICATIONS THAT AFFECT CONTROL OF A VEHICLE (“SAFETY APPLICATION”) UNLESS THERE IS A
SAFETY CONCEPT OR REDUNDANCY FEATURE CONSISTENT WITH THE ISO 26262 AUTOMOTIVE SAFETY STANDARD (“SAFETY
DESIGN”). CUSTOMER SHALL, PRIOR TO USING OR DISTRIBUTING ANY SYSTEMS THAT INCORPORATE PRODUCTS, THOROUGHLY
TEST SUCH SYSTEMS FOR SAFETY PURPOSES. USE OF PRODUCTS IN A SAFETY APPLICATION WITHOUT A SAFETY DESIGN IS FULLY
AT THE RISK OF CUSTOMER, SUBJECT ONLY TO APPLICABLE LAWS AND REGULATIONS GOVERNING LIMITATIONS ON PRODUCT
LIABILITY.
©Copyright 2013-2022 Xilinx, Inc. Xilinx, the Xilinx logo, Alveo, Artix, Kintex, Kria, Spartan, Versal, Virtex, Vitis, Vivado, Zynq, and
other designated brands included herein are trademarks of Xilinx in the United States and other countries. PCI, PCIe and PCI
Express are trademarks of PCI-SIG and used under license. V-by-One HS is a trademark of THine Electronics, Inc. CPRI is a
trademark of Siemens AG. All other trademarks are the property of their respective owners.