E-Tile Transceiver PHY User Guide

ID 683723
Date 7/08/2024
Public
Document Table of Contents

8.4. PMA Receiver Equalization Adaptation Usage Model

The PMA receiver adaptive equalization engine allows the equalization blocks to adapt to an optimal value. These optimal values can be read back.

Adaptive equalization includes the following modes:

  • Initial adaptation
  • Continuous adaptation

The PMA attribute programming steps are as follows. Refer to the register map to configure the PMA receiver adaptive equalization modes.

Figure 112. Equalizer Bits

Initial Adaptation

The procedure is as follows:

  1. Configure PMA attribute code 0x01 as following to enable transmitter and receiver:
    1. Write 0x84[7:0] = 0x07.
    2. Write 0x85[7:0] = 0x00.
    3. Write 0x86[7:0] = 0x01.
    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'b1 to clear the 0x8A[7] value.
  2. Configure PMA attribute code 0x0A as following to enable initial adaptation:
    1. Write 0x84[7:0] = 0x01.
    2. Write 0x85[7:0] = 0x00.
    3. Write 0x86[7:0] = 0x0A.
    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'b1 to clear the 0x8A[7] value.
  3. Read the initial adaptation equalization status:
    1. Write 0x84[7:0] = 0x00.
    2. Write 0x85[7:0] = 0x0B.
    3. Write 0x86[7:0] = 0x26.
    4. Write 0x87[7:0] = 0x01.
    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'b1 to clear the 0x8A[7] value.
    9. Read 0x88[0].
  4. Repeat step 3 until 0x88[0] goes from 1 to 0.

Continuous Adaptation

  1. Configure PMA attribute code 0x0A as following to enable continuous adaptation:
    1. Write 0x84[7:0] = 0x06.
    2. Write 0x85[7:0] = 0x00.
    3. Write 0x86[7:0] = 0x0A.
    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'b1 to clear the 0x8A[7] value.
Note: You can stop continuous adaptation. Refer to Receiver Tuning Controls for more information.