CRC码的FPGA实现

本文附上CRC算法基本原理,方便后期学习查看。指出参考书籍《基于FPGA的嵌入式开发与应用》存在印刷错误,如G(x)二进制表示有误。还介绍了CRC16的FPGA实现,包括采用标准CRC - 16生成多项式的Verilog代码及modelsim仿真。

 

前言

本文暂时先附上CRC算法的基本原理,方便自己后期的学习查看。

本文参考《基于FPGA的嵌入式开发与应用》徐光辉,此书中含有较多的印刷错误。

 

CRC

下图4-7存在印刷错误。 

 

在下图中,G(x)的二进制bit串中多了一个0(印刷错误),十六进制表示是正确的。

正确表示为:G(x)=1_0001_0000_0010_0001(B)=11021(H).

 

CRC16的FPGA实现

1、Verilog代码

下面Verilog中采用的生成多项式是,上表4-2中标准的CRC码生成多项式CRC-16

2、modelsim仿真

 

 

 

>>点击此处返回导航页<<

 

参考文献

1、PushmentCRC校验算法的Verilog实现
2、徐光辉《基于FPGA的嵌入式开发与应用》
3、Payshent CRC校验算法
4、persistence_s CRC校验
5、ssl2009   闲话CRC32校验
6、xiaogugood 我学习CRC32、CRC16、CRC原理和算法的总结(与WINRAR结果一致)
7、请叫我小怪物 CRC _Generator _32_8
  
  

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值