E-Tile Transceiver PHY User Guide

ID 683723
Date 4/01/2024
Public
Document Table of Contents

8.11. Configuring a PMA Parameter Tunable by the Adaptive Engine

This section provides details on how you can set a PMA parameter to a fixed value, making it no longer adaptable. Most of the PMA parameters by default are tuned by the RX adaptation engine modes. However, they can be manually configured by assigning values to them; if you assign a value to a PMA parameter, it can no longer be updated by the adaptation engine.
Figure 113. Example Use Case to Configure PMA Parameters
  1. Configure the GS1 PMA parameter to 0x01.

Select the PMA parameter by setting the PMA attribute code 0x2C to PMA attribute value 0x904.

  1. Write 0x84[7:0] = 0x04.
  2. Write 0x85[7:0] = 0x09.
  3. Write 0x86[7:0] = 0x2C.
  4. Write 0x87[7:0] = 0x00.
  5. Write 0x90[0] = 1'b1.
  6. Read 0x8A[7]. It should be 1.
  7. Read 0x8B[0], until it changes to 0.
  8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.

Write a value to the PMA parameter by setting the PMA attribute code 0x6C to PMA attribute value 0x01.

  1. Write 0x84[7:0] = 0x01.
  2. Write 0x85[7:0] = 0x00.
  3. Write 0x86[7:0] = 0x6C.
  4. Write 0x87[7:0] = 0x00.
  5. Write 0x90[0] = 1'b1.
  6. Read 0x8A[7]. It should be 1.
  7. Read 0x8B[0], until it changes to 0.
  8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.

Load the value to the PMA parameter by setting the PMA attribute code 0xEC to PMA attribute value 0x15.

  1. Write 0x84[7:0] = 0x15.
  2. Write 0x85[7:0] = 0x00.
  3. Write 0x86[7:0] = 0xEC.
  4. Write 0x87[7:0] = 0x00.
  5. Write 0x90[0] = 1'b1.
  6. Read 0x8A[7]. It should be 1.
  7. Read 0x8B[0], until it changes to 0.
  8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.

Set the PMA parameter so that it is not overwritten by the adaptive tuning engine by configuring the PMA attribute code 0x2C to attribute value 0x108 and PMA attribute code 0x6C to attribute value 0x20.

  1. Write 0x84[7:0] = 0x08.
  2. Write 0x85[7:0] = 0x01.
  3. Write 0x86[7:0] = 0x2C.
  4. Write 0x87[7:0] = 0x00.
  5. Write 0x90[0] = 1'b1.
  6. Read 0x8A[7]. It should be 1.
  7. Read 0x8B[0], until it changes to 0.
  8. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.
  9. Write 0x84[7:0] = 0x20.
  10. Write 0x85[7:0] = 0x00.
  11. Write 0x86[7:0] = 0x6c.
  12. Write 0x87[7:0] = 0x00.
  13. Write 0x90[0] = 1'b1.
  14. Read 0x8A[7]. It should be 1.
  15. Read 0x8B[0], until it changes to 0.
  16. Write 0x8A[7] to 1 to clear the 0x8A[7] flag.

    Refer to the Register Map for more details.