F-Tile Architecture and PMA and FEC Direct PHY IP User Guide

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

A.4. FGT Internal Serial Loopback Sequence for RX Manual Tuning ( Quartus® Prime Pro Edition Software Versions from 25.1.1 Onwards)

You can use the following sequence to enable or disable internal serial loopback in Quartus® Prime Pro Edition software versions from 25.1.1 onwards:
Note: Refer to Appendix A.5. Transceiver Toolkit Helper Script for more details.
  1. Assert RX reset
  2. Wait for RX reset ACK
  3. If 0x40544[31] is 0x0:
    1. Read original High Frequency Boost value from 0x41BB8[24:19] and write it to scratch register, 0x40544[11:6]
    2. Read original VGA Gain from 0x41BB8[31:25] and write it to scratch register, 0x40544[18:12]
    3. Read original DFE Tap1 from 0x41BB0[11:6] and write it to scratch register, 0x40544[5:0]
    4. Write 0x1 to 0x40544[31]
  4. If 0x40544[21] is 0x0:
    1. Store 0x419B4[28] value to 0x40544[20]
    2. Write 0x1 to 0x45044[21]
  5. Write 0x1 to 0x4781C[1]
  6. If Serial Loopback enable:
    1. Write 0xF9A00F to address 0x9003C
    2. Poll address 0x90040 until bit 14 = 0 and bit 15 = 1
    3. Write 0xF9200F to address 0x9003C
    4. Poll address 0x90040 until bit 14 = 0 and bit 15 = 0
    5. Write 0xA003 to address 0x9003C
    6. Poll address 0x90040 until bit 14 = 0 and bit 15 = 1
    7. Write 0x2003 to address 0x9003C
    8. Poll address 0x90040 until bit 14 = 0 and bit 15 = 0
    9. Write 0x6A040 to address 0x9003C
    10. Poll address 0x90040 until bit 14 = 0 and bit 15 = 1
    11. Write 0x62040 to address 0x9003C
    12. Poll address 0x90040 until bit 14 = 0 and bit 15 = 0
    13. Set High Frequency Boost (0x41BB8[24:19]) to 0
    14. Set VGA Gain (0x41BB8[31:25]) to 37
    15. Set DFE Tap 1 (0x41BB0[11:6]) to 0
  7. If Serial Loopback disable:
    1. Write 0xF9A00F to address 0x9003C
    2. Poll address 0x90040 until bit 14 = 0 and bit 15 = 1
    3. Write 0xF9200F to address 0x9003C
    4. Poll address 0x90040 until bit 14 = 0 and bit 15 = 0
    5. Write 0xA003 to address 0x9003C
    6. Poll address 0x90040 until bit 14 = 0 and bit 15 = 1
    7. Write 0x2003 to address 0x9003C
    8. Poll address 0x90040 until bit 14 = 0 and bit 15 = 0
    9. Write 0xA040 to address 0x9003C
    10. Poll address 0x90040 until bit 14 = 0 and bit 15 = 1
    11. Write 0x2040 to address 0x9003C
    12. Poll address 0x90040 until bit 14 = 0 and bit 15 = 0
    13. If 0x40544[31] is 0x1:
      • Set High Frequency Boost (0x41BB8[24:19]) to values stored in scratch register, 0x40544[11:6]
      • Set VGA Gain (0x41BB8[31:25]) to values stored in scratch register, 0x40544[18:12]
      • Set DFE Tap 1 (0x41BB0[11:6]) to values stored in scratch register, 0x40544[5:0]
    14. Set 0x419B4[28] to the value read from 0x40544[20]
  8. Deassert RX Reset
  9. Wait for RX Reset ACK deassert
  10. Wait until 0x600D8[20] is 0x1
  11. Wait until 0x47814[0] is 0x1
  12. If Serial Loopback enable:
    1. Write 0x0 to 0x419B4[28]
    2. Write 0x1 to 0x4781C[1]