XAUI v12.3 Product Guide
133
PG053 April 6, 2016
Appendix C:
Debugging Designs
What Can Cause a Local or Remote Fault?
Local Fault and Remote Fault codes both start with the sequence TXD/RXD=0x9C,
TXC/RXC=1 in XGMII lane 0. Fault conditions can also be detected by looking at the status
vector or MDIO registers. The Local Fault and Link Status are defined as latching error
indicators by the IEEE specification. This means that the Local Fault and Link Status bits in
the status vector or MDIO registers must be cleared with the Reset Local Fault bits and Link
Status bits in the Configuration vector or MDIO registers.
Local Fault
The receiver outputs a local fault when the receiver is not up and operational. This RX local
fault is also indicated in the status and MDIO registers. The most likely causes for an RX local
fault are:
• The transceiver has not locked or the receiver is being reset.
• At least one of the lanes is not synchronized –
debug[4:1]
• The lanes are not properly aligned –
debug[5]
Note:
The
debug[5:0]
signal is not latching.
A TX local fault is indicated in the status and MDIO registers when the transceiver
transmitter is in reset or has not yet completed any other initialization or synchronization
procedures needed.
Remote Fault
Remote faults are only generated in the MAC reconciliation layer in response to a Local Fault
message. When the receiver receives a remote fault, this means that the link partner is in a
local fault condition.
When the MAC reconciliation layer receives a remote fault, it silently drops any data being
transmitted and instead transmits IDLEs to help the link partner resolve its local fault
condition. When the MAC reconciliation layer receives a local fault, it silently drops any data
being transmitted and instead transmits a remote fault to inform the link partner that it is in
a fault condition. Be aware that the Xilinx 10GEMAC core has an option to disable remote
fault transmission.