CRC functionality is backward compatible for the line rates between 0.5
Gb/s and 16.375 Gb/s. For the line rates above 16.375 Gb/s, the CRC functionality is
modified on a per lane basis to meet the stringent timing requirements at higher line
rates. However, the user interface through crc_pass_fail_n
and crc_valid
signals
carry the same meaning as that of other line rates of less than 16.375 Gb/s. For
Aurora64b66b, CRC32 is calculated per lane on each of the valid bytes being transmitted.
This is for consumption of the Aurora IP alone, and it does not map to any higher layer
protocol requirements. In the Aurora Receiver logic, the CRC is checked and reported out
as pass or fail using crc_valid
and crc_pass_fail_n
signals. Below 16.375 Gb/s, the CRC data is
padded at the end of an axis data stream and is forwarded to the link in accordance with
Aurora64b66b data striping rules. In case the links are above 16.375 Gb/s, the CRC is
transmitted on the next cycle after data transmission is completed.