1000BASE-X Standard - 2.6 English

1G/10G/25G Switching Ethernet Subsystem Product Guide (PG292)

Document ID
Release Date
2.6 English

IEEE 802.3 Clause 37 describes the 1000BASE-X Auto-Negotiation function that allows a device to advertise the modes of operation that it supports to a device at the remote end of a link segment (the link partner) and to detect corresponding operational modes that the link partner advertises. The following figure shows the operation of 1000BASE-X Auto-Negotiation.

Figure 1. 1000BASE-X Auto-Negotiation Overview

The following describes typical operation when Auto-Negotiation is enabled.

  1. Auto-Negotiation starts automatically when any of the following conditions are met:
    • Power-up/reset.
    • Upon loss of synchronization.
    • The link partner initiates Auto-Negotiation.
    • An Auto-Negotiation restart is requested (see Register 0: Control Register).
  2. During Auto-Negotiation, the contents of the Auto-Negotiation Advertisement register are transferred to the link partner.

    This register is writable through AXI4-Lite, therefore enabling software control of the systems advertised abilities. See Register 4: Auto-Negotiation Advertisement for more information.

    Information provided in this register includes:

    • Fault Condition signaling
    • Duplex Mode
    • Flow Control capabilities for the attached Ethernet MAC
  3. The advertised abilities of the Link Partner are simultaneously transferred into the Auto-Negotiation Link Partner Ability Base register.

    This register contains the same information as in the Auto-Negotiation Advertisement register. See Register 5: Auto-Negotiation Link Partner Base for more information. Remote Fault and pause status bits of this register are also provided in status_vector.

  4. Under normal conditions, this completes the Auto-Negotiation information exchange. It is now the responsibility of system management (for example, software running on an embedded PowerPC or MicroBlaze processor) to complete the cycle. The results of the Auto-Negotiation should be read from the Auto-Negotiation Link Partner Ability Base register or by reading the remote_fault and pause status bits of status_vector if the AXI4-Lite interface is not present.

    There are two methods that a host processor uses to learn of the completion of an Auto-Negotiation cycle:

    • Polling the Auto-Negotiation completion bit 1.5 in the Status register (Register 1).
    • Using the Auto-Negotiation interrupt port of the core (see Using the Auto-Negotiation Interrupt).