virtex ultrascale+ fpgas gtm transceivers wizard v1.0 logicore … · 2021. 1. 15. · chapter 2. o...
TRANSCRIPT
-
Virtex UltraScale+ FPGAsGTM Transceivers Wizardv1.0
LogiCORE IP Product GuideVivado Design Suite
PG315 (v1.0) November 24, 2020
https://www.xilinx.com
-
Table of ContentsChapter 1: Introduction.............................................................................................. 4
Features........................................................................................................................................4IP Facts..........................................................................................................................................5
Chapter 2: Overview......................................................................................................6Navigating Content by Design Processes................................................................................ 6Applications..................................................................................................................................7Licensing and Ordering.............................................................................................................. 7
Chapter 3: Product Specification........................................................................... 8Wizard Basic Concepts................................................................................................................8Performance................................................................................................................................ 9Port Descriptions.........................................................................................................................9
Chapter 4: Designing with the Core................................................................... 22General Design Guidelines.......................................................................................................22Reset Controller Helper Block..................................................................................................24Reset State Machines................................................................................................................24Transmitter User Clocking Network Helper Block................................................................ 27Receiver User Clocking Network Helper Block...................................................................... 29Transcode Helper Block............................................................................................................32Port Descriptions.......................................................................................................................34Supported Modes......................................................................................................................35Designing With Multi-Duals..................................................................................................... 39
Chapter 5: Design Flow Steps.................................................................................40Customizing and Generating the Core...................................................................................40Simulation.................................................................................................................................. 48
Chapter 6: Example Design..................................................................................... 49Purpose of the Example Design.............................................................................................. 49Example Design Ports...............................................................................................................50
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 2Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=2
-
Link Status and Initialization....................................................................................................51Link Status Logic........................................................................................................................51Initialization Module................................................................................................................. 52Adapting the Example Design................................................................................................. 54Limitations of the Example Design......................................................................................... 54
Chapter 7: Test Bench.................................................................................................56Simulating the Example Design.............................................................................................. 56Simulation Behavior..................................................................................................................60
Appendix A: Additional Resources and Legal Notices............................. 63Xilinx Resources.........................................................................................................................63Documentation Navigator and Design Hubs.........................................................................63References..................................................................................................................................63Training Resources....................................................................................................................64Revision History......................................................................................................................... 64Please Read: Important Legal Notices................................................................................... 65
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 3Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=3
-
Chapter 1
IntroductionThe Virtex® UltraScale+™ FPGAs GTM Tranceivers Wizard IP core helps configure one or moreserial transceivers. You can start from scratch, input your requirements, and generate validconfigurations, or chose to start from one of the existing presets applicable to designrequirements. The flexible Wizard generates a customized IP core for the transceivers,configuration options, and enabled ports you have selected, including a variety of helper blocksto simplify common functionality. In addition, the Wizard can produce an example design forsimple simulation and hardware usage demonstration.
Features• Simple and intuitive feature selection flow.
• Automatically sets transceiver parameters.
• Available helper blocks to simplify common or complex transceiver usage.
• Example design with configurable PRBS generator, checker, and link status indicator todemonstrate functionality in simulation and hardware.
• Support for GTM transceivers in Virtex UltraScale+ devices.
• Customization flow driven by the Vivado® Integrated Design Environment (IDE) providinghigh-level choices that configure supported transceiver features and automatically setprimitive parameters, as appropriate.
• Advanced configuration options to tune transceiver performance.
• Available helper blocks to simplify common or complex transceiver usage, and the choice toeither include or exclude each helper block from the core.
○ Helper blocks excluded from the core are delivered as user-customizable starting pointswithin the example design.
• Synthesizable example design with configurable pseudo-random binary sequence (PRBS) datagenerator, checker, and link status indicator logic to quickly demonstrate core and transceiverfunctionality in simulation.
○ Simulation test bench that monitors example design PRBS lock in external loopback, andindicates resulting link status.
Chapter 1: Introduction
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 4Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=4
-
○ Additional convenience features, including differential reference clock buffer instantiationand wiring, and dual vector slicing.
IP FactsLogiCORE™ IP Facts Table
Core Specifics
Supported Device Family1 Virtex® UltraScale+™ devices
Supported User Interfaces Not applicable
Resources Performance
Provided with Core
Design Files RTL
Example Design System Verilog
Test Bench System Verilog
Simulation Model For supported simulators, see the Xilinx Design Tools: Release Notes Guide
Supported S/W Driver N/A
Tested Design Flows3
Simulation For supported simulators, see the Xilinx Design Tools: Release Notes Guide
Support
Release Notes and Known Issues Master Answer Record: 72071
All Vivado® IP Change Logs Master Vivado IP Change Logs: 72775
Provided by Xilinx® at the Xilinx Support web page
Notes:1. For a complete list of supported devices, see the Vivado IP catalog.2. For the supported versions of the tools, see the Xilinx Design Tools: Release Notes Guide.3. In this version of the GTM Wizard IP, SIP_GTM_DUAL instantiates the transceiver serial ports as integers to showcase
the PAM4 encoding levels. While this is masked as logic wires at GTM_DUAL, the GTM Wizard parent IP will have toperform a hierarchical access of these ports for simulation purposes. So the legal values for transitions on these portswhile in PAM4 mode are: 0/1/2/3, while in NRZ mode they are: 0/3.
4. Refer to the Simulation section for mixed language simulation options.
Related Information
VHDL GTM Transceiver Parent IP Simulation Workarounds
Chapter 1: Introduction
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 5Send Feedback
https://www.xilinx.com/cgi-bin/docs/rdoc?v=2020.2;t=vivado+install+guidehttps://www.xilinx.com/cgi-bin/docs/rdoc?v=2020.2;t=vivado+install+guidehttps://www.xilinx.com/support/answers/72071.htmlhttps://www.xilinx.com/support/answers/72775.htmlhttps://www.xilinx.com/supporthttps://www.xilinx.com/cgi-bin/docs/rdoc?v=2020.2;t=vivado+install+guidehttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=5
-
Chapter 2
OverviewThe Virtex® UltraScale+™ FPGAs GTM transceivers Wizard IP core is used to configure andsimplify the use of one or more GTM serial transceivers in a Virtex UltraScale+ device. See Chapter 3: Product Specification for a detailed description of the core. This document describesthe Wizard IP core. See the UltraScale FPGAs GTM Transceivers User Guide (UG581) for details onthe specific use and behavior of the serial transceivers.
Navigating Content by Design ProcessesXilinx® documentation is organized around a set of standard design processes to help you findrelevant content for your current development task. This document covers the following designprocesses:
• Hardware, IP, and Platform Development: Creating the PL IP blocks for the hardwareplatform, creating PL kernels, subsystem functional simulation, and evaluating the Vivado®timing, resource use, and power closure. Also involves developing the hardware platform forsystem integration.
• Port Descriptions
• Reset Controller Helper Block Ports
• Transmitter User Clocking Network Helper Block Ports
• Receiver User Clocking Network Helper Block Ports
• Customizing and Generating the Core
• Chapter 6: Example Design
• Board System Design: Designing a PCB through schematics and board layout. Also involvespower, thermal, and signal integrity considerations.
• Sampled Eye Scan Functionality
• Reset Controller Helper Block Ports
• Simulating the Example Design
Chapter 2: Overview
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 6Send Feedback
https://www.xilinx.com/cgi-bin/docs/ndoc?t=user_guides;d=ug581-ultrascale-gtm-transceivers.pdfhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=6
-
ApplicationsThe GTM Wizard is the supported method of configuring and using one or more serial GTMtransceivers in a Xilinx® Virtex® UltraScale+™ FPGA.
Licensing and OrderingThis Xilinx® LogiCORE™ IP module is provided at no additional cost with the Xilinx Vivado®Design Suite under the terms of the Xilinx End User License.
Information about other Xilinx® LogiCORE™ IP modules is available at the Xilinx IntellectualProperty page. For information about pricing and availability of other Xilinx LogiCORE IP modulesand tools, contact your local Xilinx sales representative.
Chapter 2: Overview
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 7Send Feedback
https://www.xilinx.com/cgi-bin/docs/rdoc?t=eulahttps://www.xilinx.com/products/intellectual-property.htmlhttps://www.xilinx.com/products/intellectual-property.htmlhttps://www.xilinx.com/about/contact.htmlhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=7
-
Chapter 3
Product SpecificationThe Virtex® UltraScale+™ FPGAs GTM transceivers Wizard IP core is the supported method ofconfiguring and using one or more serial GTM transceivers in a Virtex UltraScale+ device. Inaddition to automatically setting primitive parameters as appropriate for your application, theWizard simplifies serial transceiver usage by providing a variety of helper block conveniencefunctions. These concepts, as well as technical specifications, are described in this chapter.
Wizard Basic Concepts• Transceiver Primitives: Fundamentally, the Wizard instantiates, configures, and connects one
or more serial GTM_DUALtransceiver primitives to provide a simplified user interface to thoseresources. The core instance configures the dual primitives by applying HDL parameter valuesderived from the Vivado® Integrated Design Environment (IDE)-driven customization of thatinstance.
• Transceiver Configuration: During Vivado IDE-driven customization, you can customizetransceiver configuration settings to suit your application.
• Helper Blocks: The Wizard provides helper blocks that are abstract or automate certaincommon or complex transceiver usage procedures. Each helper block can be located eitherwithin the core or outside it, delivered with the example design as a user-modifiable startingpoint. Helper blocks in this release include:
• Reset controller: Controls and abstracts the transceiver reset sequence.
• Transmitter user clocking network: Controls and abstracts the transceiver reset sequence.
• Receiver user clocking network: Contains resources to drive the receiver user clockingnetwork.
• Transcoder: This block implements the transmit and receive transcode and alignmentmarker removal, mapping and insertion functions for 100G and 50G KP4 Ethernet.
The Wizard is intended to simplify the use of the serial GTM transceivers. However, it is stillimportant to understand the behavior, usage, and any limitations of the transceivers. See theUltraScale FPGAs GTM Transceivers User Guide (UG581) for details.
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 8Send Feedback
https://www.xilinx.com/cgi-bin/docs/ndoc?t=user_guides;d=ug581-ultrascale-gtm-transceivers.pdfhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=8
-
PerformanceThe Wizard is designed to operate in coordination with the performance characteristics of thetransceiver primitives it instantiates.
Maximum Frequencies
For the serial transceiver switching characteristics and the serial transceiver user clock switchingcharacteristics, see the applicable data sheet for your device.
Table 1: Maximum Frequencies
Transceiver User Clock Frequency Relationship Maximum Frequency ofgtwiz_reset_clk_freerun_inFRXUSRCLK2 ≤ FTXUSRCLK2 The lower of FUPPER 1or FRXUSRCLK2FRXUSRCLK2 > FTXUSRCLK2 The lower of FUPPER 1 or FTXUSRCLK2Notes:1. Fupper is 250 MHz for UltraScale+™ devices.
Other Performance Characteristics
See the UltraScale FPGAs GTM Transceivers User Guide (UG581) for other performancecharacteristics of the transceiver primitives and valid line rate ranges.
Port DescriptionsThe Wizard enables access to underlying transceiver primitive ports as needed, as well asproviding a user interface to enable the helper blocks that are included within the core instance.As such, the wizard user interface can vary significantly between different customizations. Forthe applicable tentative port tie off values, refer to Chapter 6: Example Design.
The presence and location of helper blocks also affects the core user interface. When a helperblock is enabled and located within the core, a simple user interface is available at the coreboundary instead of at the transceiver primitive ports to which it connects. When the helperblock is located within the example design, the more complex transceiver primitive ports itconnects to are necessarily enabled at the core boundary. The FEC Transcode helper block isalways located within the core when enabled, refer to the Transcode helper block section for adescription. The following figure illustrates how the location of the Helper block affects core portenablement.
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 9Send Feedback
https://www.xilinx.com/cgi-bin/docs/ndoc?t=user_guides;d=ug581-ultrascale-gtm-transceivers.pdfhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=9
-
Figure 1: Effect of Port Helper Block Location on Port Enablement
Transceiver Primtive
Helper Block in IP Core
Helper Block in Example Design
Transceiver Primitive Wrapper
Wizard IP Core
Wizard Example Design or User Design
Helper Block User InterfaceVs
Transceiver Primitive Port Interface
Transceiver Primtive
Transceiver PrimtiveTransceiver PrimtiveTransceiver Primitive
X22005-032719
Related Information
Transcode Helper Block
GTM Controller Helper LogicThe GTM Controller IP instantiates a MicroBlaze™ processor to control the sequencing ofRXRESET and enhance link stability. gtm_cntrl_v1_0 IP is instantiated as a hierarchical IP insidethe GTM Wizard IP to handle internal sequencing required over DRP ports. It is recommendedthat the default False option for BYPASS_GTM_CNTRL remains unchanged, except for advanceduse cases where GTM Wizard is used for FEC only use-cases, that are typically used in GTloopback mode.
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 10Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=10
-
The GTM controller logic serves up to four duals within the same SLR region. The number ofduals selected in the GTM Wizard should be sequential and it should not cross SLR boundaries. Itis recommended to not perform any DRP operations while the RX reset sequence is in progress.
Refer to gtwiz_sol_gpo port description.
Table 2: GTM Controller Logic Port Descriptions
Port Name I/O Clock Descriptionubclockper_rxcdr_lock_time[15:0] Input gtwiz_reset_clk_freerun_in (sync) Configurable wait time for the
GTM controller; Tie off to value16'h0100.
ch0_resetsol_en [3:0] Input gtwiz_reset_clk_freerun_in (sync) Enables CH0 for DUALS [3:0] touse the GTM controller; each bitenables the GTM controller forDual3_Ch0, Dual2_Ch0,Dual1_Ch0, Dual0_Ch0.
Note: Drive used DualX_Ch0 to 1and unused to 0.
Make sure that this port value isnot changed when a reset requestis in progress. If there is a reasonto change the port value, pulsethe datapath reset input of thehelper logic.
ch1_resetsol_en [3:0] Input gtwiz_reset_clk_freerun_in (sync) Enables CH1 for DUALS [3:0] touse the GTM controller. Each bitenables the GTM controller forDual3_Ch1, Dual2_Ch1,Dual1_Ch1, Dual0_Ch1.
Note: Drive used DualX_Ch1 to 1and unused to 0.
Make sure that this port value isnot changed when a resetrequest is in progress. If there is areason to change the port value,pulse the datapath reset input ofthe helper logic.
gtrxreset_req_user Input gtwiz_reset_clk_freerun_in (sync) Requests the GTM controller toinitiate an RX reset sequence forchannels specified bych0_resetsol_en /ch1_resetsol_en.The recommended connection forthis is from the reset controllerhelper logic output.
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 11Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=11
-
Table 2: GTM Controller Logic Port Descriptions (cont'd)
Port Name I/O Clock Descriptiongtwiz_sol_gpo[3:0] Output gtwiz_reset_clk_freerun_in (sync) Status indicator logic from the
GTM controller. Monitor this forthe GTM controller status todetermine if the RX reset wassuccessful:0x0 = GTM controller in reset0x1 = GTM controller initialized/idle0x3 = GTM controller completedan RX reset successfully0x7 = GTM controller completedan RX Reset unsuccessfully
Note:
1. When the GTM controller isenabled, ensure that thestatus RX reset is successful.
2. The DRP operations are notexpected to be performedwhen the status ofgtwiz_sol_gpo[3:0] is either 0or 1, that is when the GTMcontroller reset sequence isin progress. The linkbehavior may not be reliableif any DRP operations areperformed during this stage.You may require anadditional reset pulse to geta clean link again.
es_fifo_request [7:0] Input ASYNC Enables sampled Eye Scan forselected channel {D3Ch1, D3Ch0,D2Ch1, D2Ch0, D1Ch1, D1Ch0,D0Ch1, D0Ch0}
Note:
1. If multiple bits aresimultaneously asserted,only the LSB channel isserviced.
2. De-assert es_fifo_requestwhen the es_fifo_full flagasserts.
es_fifo_rclk Input ES FIFO Read clkIt is recommended that you usethe same source as freerun_clk inthe GTM Wizard example design.
es_fifo_axis_0_tready Input es_fifo_rclk AXI4-Stream Interface: Indicatesthat the slave can accept atransfer in the current cycle.
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 12Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=12
-
Table 2: GTM Controller Logic Port Descriptions (cont'd)
Port Name I/O Clock Descriptiones_fifo_axis_0_tvalid Output es_fifo_rclk AXI4-Stream Interface: Indicates
that the master is driving a validtransfer. A transfer takes placewhen both tvalid and tready areasserted.
Note: tvalid also serves as theEmpty flag for the FIFO.
es_fifo_axis_0_tdata [15:0] Output es_fifo_rclk AXI4-Stream Interface: ReadDataout from the FIFO.
es_fifo_full Output es_fifo_rclk Status flag that indicates sampledEye Scan for selected channel hascompleted and FIFO is filled.
es_fifo_axis_0_tlast Output es_fifo_rclk Reserved.
gtm_cntrl_ch0_rxclkrdy[3:0] Output RXUSRCLK2 Status signal that indicates thestability of the rxusrclk2 when theGTM Controller logic performsinternal DRP operations.
gtm_cntrl_ch1_rxclkrdy[3:0] Output RXUSRCLK2 Status signal that indicates thestability of the rxusrclk2 when theGTM Controller logic performsinternal DRP operations.
gtm_cntrl_in_fecrx0cwinc Input RXUSRCLK2 Slice 0 codeword countincrement.
gtm_cntrl_in_fecrx0uncorrcwinc Input RXUSRCLK2 Slice 0 uncorrected codewordcount increment.
gtm_cntrl_in_fecrx1cwinc Input RXUSRCLK2 Slice 1 codeword countincrement.
gtm_cntrl_in_fecrx1uncorrcwinc Input RXUSRCLK2 Slice 1 uncorrected codewordcount increment.
gtm_cntrl_in_fecrxln0biterr0to1inc
Input RXUSRCLK2 Lane0 bit error count increment(0 corrected to 1).
gtm_cntrl_in_fecrxln0biterr1to0inc
Input RXUSRCLK2 Lane0 bit error count increment(1 corrected to 0).
gtm_cntrl_in_fecrxln1biterr0to1inc
Input RXUSRCLK2 Lane1 bit error count increment(0 corrected to 1).
gtm_cntrl_in_fecrxln1biterr1to0inc
Input RXUSRCLK2 Lane1 bit error count increment(1 corrected to 0).
gtm_cntrl_in_fecrxln2biterr0to1inc
Input RXUSRCLK2 Lane2 bit error count increment(0 corrected to 1).
gtm_cntrl_in_fecrxln2biterr1to0inc
Input RXUSRCLK2 Lane2 bit error count increment(1 corrected to 0).
gtm_cntrl_in_fecrxln3biterr0to1inc
Input RXUSRCLK2 Lane3 bit error count increment(0 corrected to 1).
gtm_cntrl_in_fecrxln3biterr1to0inc
Input RXUSRCLK2 Lane3 bit error count increment(1 corrected to 0).
gtm_cntrl_in_fectrxln0lock Input RXUSRCLK2 Lane 0 lock status.
gtm_cntrl_in_fectrxln1lock Input RXUSRCLK2 Lane 1 lock status
gtm_cntrl_in_fectrxln2lock Input RXUSRCLK2 Lane 2 lock status
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 13Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=13
-
Table 2: GTM Controller Logic Port Descriptions (cont'd)
Port Name I/O Clock Descriptiongtm_cntrl_in_fectrxln3lock Input RXUSRCLK2 Lane 3 lock status
Temperature [9:0] Input gtwiz_reset_clk_freerun_in (sync) 10-bit ADC code from theSYSMON temperature sensor.Valid values must always beassigned. An exampleimplementation of SystemManagement Wizard IP isinstantiated in the exampledesign. If you are designing withthe example designs, you do notneed custom connections totemperature [9:0] ports. Designsusing PAM4 modulation eitherwith less than 12 dB insertion lossat Nyquist or with line rategreater than 53 Gb/s mustintegrate the SYSMONinstantiation and provide validvalues to the temperature [9:0]ports at all times; they cannotleave the port to be undriven ortie-off to 0's.
GTM Wizard IP when in PAM4 enabled configurations, in general require RS-FECimplementations as part of the design, either using some custom parent IP implementations orthe choice of using the integrated KP4 RS-FEC inside GTM_DUAL
The GTM Wizard IP requires the integrated KP4 RS-FEC for designs with PAM4 modulation andinsertion loss of less than 12 dB (as set in the GTM Wizard Receiver Advanced Options) to beenabled. Designs that do not utilize the integrated KP4 RS-FEC for specified use mode mustimplement their own KP4 RS-FEC logic to provide equivalent statistics information as describedin the RS FEC section in UltraScale FPGAs GTM Transceivers User Guide (UG581). Note that theabove ports are vectorized for each dual enabled in user design.
Sampled Eye Scan FunctionalityThe Sampled Eye Scan functionality has been added to the GTM Control IP and populates an ESFIFO with equalized ADC samples and loop coefficients used for SNR calculation. Each sample ofes_fifo_full from an es_fifo_request contains 1750 data samples with the followingdata structure as shown in the following table. The Sampled Eye Scan function is shared between4 GTM_DUALs and only one channel can be serviced at a time.
Table 3: Data Structure
FIFO Location Data Content1 DUAL/Channel ID
2 Coefficient (H0_P3X)
3 Coefficient (H0_P2X)
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 14Send Feedback
https://www.xilinx.com/cgi-bin/docs/ndoc?t=user_guides;d=ug581-ultrascale-gtm-transceivers.pdfhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=14
-
Table 3: Data Structure (cont'd)
FIFO Location Data Content4 Coefficient (H0_P1X)
5 Coefficient (H0_0)
6 Coefficient (H0_M1X)
7 Coefficient (H0_M2X)
8 Coefficient (H0_M3X)
9 YK_DATA2[7:0],YKDATA1[7:0]
0 YK_DATA4[7:0],YKDATA3[7:0]
883 YK_DATA1750[7:0],YKDATA1749[7:0]
Instructions on how to use the GTM Sampled Eye Scan feature are as follows:
1. After GT RXRESET is complete, assert es_fifo_request at any time to initiate a sampledeye scan for a specific DUAL.
es_fifo_request should stay asserted while monitoring the es_fifo_full flag.
2. Once the es_fifo_full flag is asserted, de-assert the es_fifo_request input.
3. Begin reading the data through the added es_fifo_* AXI4S interface.
4. Once the es_fifo is completely drained, the es_fifo_axis_0_tvalid will go low, thuspreventing further reads.
YK_DATAx are signed values (2s complement); they are not continuous samples. It is just adata set of equalized sampled data and can be plotted directly.
H0_* - are not necessary to plot the data.
You can acquire additional sampled eye data by repeating the above steps on each of the targetrequired GTs.
Reset Controller Helper Block PortsThe reset controller helper block contains a user interface and a transceiver interface. The userinterface provides a simple means of initiating and monitoring the completion of transceiverreset procedures. The transceiver interface implements the signaling required to control thevarious transceiver primitive reset sequences.
Reset controller helper block user interface ports can be identified by the prefix gtwiz_reset_. Forguidance on the usage of the reset controller helper block, see Designing with the Core.
The reset controller helper block user interface ports described in the following table are presenton the helper block itself. It is directly accessible as the helper block is located in the exampledesign.
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 15Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=15
-
Table 4: Port Descriptions
Port Name I/O Clock Description
gtwiz_reset_clk_freerun_in Input N/A
Free-running clock used to reset transceiverprimitives. Must be toggling prior to deviceconfiguration. See Performance for maximumfrequency guidance.Width = 1
gtwiz_reset_all_in Input Async
User signal to reset the phase-locked loops(PLLs) and active data directions of transceiverprimitives. The falling edge of an active-High,asynchronous pulse of at least onegtwiz_reset_clk_freerun_in period in durationinitializes the process. This also works as themaster reset for the entire gtm_cntrl helperlogic.Width = 1
gtwiz_reset_tx_pll_and_datapath_in Input Async
User signal to reset the transmit data directionand associated PLLs of transceiver primitives.An active-High, asynchronous pulse of at leastone gtwiz_reset_clk_freerun_in period induration initializes the process.Width = 1
gtwiz_reset_tx_datapath_in Input Async
User signal to reset the transmit data directionof transceiver primitives. An active-High,asynchronous pulse of at least onegtwiz_reset_clk_freerun_in period in durationinitializes the process.Width = 1
gtwiz_reset_rx_pll_and_datapath_in Input Async
User signal to reset the receive data directionand associated PLLs of transceiver primitives.An active-High, asynchronous pulse of at leastone gtwiz_reset_clk_freerun_in period induration initializes the process.Width = 1
gtwiz_reset_rx_datapath_in Input Async
User signal to reset the receive data directionof transceiver primitives. An active-High,asynchronous pulse of at least onegtwiz_reset_clk_freerun_in period in durationinitializes the process.Width = 1
gtwiz_reset_tx_done_out Output TXUSRCLK2 of TXmaster channel
Active-High indication that the transmitterreset sequence of transceiver primitives asinitiated by the reset controller helper blockhas completed.Width = 1
gtwiz_reset_rx_done_out Output RXUSRCLK2 of RXmaster channel
Active-High indication that the receiver resetsequence of transceiver primitives as initiatedby the reset controller helper block hascompleted.
Note: You must monitor the gtwiz_sol_gpostatus for complete status when the GTMController helper block is present.
Width = 1
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 16Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=16
-
Table 4: Port Descriptions (cont'd)
Port Name I/O Clock Description
gtwiz_reset_userclk_rx_active_in Input Async
When the RXUSRCLK and RXUSRCLK2 signalsthat drive transceiver primitives are active andstable, this active-High port must be assertedto allow the receiver reset sequence tocomplete.Width = 1
gtwiz_reset_userclk_tx_active_in Input Async
When the TXUSRCLK and TXUSRCLK2 signalsthat drive transceiver primitives are active andstable, this active-High port must be assertedfor the transmitter reset sequence to complete.Width = 1
Related Information
Designing with the Core
Reset Controller Helper Block Transceiver Interface Ports
The reset controller helper block transceiver interface ports described in the following tableconnect the reset controller helper block to transceiver primitives. When the helper block islocated within the core, these connections are internal and the transceiver primitive inputs thatare driven by helper block outputs cannot be enabled as optional ports on the core instance.Inversely, when the helper block is located in the example design, the connections cross the coreboundary so the transceiver primitive ports that connect to the helper block are enabled bynecessity.
Table 5: Reset Controller Helper Block Transceiver Interface Ports
Port Name I/O Clock Descriptiongtpowergood_in Input Async Logical AND of all GTPOWERGOOD signals
produced by transceiver dual logic.Width = 1
txusrclk2_in Input Async TXUSRCLK2 of master transceiver channel.Width = 1
plllock_tx_in Input Async Logical AND of all lock signals produced byPLLs that clock the transmit datapath oftransceiver dual primitives.Width = 1
txresetdone_in Input Async Logical AND of all TXRESETDONE signalsproduced by transceiver dual primitives.Width = 1
rxusrclk2_in Input Async RXUSRCLK2 of master transceiver channel.Width = 1
plllock_rx_in Input Async Logical AND of all lock signals produced byPLLs that clock the receive datapath oftransceiver dual primitives.Width = 1
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 17Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=17
-
Table 5: Reset Controller Helper Block Transceiver Interface Ports (cont'd)
Port Name I/O Clock Descriptionrxresetdone_in Input Async Logical AND of all RXRESETDONE signals
produced by transceiver dual primitives.Width = 1
pllreset_tx_out Output gtwiz_reset_clk_freerun_in (usedasynchronously)
Active-High signal fanned out to the resetports of all PLLs that clock the transmitdatapath of transceiver dual primitives.Width = 1
txprogdivreset_out Output gtwiz_reset_clk_freerun_in (usedasynchronously)
Active-High signal fanned out toTXPROGDIVRESET port of all transceiver dualprimitives.Width = 1
gttxreset_out Output gtwiz_reset_clk_freerun_in (usedasynchronously)
Active-High signal fanned out to GTTXRESETport of all transceiver dual primitives.Width = 1
txuserrdy_out Output gtwiz_reset_clk_freerun_in (usedasynchronously)
Active-High signal fanned out to TXUSERRDYport of all transceiver dual primitives.Width = 1
pllreset_rx_out Output gtwiz_reset_clk_freerun_in (usedasynchronously)
Active-High signal fanned out to the resetports of all PLLs that clock the receivedatapath of transceiver channel primitives.Width = 1
rxprogdivreset_out Output gtwiz_reset_clk_freerun_in (usedasynchronously)
Active-High signal fanned out toRXPROGDIVRESET port of all transceiver dualprimitives.Width = 1
gtrxreset_out Output gtwiz_reset_clk_freerun_in (usedasynchronously)
Active-High signal fanned out to GTRXRESETport of all transceiver dual primitives.Width = 1
rxuserrdy_out Output gtwiz_reset_clk_freerun_in (usedasynchronously)
Active-High signal fanned out to RXUSERRDYport of all transceiver dual primitives.Width = 1
Note: All Input/Output ports which are described as async are synchronized togtwiz_reset_clk_freerun_in in the example design. In user designs, all asynchronous signalscoming as inputs to the IP should be asserted for sufficient time. This ensures that the synchronizerspresent inside the IP sampling on the gtwiz_reset_clk_freerun_in identify the toggles on theseports.
Reset Controller Helper Block Tie-off Ports
The reset controller helper block ports described in the following table must be tied off. Bydefault, appropriate tie-offs are provided for each core customization.
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 18Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=18
-
Table 6: Reset Controller Helper Block Tie-off Ports
Port Name I/O Clock Descriptiontx_enabled_tie_in Input gtwiz_reset_clk_
freerun_inWhen tied High, transmitter resources are reset aspart of the sequence in response togtwiz_reset_all_in.Width = 1
rx_enabled_tie_in Input gtwiz_reset_clk_freerun_in
When tied High, receiver resources are reset aspart of the sequence in response togtwiz_reset_all_in.Width = 1
shared_pll_tie_in Input gtwiz_reset_clk_freerun_in
When tied High, the shared PLL is reset only onceas part of the sequence in response togtwiz_reset_all_in.Width = 1
Transmitter User Clocking Network Helper BlockPortsThe transmitter user clocking network helper block provides a single interface with a sourceclock input port driven by a transceiver primitive-based output clock. Transmitter user clockingnetwork helper block ports can be identified by the prefix gtwiz_userclk_tx_. For guidance on theusage of the transmitter user clocking network helper block, see Designing with the Core.
The transmitter user clocking network helper block ports described in the following table arepresent on the Wizard IP core instance when it is configured to locate the transmitter userclocking network helper block in the core.
Table 7: Transmitter User Clocking Network Helper Block Ports
Port Name I/O Clock Descriptiongtwiz_userclk_tx_reset_in Input Async User signal to reset the clocking resources within
the helper block. The active-High assertion shouldremain until gtwiz_userclk_tx_srcclk_in/out isstable.Width = 1
gtwiz_userclk_tx_srcclk_out Output N/A Transceiver primitive-based clock source used toderive and buffer TXUSRCLK and TXUSRCLK2outputs.Width = 1
gtwiz_userclk_tx_usrclk_out Output N/A Drives TXUSRCLK of transceiver channel primitives.Derived from gtwiz_userclk_tx_srcclk_in/out, buffered and divided as necessary byBUFG_GT primitive.Width = 1
gtwiz_userclk_tx_usrclk2_out Drives TXUSRCLK2 of transceiver dual primitives.Derived from gtwiz_userclk_tx_srcclk_in/out, buffered and divided as necessary byBUFG_GT primitive if required.Width = 1
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 19Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=19
-
Table 7: Transmitter User Clocking Network Helper Block Ports (cont'd)
Port Name I/O Clock Descriptiongtwiz_userclk_tx_active_out gtwiz_userclk_
tx_usrclk2_outActive-High indication that the clocking resourceswithin the helper block are not held in reset.Width = 1
The transmitter user clocking network helper block ports described in the following table arepresent on the core instance when it is configured to locate the transmitter user clockingnetwork helper block in the example design.
Table 8: Transmitter User Clocking Network Helper Block User Interface Ports onCore (Helper Block in Example Design)
Port Name I/O Clock Descriptiongtwiz_userclk_tx_active_in Input Async When the clocks produced by the transmitter user
clocking network helper block are active, thisactive-High port must be asserted to allowdependent helper blocks within the core tooperate. The transmitter user clocking networkhelper block drives this port by default.Width = 1
gtwiz_userclk_tx_reset_in Input Async It must be driven identically to thegtwiz_userclk_tx_reset_in port on the transmitteruser clocking network helper block, present in theexample design.Width = 1
gtwiz_userclk_tx_srcclk_in Input Async Transceiver primitive-based clock source used toderive and buffer TXUSRCLK and TXUSRCLK2outputs.Width = 1
Related Information
Designing with the Core
Receiver User Clocking Network Helper Block PortsThe receiver user clocking network helper block provides a single interface with a source clockinput port driven by a transceiver primitive-based output clock. Receiver user clocking networkhelper block ports can be identified by the prefix gtwiz_userclk_rx_. For guidance on the usage ofthe receiver user clocking network helper block, see Designing with the Core.
The receiver user clocking network helper block ports described in the following are present onthe Wizard core instance when it is configured to locate the receiver user clocking networkhelper block in the core.
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 20Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=20
-
Table 9: Receiver User Clocking Network Helper Block Ports
Port Name I/O Clock Descriptiongtwiz_userclk_rx_reset_in Input Async User signal to reset the clocking resources within
the helper block. The active-High assertion shouldremain untilgtwiz_userclk_rx_srcclk_in/out is stable.
gtwiz_userclk_rx_srcclk_out Output Transceiver primitive-based clock source used toderive and buffer the RXUSRCLK and RXUSRCLK2outputs.
gtwiz_userclk_rx_usrclk_out Output Drives RXUSRCLK of transceiver dual primitives.Derived from gtwiz_userclk_rx_srcclk_in/ out,buffered and divided as necessary by BUFG_GTprimitive.
gtwiz_userclk_rx_usrclk2_out Output Drives RXUSRCLK2 of transceiver channelprimitives. Derived fromgtwiz_userclk_rx_srcclk_in/out, buffered anddivided as necessary by BUFG_GT primitive ifrequired.
gtwiz_userclk_rx_active_out Output gtwiz_userclk_rx_usrclk2_out
Active-High indication that the clocking resourceswithin the helper block are not held in reset.
gtwiz_userclk_rx_active_in Input Async When the clocks produced by the receiver userclocking network helper block are active, thisactive-High port must be asserted to allowdependent helper blocks within the core tooperate. The receiver user clocking networkhelper block drives this port by default.
gtwiz_userclk_rx_srcclk_in Input N/A Transceiver primitive-based clock source used toderive and buffer RXUSRCLK and RXUSRCLK2outputs.
Related Information
Designing with the Core
Chapter 3: Product Specification
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 21Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=21
-
Chapter 4
Designing with the CoreThis chapter includes guidelines and additional information to facilitate designing with theVirtex® UltraScale+™ FPGAs GTM transceivers Wizard IP core.
General Design GuidelinesThe design guidelines for the Wizard core largely reflect those of the serial transceiversinstantiated by the Wizard. It is important to understand the general usage and specificprocedures that are required for correct operation of serial transceivers in your system. For moreinformation see UltraScale FPGAs GTM Transceivers User Guide (UG581).
The Wizard provides a highly flexible Vivado® Integrated Design Environment (IDE)-drivencustomization flow, which in addition to basic customization of transceiver use modes, alsoincludes helper block choices. The result is a core instance that addresses the specific needs ofyour application. As such, Wizard IP core instances do not require manual modification andshould not be edited. Xilinx cannot guarantee timing, functionality, or support if modifications aremade to any output products of the generated core.
Designing with the Helper Blocks
The helper block modules provided with the Wizard simplify common or complex transceiverusage. Design and usage guidelines of these helper blocks are presented in the followingsections.
Consider the benefits and drawbacks of each choice when deciding whether to locate eachhelper block within the core or in the example design. The primary benefits of locating a helperblock within the core are a simpler, more abstracted interface, and that as part of the core, thehelper block is also updated if you upgrade the core to a new version. However, the helper blockis not accessible for manual modification if different behavior is required for your use case.
The primary benefit of locating a helper block within the example design is that you gain theability to use it as an example starting point, should connectivity or contents require modificationto suit your specific needs. However, because it is not part of the core, the example design mustbe regenerated and any manual edits must be performed again if you upgrade the core to a newversion. Xilinx cannot guarantee support for modifications made to the example design contentsas they are delivered.
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 22Send Feedback
https://www.xilinx.com/cgi-bin/docs/ndoc?t=user_guides;d=ug581-ultrascale-gtm-transceivers.pdfhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=22
-
Note: For this release version of GTM Wizard IP, some static location selections of the helper blocks havebeen made which align with the most common use cases. These selections will be enhanced to provideuser input choice in future release of the GTM Wizard IP.
Designing with the Example Design
An example design can be generated for any instance of the Wizard IP core. The example designinstantiates the core instance, any helper blocks that you have chosen to locate in the exampledesign, and the requisite reference clock and recovered clock buffers. It also provides variousconvenience functions such as per-channel vector slicing. The contents of the example designare customized to support the specific core customization. Use of the example design as ademonstration and as a starting point for integration into your system is suggested.
Use the Example DesignEach instance of the GTM Wizard core created by the Vivado design tool is delivered with anexample design that can be implemented in a device and then simulated. This design can be usedas a starting point for your own design or can be used to sanity-check your application in theevent of difficulty. See the Example Design content for information about using and customizingthe example designs for the core.
Registering SignalsTo simplify timing and increase system performance in a programmable device design, keep allinputs and outputs registered between the user application and the core. This means that allinputs and outputs from the user application should come from, or connect to, a flip-flop. Whileregistering signals might not be possible for all paths, it simplifies timing analysis and makes iteasier for the Xilinx® tools to place and route the design.
Recognize Timing Critical SignalsThe constraints provided with the example design identify the critical signals and timingconstraints that should be applied.
Make Only Allowed ModificationsYou should not modify the core. Any modifications can have adverse effects on system timingand protocol compliance. Supported user configurations of the core can only be made byselecting the options in the customization IP dialog box when the core is generated.
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 23Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=23
-
Reset Controller Helper BlockThe reset controller helper block simplifies the process of resetting and initializing the serialtransceiver primitives. To operate, the helper block must be provided the free-running clockgtwiz_reset_clk_freerun_in that is toggling at the frequency specified during IPcustomization, prior to device configuration.
A single instance of the helper block is delivered with each instance of the Wizard IP core. Itsuser interface provides you with a simple means of initiating and monitoring the completion oftransceiver reset procedures. Its transceiver interface connects to each transceiver primitiveresource within the core instance.
The helper block contains three finite state machines:
• Transmitter reset state machine: Resets the transmitter PLL and/or the transmitter datapathof all transceiver primitives, and indicates their completion.
• Receiver reset state machine: Resets the receiver PLL and/or the receiver datapath of alltransceiver primitives, and indicates their completion.
• “Reset all” state machine: Controls the transmitter and receiver reset state machines andsequences them appropriately to reset all of the necessary transceiver primitives withoutredundant operations.
The transmitter and receiver reset state machines are independent of one another, and each canbe initiated either directly through the user interface or by the “reset all” state machine using thereset all command. The reset all state machine is provided as a convenience and is useful forinitial bring-up. However, it is not necessary to use if only independent transmitter and resetsequences are required.
Reset State MachinesThe transmitter and receiver reset state machines each have two entry points: one which causesthe associated PLL(s) to be reset, followed by a reset of the datapath, and a second in which onlythe datapath is reset. The following figure illustrates the three reset controller helper block finitestate machines and the reset sequences they control.
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 24Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=24
-
Figure 2: Reset Controller Helper Block Finite State Machines
Transmitter ResetState Machine
Receiver ResetState Machine
“Reset All”State Machine
ST_RESET_TX_BRANCH
TX PLL and Datapath Reset Requested TX Datapath Reset Requested
TX PLL Not Locked
ST_RESET_TX_WAIT_USERRDY
TX User Clock Active
TXUSERRDY ‘1’
TX PLL Locked
GTTXRESET 0’
TX User Clock Not Active
ST_RESET_TX_WAIT_RESETDONE
TX Reset Not Done
TX Reset Done
TX Reset Done User Indicator ‘1’
ST_RESET_TX_IDLE
If TX PLL Not Locked thenTX Reset Done User Indicator ‘0’
ST_RESET_TX_PLL
TX PLL Reset 1’GTTXRESET 1’TXUSERRDY 0’
ST_RESET_TX_DATAPATH
GTTXRESET 1’TXUSERRDY 0’
ST_RESET_TX_WAIT_LOCK
TX PLL Reset 0’
ST_RESET_RX_BRANCH
RX PLL and Datapath Reset Requested RX Datapath Reset Requested
RX PLL Not Locked
ST_RESET_RX_WAIT_CDR
CDR Locked
RX PLL Locked
GTRXRESET 0’
CDR Not Locked
ST_RESET_RX_WAIT_RESETDONE
RX Reset Not DoneRX Reset Done
RX Reset Done User Indicator 1’
ST_RESET_RX_IDLE
If RX PLL Not Locked thenRX Reset Done User Indicator ‘0’
ST_RESET_RX_PLL
RX PLL Reset ‘1’GTRXRESET 1’
RXUSERRDY 0’
ST_RESET_RX_DATAPATH
GTRXRESET 1’
RXUSERRDY 0’
ST_RESET_RX_WAIT_LOCK
RX PLL Reset 0’
ST_RESET_RX_WAIT_USERRDY
RX User Clock Not Active
RX User Clock Active
RXUSERRDY 1’
ST_RESET_ALL_BRANCH
ST_RESET_ALL_TX_PLL
Reset TX PLL and Datapath
ST_RESET_ALL_RX_PLL
Reset RX PLL and Datapath
TX Direction Enabled TX Direction Not Enabled
ST_RESET_ALL_TX_PLL_WAIT
TX Reset Not Done
TX Reset Done andRX Direction Enabled andPLL Not Shared Between TX & RX
TX Reset Done andRX Direction Enabled andPLL Shared Between TX & RX
ST_RESET_ALL_RX_DP
Reset RX DatapathST_RESET_ALL_RX_WAIT
ST_RESET_ALL_DONETX Reset Done andRX Direction Not Enabled
RX Reset Not Done
RX Reset Done
TX PLL and Datapath Reset Requested or TX Datapath Reset Requested
RX PLL and Datapath Reset Requested orRX Datapath Reset Requested
Falling Edge of “Reset All” User Input
ST_RESET_ALL_INIT
Power is Good to All Transceiver Channels
Initial Device Configuration
RXPROGDIVRESET 1’RXPROGDIVRESET 1’
RXPROGDIVRESET 0’
X22038-112718
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 25Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=25
-
The transmitter reset state machine initiates a PLL reset followed by a transmitter datapath resetwhen the gtwiz_reset_tx_pll_and_datapath_in input is pulsed. All PLLs instantiatedby the core instance that are used to clock the transmitter datapath are reset in response to thisinput. After all of these PLLs lock, the transmitter programmable dividers and datapaths of alltransceiver primitives are reset. If a PLL reset is not needed, a transmitter datapath-only reset isinitiated when the gtwiz_reset_tx_datapath_in input is pulsed. Regardless of the resetentry point, the gtwiz_reset_tx_done_out indicator is asserted synchronous to transmittermaster channel TXUSRCLK2 upon completion of the transmitter reset sequence for alltransceiver primitives.
Likewise, the receiver reset state machine initiates a PLL reset followed by a receiver datapathreset when the gtwiz_reset_rx_pll_and_datapath_in input is pulsed. All PLLsinstantiated by the core instance that are used to clock the receiver datapath are reset inresponse to this input. When all these PLLs lock, the receiver datapaths of all transceiverprimitives are reset. If a PLL reset is not needed, a receiver datapath-only reset is initiated whenthe gtwiz_reset_rx_datapath_in input is pulsed. Regardless of the reset entry point, thegtwiz_reset_rx_done_out indicator is asserted synchronous to receiver master channelRXUSRCLK2 upon completion of the receiver reset sequence for all transceiver primitives.
IMPORTANT! The independent transmitter and receiver reset state machines are simple and useful.However, because LCPLL is shared between transmitter and receiver datapaths, it is important tounderstand the potential system impacts when using thegtwiz_reset_tx_pll_and_datapath_in and gtwiz_reset_rx_pll_and_datapath_ininputs. As both transmitter and receiver datapaths are clocked by LCPLL resources, assertion of either ofthose two inputs would reset the shared LCPLL of each transceiver Dual, causing potentially-unintendedlink loss in the other data direction. Use these inputs with caution, especially if PLL resources are sharedwith other core instances.
The reset all state machine can be used to avoid just such redundant PLL reset sequences. Inaddition, it resets the transmitter data direction before the receiver data direction (which canimprove data integrity in loopback or some other circumstances) and is triggered by a simple one-input interface. The reset all state machine does not sequence transceiver primitive reset signalsitself. Rather, it controls the transmitter and receiver reset state machines in the appropriatefashion for your core customization—effectively controlling some sequence ofgtwiz_reset_tx_pll_and_datapath_in, gtwiz_reset_rx_pll_and_datapath_in,and gtwiz_reset_rx_datapath_in assertions. See the previous figure to visualize thespecific effects of the reset all state machine for your core customization, noting that the reset allstate machine is initialized by the falling edge of the synchronized gtwiz_reset_all_ininput.
Note: A normal reset sequence would be TX and PLL reset followed by RX data path reset. If the TX andPLL is reset, it needs to be followed by the RX data path if the RX is to be used. If the RX and PLL is reset,it needs to be followed by the TX reset if the TX is to be used. In case of TX looping back to RX kind ofdesigns, note that TX reset should be done before RX reset.
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 26Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=26
-
Transmitter User Clocking Network HelperBlock
The transmitter user clocking network helper block is a simple module used to derive and bufferthe appropriate clocks to drive the TXUSRCLK and TXUSRCLK2 inputs of one or moretransceiver channels.
A single instance of the helper block is delivered with each instance of the Wizard IP core. Bydefault, its source clock input port, gtwiz_userclk_tx_srcclk_in, is driven by theTXOUTCLK port of the master transceiver channel. Within the helper block, this source driveseither one or two BUFG_GT primitives, which are global clock buffers that are capable of clockdivision.
As shown in the following figure, if the TXUSRCLK and TXUSRCLK2 frequencies are identical(which is the case when the transmitter user data width is narrower than or equal to the size ofthe internal data width), then only a single BUFG_GT is instantiated within the helper block. Thisbuffer drives both gtwiz_userclk_tx_usrclk_out andgtwiz_userclk_tx_usrclk2_out helper block output ports, which are wired to theTXUSRCLK and TXUSRCLK2 input ports, respectively, of each transceiver channel primitive. Thehelper block configures the BUFG_GT to divide the source clock down to the correct user clockfrequency as required.
Figure 3: Transmitter User Clocking Network Helper Block (with One BUFG_GT)
Transmitter User Clocking Network Helper Block(FTXUSRCLK = FTXUSRCLK2)
gtwiz_userclk_tx_srcclk_inFrom TXOUTCLK of TX Master Channel
gtwiz_userclk_tx_srcclk_outFrom TXUSRCLK of All Channels
gtwiz_userclk_tx_srcclk2_outFrom TXUSRCLK2 of All Channels
X22006-112618
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 27Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=27
-
As shown in the above figure, if TXUSRCLK is twice the frequency of TXUSRCLK2 (which is thecase when the transmitter user data width is wider than the internal data width), then twoBUFG_GT primitives are instantiated within the helper block. The helper block configures oneBUFG_GT to divide the source clock down to the correct transmitter datapath frequency anddrive the gtwiz_userclk_tx_usrclk_out helper block output port, which is wired to theTXUSRCLK input port of each transceiver channel. The helper block configures the otherBUFG_GT to divide the source clock down to the correct transmitter user interface frequencyand drive the gtwiz_userclk_tx_usrclk2_out helper block output port, which is wired tothe TXUSRCLK2 input port of each transceiver channel.
Figure 4: Transmitter User Clocking Network Helper Block
Transmitter User ClockingNetwork Helper Block(FTXUSRCLK FTXUSRCLK2)
gtwiz_userclk_tx_srcclk_inFrom TXOUTCLK of TX Master Channel
gtwiz_userclk_tx_srcclk_outTo TXUSRCLK of All Channels
gtwiz_userclk_tx_srcclk2_outTo TXUSRCLK2 of All Channels
X22009-032719
The helper block holds BUFG_GT primitive(s) in reset when thegtwiz_userclk_tx_reset_in user input is asserted. This reset input should be held Highuntil the source clock input is known to be stable. When the reset input is released, thegtwiz_userclk_tx_active_out user indicator synchronously asserts, indicating an activeuser clock and allowing dependent helper blocks to proceed.
The helper block can be located either within the core, or in the example design, per userselection. If included within the core, wiring from the master transceiver channel TXOUTCLKoutput port to the helper block gtwiz_userclk_tx_srcclk_in input port is also internal tothe core, but that clock signal is presented on the core interface asgtwiz_userclk_tx_srcclk_out. Similarly, wiring between the helper blockgtwiz_userclk_tx_usrclk_out and gtwiz_userclk_tx_usrclk2_out output portsand the transceiver channel is internal to the core but those helper block outputs are alsopresented on the core interface.
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 28Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=28
-
If the helper block is located within the example design, then by necessity the relevanttransceiver channel clock ports are enabled on the core interface so that the necessary signalscan cross the core boundary.
For complete documentation on clocking the transceiver primitives, see UltraScale FPGAs GTMTransceivers User Guide (UG581).
Receiver User Clocking Network Helper BlockThe receiver user clocking network helper block is a simple module used to derive and buffer theappropriate clocks to drive the RXUSRCLK and RXUSRCLK2 inputs of one or more transceiverchannels.
By default, the helper block source clock input port gtwiz_userclk_rx_srcclk_in is drivenby either the RXOUTCLK port of the master transceiver channel.
As shown in the following figure, if RXUSRCLK and RXUSRCLK2 frequencies are identical (whichis the case when the receiver user data width is narrower than or equal to the size of the internaldata width), then only a single BUFG_GT is instantiated within the helper block. This bufferdrives both gtwiz_userclk_rx_usrclk_out and gtwiz_userclk_rx_usrclk2_outhelper block output ports, which are wired to the RXUSRCLK and RXUSRCLK2 input ports,respectively, of the appropriate transceiver channels. The helper block configures the BUFG_GTto divide the source clock down to the correct user clock frequency as required.
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 29Send Feedback
https://www.xilinx.com/cgi-bin/docs/ndoc?t=user_guides;d=ug581-ultrascale-gtm-transceivers.pdfhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=29
-
Figure 5: Receiver User Clocking Network Helper Block (with One BUFG_GT)
Receiver User Clocking Network Helper Block For Most Configurations
(FRXUSRCLK = FRXUSRCLK2)
gtwiz_userclk_rx_srcclk_inFrom RXOUTCLK of RX Master Channel
gtwiz_userclk_rx_usrclk_outTo RXUSRCLK of All Channels
gtwiz_userclk_rx_usrcclk2_outTo RXUSRCLK2 of All Channels
X22010-112618
As shown in the following figure, if RXUSRCLK is twice the frequency of RXUSRCLK2 (which isthe case when the receiver user data width is wider than the internal data width), then twoBUFG_GT primitives are instantiated within the helper block. The helper block configures oneBUFG_GT to divide the source clock down to the correct receiver datapath frequency and drivethe gtwiz_userclk_rx_usrclk_out helper block output port, which is wired to theRXUSRCLK input port of the appropriate transceiver channels. The helper block configures theother BUFG_GT to divide the source clock down to the correct receiver user interface frequencyand drive the gtwiz_userclk_rx_usrclk2_out helper block output port, which is wired tothe RXUSRCLK2 input port of the appropriate transceiver channels.
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 30Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=30
-
Figure 6: Receiver User Clocking Network Helper Block (with Two BUFG_GT Primitives)
Receiver User ClockingNetwork Helper Block For Most Configurations
(FRXUSRCLK FRXUSRCLK2)
gtwiz_userclk_rx_srcclk_inFrom RXOUTCLK of RX Master Channel
gtwiz_userclk_rx_usrclk_outTo RXUSRCLK of All Channels
gtwiz_userclk_rx_usrclk2_outTo RXUSRCLK2 of All Channels
X22011-112618
The helper block holds BUFG_GT primitive(s) in reset when thegtwiz_userclk_rx_reset_in user input is asserted. This reset input should be held Highuntil the source clock input is known to be stable. When the reset input is released, thegtwiz_userclk_rx_active_out user indicator synchronously asserts, indicating an activeuser clock and allowing dependent helper blocks to proceed.
The helper block can be located either within the core or in the example design per userselection. If included within the core, wiring from the appropriate transceiver channel primitiveRXOUTCLK output port(s) to the helper block gtwiz_userclk_rx_srcclk_in input port(s) isalso internal to the core, but that clock signal is presented on the core interface asgtwiz_userclk_rx_srcclk_out.
Similarly, wiring between the helper block gtwiz_userclk_rx_usrclk_out andgtwiz_userclk_rx_usrclk2_out output ports and the transceiver channel primitives isinternal to the core, but those helper block outputs are also presented on the core interface. Ifthe helper block is located within the example design, then the relevant transceiver channel clockports are enabled on the core interface so that the necessary signals can cross the coreboundary.
If additional clock signals or related ports are required for your application, you can enable therelevant ports on the core instance through the optional ports interface during IP customization.For a description of all receiver user clocking network helper block ports, see Chapter 3: ProductSpecification. For complete documentation on clocking the transceiver primitives, see UltraScaleFPGAs GTM Transceivers User Guide (UG581).
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 31Send Feedback
https://www.xilinx.com/cgi-bin/docs/ndoc?t=user_guides;d=ug581-ultrascale-gtm-transceivers.pdfhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=31
-
Transcode Helper BlockThis block implements the transmit and receive transcode and alignment marker, the removal/insertion, and mapping functions for 100G and 50G Ethernet with KP4 FEC. It also implements asimplified transmit alignment lock function like that found in the existing Xilinx® soft RS-FEC IPfor 100G and 50G Ethernet. The transcode block supports the latest version of the standardslisted in: IEEE Standard for Ethernet (IEEE Std 802.3-2015).
RS-FEC for 100G Ethernet is defined in Clause 91 of IEEE Standard for Ethernet (IEEE Std802.3-2015). The hard RS-FEC inside the GTM_DUAL supports the RS (544,514) KP4 variantonly. The transcoding functions are not included in the hard block, and hence will beimplemented in the FPGA logic by this block. A conceptual overview of the RS-FEC datapath inthe context of the GTM_DUAL and Transcode helper block is shown in the following figure.
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 32Send Feedback
https://standards.ieee.org/findstds/standard/802.3-2015.htmlhttps://standards.ieee.org/findstds/standard/802.3-2015.htmlhttps://standards.ieee.org/findstds/standard/802.3-2015.htmlhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=32
-
Figure 7: Relationship of RS-FEC Layer to the ISO/IES Open System InterconnectionReference Model
LLC OR OTHER MAC CLIENT
MAC CONTROL (OPTIONAL)
MAC
RECONCILIATION
100G BASE-R PCS
PMA
PMD
AN1
APPLICATION
PRESENTATION
SESSION
TRANSPORT
NETWORK
DATA LINK
PHYSICAL
HIGHER LAYERS
LANCSMA/CDLAYERS
MEDIUM
RS-FEC1
AN = AUTO-NEGOTIATIONCGMII = 100 Gb/s MEDIA INDEPENDENT INTERFACELLC = LOGICAL LINK CONTROLMAC = MEDIA ACCESS CONTROLMDI = MEDIUM DEPENDENT INTERFACEPCS = PHYSICAL CODING SUBLAYER
CGMII
MDI
OSI REFERENCE MODEL LAYERS
PHY = PHYSICAL LAYER DEVICEPMA = PHYSICAL MEDIUM ATTACHMENTPMD = PHYSICAL MEDIUM DEPENDENTRS-FEC = REED-SOLOMON FORWARD ERROR CORRECTION
Note 1: Conditional based on PHY type
X21988-112218
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 33Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=33
-
Port DescriptionsThe transcode IP block’s port definitions are shown in the following table. The width of the databuses varies depending on whether the block is configured in 50GE mode or 100GE mode. Thestat_rx_err_count_inc input is driven by the GTM_DUAL’s FEC hard block and allows thecounting of the symbol errors in order to detect and implement the hi-SER state and associatedlogic.
Table 10: Transcoder Helper Block Port Descriptions
Port Name Width(50G)Width(100G) I/O Description
tx_din 132 320 Input Transmit path data inputThis signal is handled internal to the GTMWizard IP and it interfaces the GTM_DUALUNISIM.
tx_din_start 1 1 Input Start of codeword on tx_dinThis signal is handled internal to the GTMWizard IP and it interfaces the GTM_DUALUNISIM.
tx_dout 160 320 Output Transmit path data outputThis signal is handled internal to the GTMWizard IP and it interfaces the GTM_DUALUNISIM.
rx_din 160 320 Input Receive path data inputThis signal is handled internal to the GTMWizard IP and it interfaces the GTM_DUALUNISIM.
rx_din_start 1 1 Input Start of codeword on rx_dinThis signal is handled internal to the GTMWizard IP and it interfaces the GTM_DUALUNISIM.
rx_din_is_am 1 1 Input Indicates alignment markers present onrx_din.
rx_din_flags 4 4 Input Indicates status of data on rx_dinThis signal is handled internal to the GTMWizard IP and it interfaces the GTM_DUALUNISIM.
[0]: No error exists at RX FEC output[1]: Error exists at RX FEC output[2]: No error corrected at chien search[3]: Error corrected at chien search
rx_dout 132 320 Output Receive path data outputThis signal is handled internal to the GTMWizard IP and it interfaces the GTM_DUALUNISIM.
stat_rx_err_count_inc 4 4 Input Symbol error count from RS decoderThis signal is handled internal to the GTMWizard IP and it interfaces the GTM_DUALUNISIM.
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 34Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=34
-
Table 10: Transcoder Helper Block Port Descriptions (cont'd)
Port Name Width(50G)Width(100G) I/O Description
ctl_rx_bypass_correction 1 1 Input Correction bypass configurationThis is exposed as the top-level port as"gtm_transcode_ctl_rx_bypass_correction"
ctl_rx_bypass_indication 1 1 Input Indication bypass configurationThis is exposed as the top-level port as"gtm_transcode_ctl_rx_bypass_indication"
stat_rx_hi_ser 1 1 Output Hi-SER statusThis signal is handled internal to the GTMWizard IP and it interfaces the GTM_DUALUNISIM.
stat_rx_tcd_lock 1 1 Output TX block lock status (100G mode only)This is exposed as the top-level port as"gtm_transcode_stat_rx_tcd_lock"
stat_tx_pcs_am_lock 1 1 Output TX AM lock statusThis is exposed as the top-level port as"gtm_transcode_stat_tx_pcs_am_lock"
gtm_transcode_bypass_rx_core
1 1 Inputreserved
port, tie-offto 0
Future enhancement for GTM SwitchableEthernet configurations
gtm_transcode_bypass_tx_core
1 1 Inputreserved
port, tie-offto 0
Future enhancement for GTM SwitchableEthernet configurations
For more information, see AR 72110.
Supported ModesThe supported operating sub-modes for 100GE and 50GE are summarized in the following table.In all modes where virtual lane alignment markers and frame lengths are defined, these areconfigurable via core parameters. Some restrictions are imposed by the FEC layer, for example,frame length must be such that the alignment markers always fall at the start of a FEC codeword.This means that in 100GE mode, the length should be a multiple of 4, and in 50GE mode, thelength should be a multiple of 20. A full set of status flags is provided by the RS-FEC block toenable the erroring of 66b sync headers by the RX transcoder in the case of an uncorrectedcodeword.
Table 11: 100GE and 50GE Supported Sub-Modes
Rate Indication Bypass Correction Bypass Indication and CorrectionBypass100G Full support as per standard Full support as per standard Full support (although not required
by standard)
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 35Send Feedback
https://www.xilinx.com/support/answers/72110.htmlhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=35
-
Table 11: 100GE and 50GE Supported Sub-Modes (cont'd)
Rate Indication Bypass Correction Bypass Indication and CorrectionBypass50G Full support as per standard Full support as per standard Full support (although not required
by standard)
The nominal operating mode against standard line rates is given in the following table. However,the GTM Wizard IP GUI provides the option to modify the line rates for over/under samplingmodes. If this option is selected, ensure the standard ratio of GTM clock to MAC clock rates arematched as shown in the following table. To illustrate this, the GTM Wizard IP example designinstantiates a clocking wizard block for reference.
Table 12: Nominal Operating Mode -v- Standard Line Rates
FEC Mode Nominal SERDES Clock Rate (MHz) Nominal MAC Clock Rate (MHz)100GE KP4 (53.125 Gb/s X2) 332.03125 322.265625
50GE KP4(53.125 Gb/s X1) 332.03125 390.625
N PCS lanes are multiplexed to form the data stream that is fed in to the Transcoder, where N=20in a 100GE system and N=4 in a 50GE system. Each PCS lane contains an alignment marker oncein every FEC_VL_LENGTH 66b blocks. This is because the PCS layer processes 66b blocks ofdata. The units used to specify GUI input for FEC_VL_LENGTH_CWS andFEC_VL_LENGTH_CWS_RX is the number of codewords - whose typical configuration values are4096@100GE and 1024@50GE.
The functionality and high-level architecture required for the soft Ethernet transcoding IP block isdescribed in the following figures. The functions managed in the Transcode block include LaneBlock Lock, Alignment Lock, Alignment Marker Removal, 64b/66b to 256b/257b Transcoding,and related Alignment marker mapping and insertion. The Transcoding logic helper block has afixed, deterministic latency, excluding the latency of the CDC crossing FIFO.
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 36Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=36
-
Figure 8: High-Level Architecture for 100G Datapath
GTM FEC(hard)
Paritytruncate
Parityexpand
CDCFIFO
CDCFIFO
100G RxTranscode
and AMmapping
100G RxTranscode
and AMmapping
CMAC(hard)
100G TxAlign
320b+start+flags
320b+start+flags+enable
320b+start+flags
320bCAUI-4
320bCAUI-4
320b+start
320b+start
320b+start+enable
320b+start
332.03125MHz 322.265625MHz
X21989-112218
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 37Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=37
-
Figure 9: High-Level Architecture for 50G Datapath
GTM FEC(hard)
CDCFIFO
CDCFIFO
50G RxTranscode
and AMmapping
50G TxTranscode
and AMmapping
LMAC (Soft)
50G TxAlign
132b+start
LMAC (Soft)
132b
160b+start+enable
160b+start
160b+start+flags
160b+start+flags+enable 132b
CDCFIFO
50G TxTranscode
and AMmapping
50G TxAlign
132b132b+start
160b+start+enable
160b+start
160b+start+flags CDC
FIFO
50G RxTranscode
and AMmapping
160b+start+flags+enable
132b
390.625 MHz332.03125 MHz
X21989-112718
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 38Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=38
-
Designing With Multi-DualsWhen the GTM Wizard core is generated with one dual, it generates two datapath signals - onefor Channel 0 (gtm_ch0*) and another for Channel 1 (gtm_ch1*). Datapath signals arecategorized as channels to suit most use cases. For multi-dual designs, the wizard generates twosets of datapath signals (gtm_ch0* and gtm_ch1*) similar to single dual design whereChannel 0 signals of all duals are concatenated and Channel 1 signals of all duals areconcatenated. A multi-dual wizard wrapper datapath connection is shown in the following figure.Care must be taken to map these datapath signals to a multi-dual user design.
Figure 10: Two Duals GTM Wizard Wrapper
Dual 0
Dual 1
A0[255:0]
B0[255:0]
A1[255:0]
B1[255:0]
GTM Wizard Wrapper
gtm_ch0*
gtm_ch1*
gtm_ch0*
gtm_ch1*
gtm_ch0*
gtm_ch1*
{A1[255:0],A0[255:0]}
{B1[255:0],B0[255:0]}
X22012-112618X22012-112618
Chapter 4: Designing with the Core
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 39Send Feedback
https://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=39
-
Chapter 5
Design Flow StepsThis section describes customizing and generating the core, constraining the core, and thesimulation, synthesis, and implementation steps that are specific to this IP core. More detailedinformation about the standard Vivado® design flows can be found in the following VivadoDesign Suite user guides:
• Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994)
• Vivado Design Suite User Guide: Designing with IP (UG896)
• Vivado Design Suite User Guide: Getting Started (UG910)
• Vivado Design Suite User Guide: Logic Simulation (UG900)
Customizing and Generating the CoreThis section includes information about using Xilinx® tools to customize and generate the core inthe Vivado® Design Suite.
You can customize the IP for use in your design by specifying values for the various parametersassociated with the IP core using the following steps:
IMPORTANT! It is important to choose the exact part because characteristics such as speed grade,temperature grade, and silicon level affect the available features and performance limits of the serialtransceivers. Limitations based on device characteristics are represented by the available choices whencustomizing the Wizard IP in the Vivado® Integrated Design Environment (IDE).
1. In the Vivado Design Suite, create a new project or open an existing project that is configuredto target one of the supported Virtex® UltraScale+™ devices which has a GTM transceiver.
2. Double-click the selected IP or select the Customize IP command from the toolbar or rightclick menu.
For details, see the Vivado Design Suite User Guide: Designing with IP (UG896) and the VivadoDesign Suite User Guide: Getting Started (UG910).
Figures in this chapter are illustrations of the Vivado IDE. The layout depicted here might varyfrom the current version.
Chapter 5: Design Flow Steps
PG315 (v1.0) November 24, 2020 www.xilinx.comVirtex UltraScale+ FPGAs GTM Transceivers Wizard v1.0 40Send Feedback
https://www.xilinx.com/cgi-bin/docs/rdoc?v=latest;d=ug994-vivado-ip-subsystems.pdfhttps://www.xilinx.com/cgi-bin/docs/rdoc?v=latest;d=ug896-vivado-ip.pdfhttps://www.xilinx.com/cgi-bin/docs/rdoc?v=latest;d=ug910-vivado-getting-started.pdfhttps://www.xilinx.com/cgi-bin/docs/rdoc?v=latest;d=ug900-vivado-logic-simulation.pdfhttps://www.xilinx.com/cgi-bin/docs/rdoc?v=latest;d=ug896-vivado-ip.pdfhttps://www.xilinx.com/cgi-bin/docs/rdoc?v=latest;d=ug910-vivado-getting-started.pdfhttps://www.xilinx.comhttps://www.xilinx.com/about/feedback/document-feedback.html?docType=Product_Guide&docId=PG315&Title=Virtex%20UltraScale+%20FPGAs%20GTM%20Transceivers%20Wizard%20v1.0%20&releaseVersion=1.0&docPage=40
-
Vivado IDE Customization ParametersThe Wizard IP parameters are organized in six tabs:
• Basic: Provides customization options for fundamen