High-Speed Transceivers
GTX/GTH/GTY transceivers are dedicated serial I/O blocks that enable PCIe, 10GbE, Aurora, JESD204B, and other multi-gigabit protocols — completely separate from general IO banks, with their own PLLs, CDR, equalization, and encoding engines.
What are GTX/GTH/GTY Transceivers?
Transceivers are dedicated high-speed serial I/O blocks that exist completely outside the general IO bank structure. They handle protocols at line rates from 600 Mbps to 58 Gbps per lane — far beyond what regular LVDS IO can achieve. Each transceiver is self-contained with its own PLL, serializer, deserializer, CDR, encoding, and equalization:
- Protocols supported: PCIe Gen1/2/3, 10 Gigabit Ethernet, SATA, SAS, DisplayPort, JESD204B, Aurora, USB 3.0
- Not available in all devices — present in Kintex-7, Virtex-7, Zynq-7000 (partial); Artix-7 has GTP (lower rate)
- Organized in quads: 4 channels per quad, each quad sharing one QPLL and individual CPLLs
Transceiver Family Comparison
| Type | Max Line Rate | Typical Use | Device Family |
|---|---|---|---|
| GTP | 6.25 Gbps | USB 3.0, PCIe Gen2, SATA | Artix-7 (some SKUs) |
| GTX | 12.5 Gbps | PCIe Gen3, 10GbE, Aurora | Kintex-7, Virtex-7 |
| GTH | 16.375 Gbps | 40GbE, OTN, backplane | Virtex-7, Zynq UltraScale+ |
| GTY | 32.75 Gbps | 100GbE, CFP | UltraScale+ |
| GTM | 58 Gbps | 400GbE, PAM-4 | Versal |
Serial Link Architecture
Each transceiver channel is full-duplex with completely independent TX and RX paths. The TX serializes parallel data from the FPGA fabric and drives a differential output; the RX receives the incoming differential signal and recovers both clock and data before deserializing back to parallel:
Clock Recovery — CDR (Clock and Data Recovery)
The receiver has no separate clock input from the transmitter. Instead, it uses a CDR (Clock and Data Recovery) circuit to extract the transmitter's clock from the transitions in the received data stream:
- The CDR PLL locks its phase and frequency to detected data transitions
- Lock time: typically 1–10 ms depending on data pattern and PLL bandwidth
- RXCDRLOCK status bit — the design must check this bit before trusting recovered data
- 8b/10b encoding guarantees sufficient transitions for CDR lock; raw binary data without coding can cause CDR loss-of-lock
PLLs in Transceivers: QPLL and CPLL
Each GTX quad contains two types of PLL for generating the high-rate serial clocks:
- QPLL (Quad PLL): one per quad, shared across all 4 channels — used for high line rates (>6.6 Gbps). Lower jitter than CPLL at high rates.
- CPLL (Channel PLL): one per channel — used for lower rates, allows each channel to run independently at a different rate
- PCIe Gen3 (8 Gbps): use QPLL — all lanes share the same reference clock and PLL
- Aurora at 3.125 Gbps: CPLL is adequate and allows mixed-rate quads
Equalization and Pre-emphasis
Long PCB traces, connectors, and cables attenuate high-frequency content, causing inter-symbol interference (ISI) that closes the received eye diagram. Transceivers compensate using:
- TX Pre-emphasis: the transmitter intentionally boosts high-frequency content before driving the line. Configured via TXPRECURSOR, TXMAIN, TXPOSTCURSOR registers (each in 1/64 units of total voltage swing)
- RX Linear Equalizer (LPM): a linear filter that boosts high frequencies at the receiver — suitable for short to medium channels (<10 dB loss)
- RX DFE (Decision Feedback Equalizer): an adaptive equalizer that uses past symbol decisions to cancel ISI — required for channels with >10 dB insertion loss
| Equalization Mode | Best For | Power |
|---|---|---|
| LPM (Linear) | Short channels, FR4 PCB traces <15cm | Low |
| DFE (Adaptive) | Long channels, backplanes, cables | Higher |
8b/10b and 64b/66b Encoding
Serial links require sufficient signal transitions for CDR lock and DC balance. Xilinx transceivers support two encoding schemes natively in hardware:
| Encoding | Data bits → Line bits | Bandwidth overhead | Used in |
|---|---|---|---|
| 8b/10b | 8 → 10 | 20% overhead | PCIe Gen1/2, SATA, Aurora, JESD204B |
| 64b/66b | 64 → 66 | 3.1% overhead | PCIe Gen3, 10GbE, 40GbE, 100GbE |
8b/10b replaces each 8-bit data byte with a 10-bit code word chosen to guarantee at least 3 transitions per 10 bits and DC balance (equal 1s and 0s). The 20% bandwidth penalty is the price of this guarantee.
Protocol Reference
| Protocol | Line Rate | Encoding | Typical GTX Config |
|---|---|---|---|
| PCIe Gen1 | 2.5 Gbps/lane | 8b/10b | CPLL or QPLL, x1/x4/x8 lanes |
| PCIe Gen2 | 5.0 Gbps/lane | 8b/10b | QPLL preferred |
| PCIe Gen3 | 8.0 Gbps/lane | 64b/66b | QPLL required |
| 10GbE (XFI) | 10.3125 Gbps | 64b/66b | GTX QPLL, 1 lane |
| Aurora 8b/10b | 3.125 Gbps/lane | 8b/10b | CPLL, 1–4 lanes |
| JESD204B | 3.072–12.5 Gbps | 8b/10b | QPLL for >6.6G |
Xilinx Transceiver Wizard IP
Manually configuring a GTX requires setting over 100 attributes correctly. Xilinx provides the Transceiver Wizard IP to automate this entirely:
- Open Vivado IP Catalog → Transceiver Wizard (7 Series)
- Select transceiver type (GTX, GTH, GTP), line rate, reference clock frequency, and protocol
- The wizard calculates all QPLL/CPLL M/N divider values and sets all GTX attributes
- Output: complete Verilog wrapper, simulation model, XDC constraints with REFCLK pin assignments
- Includes an example design with a self-test loopback mode for hardware bring-up
Eye Diagram and Signal Quality
An eye diagram is the primary tool for evaluating received signal quality at multi-gigabit rates. It overlays many successive bit periods to show the statistical distribution of voltage and timing:
- Open eye: wide vertical opening → good signal integrity, low BER
- Closed eye: traces collapse to the center → excessive ISI, reflections, or noise → bit errors
- Measured using Vivado IBERT (Integrated Bit Error Ratio Tester) — a debug core inserted into the design that sweeps voltage/time margins and plots a bathtub curve
- IBERT communicates via JTAG while the transceiver operates at full line rate
A: CDR (Clock and Data Recovery) extracts the transmitter's clock from the received data stream. Since the receiver has no separate clock input from the transmitter, CDR uses a PLL that locks onto data transitions to reconstruct the correct sampling clock. Without CDR, the receiver cannot sample the incoming data reliably.
Knowledge Check
Q1. How many channels are in one GTX quad?
- A 2
- B 3
- C 4
- D 8
Q2. What does CDR stand for?
- A Channel Data Rate
- B Clock and Data Recovery
- C Calibrated Delay Reference
- D Continuous Data Routing
Q3. Which GTX PLL is shared across all 4 channels in a quad?
- A CPLL (Channel PLL)
- B QPLL (Quad PLL)
- C MMCM
- D PLL_ADV
Q4. PCIe Gen3 uses which encoding scheme?
- A 8b/10b
- B 64b/66b
- C NRZ with no encoding
- D 128b/132b
Q5. What Xilinx debug core measures bit error rate on transceivers at full line rate?
- A ILA (Integrated Logic Analyzer)
- B VIO (Virtual IO)
- C IBERT (Integrated Bit Error Ratio Tester)
- D ChipScope Pro AURORA
Q6. GTX reference clocks must come from which source?
- A Any BUFG-driven clock in the design
- B MMCM output divided to the required frequency
- C Dedicated REFCLK pins (MGTREFCLK0 / MGTREFCLK1)
- D Any general IO pin with LVDS standard
Practical Exercise
Use the Vivado Transceiver Wizard (IP Catalog → 7 Series FPGAs Transceivers Wizard) to generate a GTX configuration with the following requirements:
- Protocol: Aurora 8b/10b
- Number of lanes: 4 (full quad)
- Line rate per lane: 3.125 Gbps
- Reference clock: 156.25 MHz (from MGTREFCLK0)
- Encoding: 8b/10b (hardware)
After generation, note:
- Which PLL was selected — CPLL or QPLL? What are the M and N divider values?
- What is the TXOUTCLK frequency delivered to the FPGA fabric?
- What are the recommended TXPRECURSOR and TXPOSTCURSOR pre-emphasis values?
Open the generated example design and review the top-level port list. Identify the REFCLK, TXP/TXN, RXP/RXN, and GTXRESET ports. Simulate the example design using the provided simulation model to observe TXOUTCLK and RXRECCLKOUT timing.