<数字小IP设计> 六、开发 CRC 校验核心功能(基于 Verilog 语言)
发布时间
阅读量:
阅读量
一,CRC介绍
CRC(Cycle Redundancy Check)是一种用于验证数据完整性的高效校验方式,具有较强的错误检测能力,同时具备较低的资源消耗,便于通过编码器和检测电路进行实现。
CRC算法源自模二除法运算,当前常见的校验类型包括CRC4、CRC5、CRC6、CRC7、CRC8、CRC16、CRC32以及CRC64等,其中较为常用的为CRC8、CRC16、CRC32和CRC64。
其余较为复杂的理论内容大多与算法本身密切相关,在实际硬件设计中可应用的部分相对有限。然而,是否有必要深入了解这些内容呢?答案是有一定必要性。在此建议有兴趣的读者可以前往知网查阅一些硕士或博士论文,其中通常会对CRC算法的发展历程及原理进行详尽阐述。
二,我们需要了解的基础知识
1, crc的多项式 。
crc8,crc16以及crc32通常指的是算法中所采用多项式的位数,例如crc8对应的多项式为0x07,转换为二进制形式则表示为x8+x3+x2+x+1,对应九位二进制数10000_0111。不过由于在实际应用中,这些多项式的最高位始终为1,因此我们通常省略该位,并以剩余部分作为表示方式。理论上,该多项式应写作0x107,但在实际操作中却以简化的形式表达为0x07。
当然,也有人会产生疑问:既然在电路设计中仍需处理最高位的运算过程,那么这种
全部评论 (0)
还没有任何评论哟~
