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

ID 683872
Date 8/04/2025
Public

A newer version of this document is available. Customers should click here to go to the newest version.

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]