Problems with Auto-Negotiation - 17.0 English - PG047

1G/2.5G Ethernet PCS/PMA or SGMII LogiCORE IP Product Guide (PG047)

Document ID
PG047
Release Date
2025-12-19
Version
17.0 English
Determine whether auto-negotiation has completed successfully by doing one of the following.

If Auto-Negotiation is not completing:

  1. Ensure that auto-negotiation is enabled in both the core and in the link partner (the device or test equipment connected to the core). Auto-Negotiation cannot complete successfully unless both devices are configured to perform auto-negotiation.

    The auto-negotiation procedure requires that the auto-negotiation handshaking protocol between the core and its link partner, which lasts for several link timer periods, occur without a bit error. A detected bit error causes auto-negotiation to go back to the beginning and restart.

    Therefore, a link with an exceptionally high bit error rate might not be capable of completing auto-negotiation, or might lead to a long auto-negotiation period caused by the numerous auto-negotiation restarts. If this appears to be the case, try the next step and see Problems with a High Bit Error Rate.

  2. Try disabling auto-negotiation in both the core and the link partner and see if both devices report a valid link and are able to pass traffic. If they do, it proves that the core and link partner are otherwise configured correctly. If they do not pass traffic, see Problems in Obtaining a Link (Auto-Negotiation Disabled).

Following are some of the rare issues you might experience. The issue occurs during device startup (power on), where the ping does not pass and Ethernet does not link up. When this issue was reproduced, the following status was observed from status_vector[15:0]:

[0]: Link Status = 0

[7]: PHY Link Status (SGMII mode only) = '0' No Linkup

[1]: Link Synchronization = toggling '1' ⇔ '0'

[6]: RXNOTINTABLE = also toggling '1' ⇔ '0', indicating that the physical layer seems to be unstable.

  1. Auto-negotiation might fail if the Transceiver is not properly initialized.
  2. The auto-negotiation logic does not reset the Transceiver.
  3. If necessary, you can try asserting the reset + pma_reset of the IP to see if this resolves the issue.