CRC多项式注意事项和Verilog代码生成
前言
CRC多项式广泛用在通信测试过程中,主要能够快速并且有效的检测数据是否出错,但我在PCIe通信的实际测试中,接近2TB的伪随机数(M序列),在无任何数据保护的措施,也无丢失和错误,说明PCIe通信还是比较可靠。但是为了更好的说明传输的数据的完整性,故想增加CRC校验的方式,出错的TLP包并不重传,仅记录。
CRC如何计算
在网上有许多CRC计算的内容,这一块就不赘述了,但是在看明白计算后还是会发现和实际应用依然有一些不同,这是需要注意的地方
- CRC的多项式的16进制如何表达?
比如USB 协议 CRC-5 多项式是 x 5 + x 2 + 1 x^5+x^2+1 x5+