We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 17629

LogiCORE Gigabit Ethernet MAC v3.0 - Core continues to transmit even after the fiber optic cable is removed from receiver


Keywords: COREGen, Gigabit, ethernet, MAC, TBI, PHY, auto, negotiation, 1000BASE-X, PCS, PMA, 0.12, 0.9, link, FIP3, FIP_3

Urgency: Standard

General Description:
A problem in the Gigabit Ethernet MAC v3.0 core, TBI or PHY versions, may cause a conflict with Auto-Negotiation. When the fiber optic cable is pulled out of the receiver, the transmitter continues to transmit data even though it should shut down after 10-20 ms. This problem occurs when Auto-Negotiation is initially disabled by writing to the PCS Control Register 0 (via the MDIO) with the following bits (this causes a conflict in the core):

bit 0.12 (set to 0 - Auto-Negotiation disable)
bit 0.9 (set to 1 - Auto-Negotiation restart)

Since the Auto-Negotiation Restart bit is self-clearing, it only clears after Auto-Negotiation is restarted. However, since Auto-Negotiation is also disabled, it never allows a restart and this causes the bit to remain set. This problem keeps the core in transition between the Auto-Negotiation states "AN_DISABLE_LINK_OK" and "AN_ENABLE", and prevents the link_timer from incrementing by holding it in reset. Since the link_timer is never incremented, "an_sync_status" does not follow "sync_status" 10-20 ms later and the core continues to transmit.


To ensure correct operation, the Gigabit Ethernet MAC v3.0 core has been updated. The Auto-Negotiation Restart request signal is not formed directly from the PCS Control Register bit 0.9; it is now effectively "ANDed" with PCS Control Register bit 0.12 (Auto-Negotiation Enable). Consequently, Auto-Negotiation Restart only takes effect when Auto-Negotiation is enabled. As a result, when Auto-Negotiation is disabled, the register now self clears to "0" immediately.

To obtain this fix, apply the patch found in the Release Notes for the Gigabit Ethernet MAC v3.0 core in (Xilinx Answer 17129).

Alternatively, you can avoid this problem by ensuring that bit 0.9 (Auto-Negotiation Restart) is always written to "0" whenever bit 0.12 is set to "0" (Auto-Negotiation = Disabled).
AR# 17629
Date Created 07/16/2003
Last Updated 08/31/2006
Status Archive
Type General Article