本设计用VHDL实现串行CRC通用模块,根据需求更改多项式寄存器及位宽等数据(代码中以注释);开始标志输入单脉冲与待测数据同步,计算完成标志也为单脉冲与计算结果同步,默认最高支持100位宽CRC多项式(不用的高位用“0”填充,例如CRC多项式为X5 + X3 + 1,那么CRC多项式寄存器的低6位赋值应为“101001”,其他位为“0”),默认最高支持65535位宽待计算数据(一把不会比这个大了吧,还大就改一下代码内部的计算器位宽啥的就好,本代码默认给计数器位宽为32位);本人由于项目需求,本模块设计的时候默认同时对一组数据执行两个CRC多项式,对应的给出两个结果,正常使用使用其中一路即可。
1