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 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.