Crc32 diagnostics checking, Interlaken status messaging for the receiver – Achronix Speedster22i Interlaken User Manual

Page 33

Advertising
background image

CRC32 Diagnostics Checking

Interlaken implements a CRC32 check for each lane of the interface in order for the user to

monitor the health of each lane. The IIPC has two signals for this function that are listed below.

All signals are synchronous with the rising-edge of clk.
stat_rx_crc32_valid[11:0]
When a bit of this bus is 1, it indicates two things:

1. The CRC32 in the most recently received Diagnostic Word on the corresponding lane

was valid, and

2. The corresponding lane is word boundary synchronized.

When this bit is a value of 0, it indicates that a CRC32 error was detected or the corresponding

lane is not word boundary synchronized.
stat_rx_crc32_err[11:0]
When a bit in this bus is 1, it indicates that after the corresponding lane was word boundary

synchronized, a CRC32 error was detected. This output is asserted for one clock period each time

a CRC32 error is detected.
Note: CRC32 errors do not affect word boundary synchronized. They are only reported as status

indicators. The user can keep a count of how many CRC32 errors were detected for each lane in

order to examine the health of each individual lane over a period of time.
Note: The checking of the Diagnostic Word does only checks the CRC32 and does not check

whether the unused bits of the Diagnostic Word, 57:34, are 0s as described in the Interlaken

Protocol Definition.

Interlaken Status Messaging for the Receiver

The Meta Frame Diagnostic words calculate a CRC32 over all the data within the Meta Frame in a

lane to help diagnose errors. The Interlaken protocol provides for optional status messaging

within these Diagnostic Words. This mechanism allows a Receiver to communicate, via the

adjacent Transmitter or an out-of-band flow control interface, the health of each (received) lane

and the overall health of the Receiver interface to the other device.
The results of received Diagnostic Words are described in the signals listed below. All signals are

synchronous with the rising-edge of clk.
stat_rx_diagword_intfstat[11:0]
Each bit of this bus reflects the value of bit[32], the interface health (Status Bit 0), in the most

recently received Diagnostic Word on the corresponding lane. The value of this bit should be

considered invalid and ignored if the corresponding bit in stat_rx_crc32_valid[11:0] is a value of

0.
stat_rx_diagword_lanestat[11:0]
Each bit of this bus reflects the value of bit[33], the lane health (Status Bit 1), in the most recently

received Diagnostic Word on the corresponding lane. The value of this bit should be considered

invalid and ignored if the corresponding bit in stat_rx_crc32_valid[11:0] is a value of 0.

UG032, May 15, 2014

33

Advertising