GTS Transceiver PHY User Guide: Agilex™ 3 FPGAs and SoCs

ID 848344
Date 8/04/2025
Public
Document Table of Contents

3.14.2.2. GTS Attribute Access Method Example 2: Enable or Disable Internal Serial Loopback Mode (RX Manual Adaptation Mode)

The following examples demonstrate the steps to enable and disable internal serial loopback for the GTS PMA lane 0 of a quad when RX auto adaptation mode is disabled.
In Quartus® Prime Pro Edition software version 25.1.1, before you enable or disable the internal serial loopback mode, you must store the original RX EQ parameters value (VGA gain, High frequency boost and DFE data tap 1) of the PMA lane(s). You can use the available GTS PMA scratch register to do this. Refer to the GTS PMA/FEC Direct PHY IP Register Map for GTS scratch register information.
After storing the original value, you must set the recommended RX EQ values before you enable the serial loopback mode. You can do this by performing a direct register write update to the GTS PMA RX EQ registers that are described in the GTS PMA/FEC Direct PHY IP Register Map. The recommended values are:
  • VGA gain=37
  • High frequency boost=0
  • DFE data tap 1 =0
You can restore the original RX EQ settings only after you disable the serial loopback mode.

To Enable Serial Loopback 28

  1. Assert TX and RX reset.
  2. Wait for TX and RX reset ACK.
  3. Write 0xF9A00F to address 0xA403C.
  4. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 1.
  5. Write 0xF9200F to address 0xA403C.
  6. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 0.
  7. Write 0x00A003 to address 0xA403C.
  8. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 1.
  9. Write 0x002003 to address 0xA403C.
  10. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 0.
  11. Write 0x06A040 to address 0xA403C.
  12. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 1.
  13. Write 0x062040 to address 0xA403C.
  14. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 0.
  15. Deassert TX and RX reset.
  16. Wait for TX and RX reset ACK deassertion.
  17. Wait until the RX channel is out of reset by checking 0xA00D8[20] = 1.
  18. Wait for RX status signal to assert high, by checking 0x97814[0] = 1.
  19. Write 0x0 to 0x919B4[28] to set up the serial loopback path.
  20. Write 0x1 to 0x9781C[1] to enable the serial loopback mode.
Once you have placed the channel in serial loopback mode, if you want to reset your channel, you have to perform the following steps:
  1. Assert the TX and RX reset.
  2. Wait for the TX and RX reset ACK.
  3. Write 0x0 to 0x9781C[1] to disable the serial loopback mode.
  4. Deassert the TX and RX reset.
  5. Wait for the TX and RX reset ACK deassertion.
  6. Wait until the RX channel is out of reset by checking 0xA00D8[20] = 1.
  7. Wait for RX status signal to assert high by checking 0x97814[0] = 1.
  8. Write 0x0 to 0x919B4[28] to set up the serial loopback path.
  9. Write 0x1 to 0x9781C[1] to enable the serial loopback mode.

You can then check the tx_ready, rx_ready, rx_is_lockedtoref, and rx_is_lockedtodata status signals to ensure that the link is in internal serial loopback mode.

To Disable Internal Serial Loopback

  1. Assert TX and RX reset.
  2. Wait for TX and RX reset ACK.
  3. Write 0xF9A00F to address 0xA403C.
  4. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 1.
  5. Write 0xF9200F to address 0xA403C.
  6. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 0.
  7. Write 0x00A003 to address 0xA403C.
  8. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 1.
  9. Write 0x002003 to address 0xA403C.
  10. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 0.
  11. Write 0x00A040 to address 0xA403C.
  12. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 1.
  13. Write 0x002040 to address 0xA403C.
  14. Poll address 0xA4040 until bit 14 = 0 and bit 15 = 0.
  15. Deassert TX and RX reset
  16. Wait for TX and RX reset ACK deassertion.
28 After the channel is placed in GTS PMA channel in internal serial loopback mode and if you need to reset your TX link, you must perform a reset on both the TX and RX PMA of the channel, instead of just a TX reset.