E-Tile Transceiver PHY User Guide

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

3.1.4. Duplex Adaptation Flow

The following table lists the steps to perform duplex adaptation.
Step Function Commands / Addresses Notes
1. If independent TX and RX reset is disabled, assert then deassert the reset signal. Otherwise, assert then deassert the tx_reset and rx_reset signals. Port.
2. Clear the register that indicates PMA attribute has been sent to the PMA.
  • Read-modify-write 0x8A[7] = 1.
Direct Avalon® memory-mapped write. Asserted on power-up and must be cleared before first use.
3. Trigger PMA Analog Reset 21.
  • 0x202, 0x201, 0x200 = 0x00.
  • 0x203 = 0x81.
  • Poll 0x207 until = 0x80.
Opcode.
4 Wait 100ms
5. Enable PMA calibration and re-load the initial PMA settings selected in Native PHY IP GUI21.
  • Read-modify-write 0x95[5] = 1.
  • Read-modify-write 0x91[0] = 1.
Direct Avalon® memory-mapped write.
6. Set loopback and PRBS mode using Opcode.
  • Set TX and RX to PRBS31.
  • Enable Hard PRBS generator.
  • Enable internal serial loopback.
Or use PMA attribute codes 22.
  • Set TX PRBS31 and turn on generator.
  • Set RX PRBS31
  • Enable internal serial loopback.

Wait 70ms before polling 0x207.

Use Opcode to SET_OPERATION_MODE:
  • 0x200 = 0x0D.
  • 0x201 = 0x00.
  • 0x202 = 0x00.
  • 0x203 = 0x93.
  • wait 70ms.
  • Poll 0x207 until = 0x80.
Or use PMA attribute codes:
  • Attribute = 0x0002, data = 0x0125.
  • Attribute = 0x0002, data = 0x0235.
  • Attribute = 0x0008, data = 0x0101.
Opcode or PMA attribute codes.
7. Set initial adaptation effort level. Use PMA attribute code:
  • Attribute = 0x002C, data = 0x0118.
  • Attribute = 0x006C, data = 0x0001.
PMA attribute code.

Data = 0x00 is low, 0x10 is medium, 0x01 is full effort.

8. If using a stored PMA configuration, choose the PMA configuration. If not, skip this step.
  • Write 0x40143 = 0x80 (profile 0).
  • Read 0x40144[0] until = 1.
Direct Avalon® memory-mapped write.

Stored PMA Configuration is only accessed from channel 0.

0x80 = configuration 0, 0x81 = configuration 1 and so on.
9. If using a stored PMA configuration, load the configuration into the transceiver channel. If not, skip this step. Use Opcode to LOAD_PMA_CONFIGURATION:
  • 0x200 = 0x00.
  • 0x201 = 0x00.
  • 0x202 = 0x00.
  • 0x203 = 0x94.
  • Poll 0x207 until = 0x80.
Opcode.

0x200[0] = 0, load configuration for initial adaptation.

10. Perform initial adaptation. Use PMA attribute code:
  • Attribute = 0xA, data = 0x1.
PMA attribute code.
11. Verify that the initial adaptation status is complete.
  • Attribute = 0x0126, data = 0x0B00.
  • Repeat this step until 0x88[0] = 0, to confirm that adaptation is no longer in process.
PMA attribute code.
12. Move to Mission/User Mode when external traffic is available 23:
  • Disable internal serial loopback22.
  • Disable TX Hard PRBS generator.
Or use PMA attributes codes:
  • Disable internal serial loopback.
  • Disable TX Hard PRBS generator.

Wait 70ms before polling 0x207.

Use Opcode to SET_OPERATION_MODE:
  • 0x200 = 0x1E.
  • 0x201 = 0x00.
  • 0x202 = 0x00.
  • 0x203 = 0x93.
  • wait 70ms
  • Poll 0x207 until = 0x80.
Or use PMA attribute codes:
  • Attribute = 0x2, data = 0x3FF.
  • Attribute = 0x8, data = 0x100.
Opcode or PMA attribute codes. This disables TX Hard PRBS generator so data into RX must now have a different source.
13. Set initial adaptation effort level (if you want to change from last time it was set). Use PMA attribute code:
  • Attribute = 0x002C, data = 0x0118.
  • Attribute = 0x006C, data = 0x0001.
PMA attribute code. Data = 0x01 is full effort.
14. Perform initial adaptation 24. Use PMA attribute code:
  • Attribute = 0xA, data = 0x1.
PMA attribute code.
15. Verify that the initial adaptation status is complete using PMA attribute code.
  • Attribute = 0x0126, data = 0x0B00.
  • Repeat this step until 0x88[0] = 0, to confirm that adaptation is no longer in process.
PMA attribute code.
16. If using a stored PMA configuration, choose the PMA configuration. If not, skip this step.
  • Write 0x40143 = 0x80.
  • Read 0x40144[0] until = 1.
Direct Avalon® memory-mapped write.

Stored PMA Configuration is only accessed from channel 0.

0x80 = configuration 0, 0x81 = configuration 1 and so on.
17. If using a stored PMA configuration, load the configuration into the transceiver channel. If not, skip this step. Use Opcode to LOAD_PMA_CONFIGURATION:
  • 0x200 = 0x01.
  • 0x201 = 0x00.
  • 0x202 = 0x00.
  • 0x203 = 0x94.
  • Poll 0x207 until = 0x80.
Opcode.

0x200[0] = 1, load configuration for continuous adaptation.

18. Start continuous adaptation 24. Use PMA attribute code:
  • Attribute = 0xA, data = 0x6.
PMA attribute code.
Note: Hard PRBS checker is not valid while continuous adaptation is running.
19. If independent TX and RX reset is disabled, assert then deassert the reset signal. Otherwise, assert then deassert the tx_reset and rx_reset signals. Port.
20. Optional: Check the link status with rx_is_lockedtodata (clear the traffic checker, and verify that it is error free). Port.
21. Start transmitting and receiving data.
21 Refer to PMA Analog Reset.
22 For how to enable and disable internal serial loopback, refer to 0x0008: Internal Serial Loopback and Reverse Parallel Loopback Control.
24 For PMA attributes for adaptation, refer to 0x000A: Receiver Tuning Controls.