以太网帧需要对数据进行CRC校验,原理部分参考以下文章:
https://blog.51cto.com/winda/1063951
https://www.cnblogs.com/masonzhang/p/10261855.html
以太网帧需要进行CRC32校验,FPGA开发一般使用的是CRC32_d4.v这个代码进行校验和的计算,输入数据是4比特,初始值是32’hffffffff,代码是组合逻辑实现的,片段如下:
后来发现一个网站,可以根据需要来生成CRC校验相关的verilog代码,https://www.easics.com/crctool/
为了理解上述代码是如何得到的,以CRC8ATM HEC来说明
CRC8 ATM HEC多项式为: