GTS Transceiver PHY User Guide: Agilex™ 3 FPGAs and SoCs
ID
848344
Date
8/04/2025
Public
1. GTS Transceiver Overview
2. GTS Transceiver Architecture
3. Implementing the GTS PMA/FEC Direct PHY IP
4. Implementing the GTS System PLL Clocks IP
5. Implementing the GTS Reset Sequencer IP
6. GTS PMA/FEC Direct PHY IP Example Design
7. Design Assistance Tools
8. Debugging GTS Transceiver Links with Transceiver Toolkit
9. Document Revision History for the GTS Transceiver PHY User Guide: Agilex™ 3 FPGAs and SoCs
3.1. IP Overview
3.2. Designing with the GTS PMA/FEC Direct PHY IP
3.3. Configuring the GTS PMA/FEC Direct PHY IP
3.4. Dynamically Reconfigurable PHY
3.5. Signal and Port Reference
3.6. Bit Mapping for PMA, FEC, and PCS Mode PHY TX and RX Datapath
3.7. Clocking
3.8. Custom Cadence Generation Ports and Logic
3.9. Asserting Reset
3.10. Bonding Implementation
3.11. Configuration Register
3.12. Configuring the GTS PMA/FEC Direct PHY IP for Hardware Testing
3.13. Configurable Quartus® Prime Software Settings
3.14. Hardware Configuration Using the Avalon® Memory-Mapped Interface
3.3.1. Preset IP Parameter Settings
3.3.2. Mode and Common Datapath Options
3.3.3. TX Datapath Options
3.3.4. RX Datapath Options
3.3.5. PMA Configuration Rules for Specific Protocol Mode Implementations
3.3.6. FEC Options
3.3.7. PCS Options
3.3.8. Avalon® Memory-Mapped Interface Options
3.3.9. Register Map IP-XACT Support
3.3.10. Analog Parameter Options
3.5.1. TX and RX Parallel and Serial Interface Signals
3.5.2. TX and RX Reference Clock and Clock Output Interface Signals
3.5.3. Reset Signals
3.5.4. FEC Signals
3.5.5. Custom Cadence Control and Status Signals
3.5.6. RX PMA Status Signals
3.5.7. TX and RX PMA and Core Interface FIFO Signals
3.5.8. Avalon Memory-Mapped Interface Signals
3.7.1. Clock Ports
3.7.2. Recommended tx/rx_coreclkin Connection and tx/rx_clkout2 Source
3.7.3. Port Widths and Recommended Connections for tx/rx_coreclkin, tx/rx_clkout, and tx/rx_clkout2
3.7.4. PMA Fractional Mode
3.7.5. Input Reference Clock Buffer Protection
3.7.6. Guidelines for Obtaining the Real-Time GTS TX PLL Lock Status
3.14.2.1. GTS Attribute Access Method Example 1: Enable or Disable Internal Serial Loopback Mode (RX Auto Adaptation Mode)
3.14.2.2. GTS Attribute Access Method Example 2: Enable or Disable Internal Serial Loopback Mode (RX Manual Adaptation Mode)
3.14.2.3. GTS Attribute Access Method Example 3: Enable or Disable Polarity Inversion of the PMA
3.14.2.4. GTS Attribute Access Method Example 4: Enable PRBS Generator and Checker to Run BER Test
6.1. Instantiating the GTS PMA/FEC Direct PHY IP
6.2. Generating the GTS PMA/FEC Direct PHY IP Example Design
6.3. GTS PMA/FEC Direct PHY IP Example Design Functional Description
6.4. Simulating the GTS PMA/FEC Direct PHY IP Example Design Testbench
6.5. Compiling the GTS PMA/FEC Direct PHY IP Example Design
6.6. GTS PMA/FEC Direct PHY IP Dynamically Reconfigurable PHY Example Design
6.7. Generating the GTS PMA/FEC Direct PHY IP Dynamically Reconfigurable Example Design
6.8. GTS PMA/FEC Direct PHY IP Dynamically Reconfigurable PHY Example Design Functional Description
6.9. Simulating the GTS PMA/FEC Direct PHY IP Dynamically Reconfigurable PHY Example Design Testbench
6.10. Compiling the GTS PMA/FEC Direct PHY IP Dynamically Reconfigurable PHY Example Design
8.3.1. Modifying the Design to Enable GTS Transceiver Debug Toolkit
8.3.2. Programming the Design into an Altera FPGA
8.3.3. Loading the Design to the Transceiver Toolkit
8.3.4. Creating Transceiver Links
8.3.5. Running BER Tests
8.3.6. Running Eye Viewer Tests
8.3.7. Running Link Optimization Tests
3.14.1.1. Direct Register Method Examples
The following examples demonstrate the direct register method to configure the GTS PMA.
TX Equalizer Co-efficients
To set the TX equalizer co-efficients:
- Write the TX equalizer pre_tap_2 register (0x9174C[29:27]) with valid value.
- Write the TX equalizer pre_tap_1 register (0x91750[9:5]) with valid value.
- Write the TX equalizer main_tap register (0x9174C[13:8]) with valid value.
- Write the TX equalizer post_tap_1 register (0x9174C[23:19]) with valid value.
Note: You can use the TX EQ Equalizer Tool to identify the most optimum value for the equalizer taps for your link.
Mute TX Output
To mute TX output (to configure TX output to 0 V):
- Set 0x91750[25:24] to 2’b11
- Set 0x91750[25:24] to 2’b00
TX to RX Parallel Loopback
To enable the TX to RX Parallel Loopback:
- Write 0x1 to 0x916A4[8]
- Write 0x0 to 0x916A4[8]
Reverse Parallel Loopback
To enable the Reverse Parallel Loopback:
To disable the Reverse Parallel Loopback:
- Wait for o_rx_ready assert
- Assert TX reset
- Wait for TX reset Ack
- Write 0x0 to 0x91830[31:0]
- Write 0x0 to 0x91768[24]
- Write 0x1 to 0x91414[29]
- Write 0x1 to 0x9141C[30]
- Write 0x1 to 0x91418[31]
- Deassert TX reset
- Wait for TX reset ACK deassert
- Assert TX reset
- Write 0x3 to 0x91830[31:0]
- Write 0x1 to 0x91768[24]
- Write 0x0 to 0x91414[29]
- Write 0x0 to 0x9141C[30]
- Write 0x0 to 0x91418[31]
- Deassert TX reset
- Wait for TX reset ACK deassert
Polarity Inversion
For TX polarity inversion:
- Assert TX reset.
- TX polarity inversion:
- Write 0x1 to 0x91428[7]
- TX polarity inversion revert back:
- Write 0x0 to 0x91428[7]
- Deassert TX reset.
For RX polarity inversion:
- Assert RX reset.
- RX polarity inversion:
- Write 0x1 to 0x91428[6]
- RX polarity inversion revert back:
- Write 0x0 to 0x91428[6]
- Deassert RX reset.
Measuring the Bit Error Rate (BER)
- Check that the RX link is ready for the desired lane:
- Read 0x814[31:16]27 to confirm that the corresponding lane's rx_cdr_locked2data = 1
- Assign the PRBS pattern value:
- For TX: Write valid values to 0x916AC[31:28]
- For RX: Write valid values to 0x91428[3:0]
- Valid values for PRBS pattern are:
- PRBS7: 0x1
- PRBS9: 0x2
- PRBS10: 0x3
- PRBS13: 0x4
- PRBS15: 0x5
- PRBS23: 0x6
- PRBS31: 0x8
- To start the BER test:
- Write 0x1 to 0x916AC[23]
- Write 0x1 to 0x91424[26]
- Write 0x3 to 0x9176C[28:27]
- Write 0x3 to 0x915B4[19:18]
- To inject one bit of error (repeat the following two steps multiple times to inject multiple bits of error):
- Write 0x1 to 0x916AC[22]
- Write 0x0 to 0x916AC[22]
- To get the error count, read from 0x91444[31:0]
- To check overflow, read 0x9143C[21]: 1 = overflow, 0 = no overflow
- To clear the counter, toggle 0x915B4[19:18]:
- Write 0x0 to 0x915B4[19:18]
- Write 0x3 to 0x915B4[19:18]
- To stop the BER test:
- Write 0x0 to 0x916AC[23]
- Write 0x0 to 0x91424[26]
- Write 0x0 to 0x9176C[28:27]
- Write 0x0 to 0x915B4[19:18]
The sequence is valid only when you are using RX manual tuning (RX adaptation mode set to manual mode). If you are using RX auto adaptation, use the GTS attribute access method.
27 Address 0x814 is part of the GTS PMA and FEC soft CSR register map.