一. CRC校验的原理和理论知识网上有很多,各种推导公式各种算法,写的都比较详细,大家可以自行查阅。这里只记录一下用verilog实现各种crc的过程。
二.实现过程
1.首先,要确定crc的位宽和多项式。比如crc-8; 位宽:8bit ;多项式:x8+x2+x1+1(16进制表示07)
2.然后,根据以上确定的参数画出电路图。这里有个知识点叫LFSR,线性反馈移位寄存器(LFSR). 关于他的理论知识,大家可以查阅相关资料,这里只用他的电路图。通用的电路图如下:
(PS:第一幅图是网上的电路图,可能是我没理解,用这个图直接出verilog的话是不对的缺少了一个输入,所以我自己画了一张,理解起来比较容易)
网上电路图:

自己画的电路图:

其中g0~gn对应的是多项式的系数,如果是1,支路存在,如果是0支路不存在。比如多项式

本文介绍了CRC校验的原理,重点展示了如何使用Verilog实现CRC-8的串行和并行校验过程,包括确定参数、电路设计以及相关算法的编程实现。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



