Equipment problems and channel noise can cause errors during Aurora 64B/66B channel operation. The 64B/66B encoding method allows the Aurora 64B/66B core to detect bit errors occur in the channel. The core reports these errors by asserting the soft_err signal on every cycle in which they are detected.
The core also monitors each high-speed
serial GTX and GTH transceiver for hardware errors such as buffer overflow and loss
of lock. Hardware errors are reported by asserting the hard_err
signal. Catastrophic hardware errors can also manifest
themselves as a burst of soft errors. The Block Sync algorithm described in the
Aurora 64B/66B Protocol Specification (SP011) determines whether to treat a
burst of soft errors as a hard error.
Whenever a hard error is detected, the core automatically resets itself and attempts to re-initialize. In most cases, this permits re-establishing the Aurora 64B/66B channel when the hardware issue causing the hard error is resolved. Soft errors do not lead to a reset unless certain occurrences in a short period of time to trigger the block sync state machine. The following table describes the core error signals.
Signal | Description | TX | RX |
---|---|---|---|
hard_err | TX Overflow/Underflow : An overflow or underflow condition exists in the TX data elastic buffer. This condition can occur when the user clock and the reference clock sources are not operating at the same frequency. | X | |
RX Overflow/Underflow : An overflow or underflow condition exists in the RX data clock correction and channel bonding FIFO. This condition can occur when the clock source frequencies for the two channel partners are not within ±100 ppm. | X | ||
soft_err | Soft Errors : Too many soft errors occurred within a short period of time. The alignment block sync state machine automatically attempts to realign if too many invalid sync headers are detected. Soft errors are not transformed into hard errors. | X | |
Invalid SYNC Header : The 2-bit header on the 64-bit block was not a valid control or data header. | X | ||
Invalid BTF : The block type field (BTF) of a received control block contained an unrecognized value. This condition usually results from a bit error. | X |