循环冗余校验

相关产品

Reference Design Logo循环冗余校验(CRC)是一种有效的技术,用于检测发送源和接收方之间数字数据传输中的错误。接收方器件计算接收到的数据的CRC。如果接收方器件计算得到的CRC与发送源器件计算得到的结果不同,那么接收到的数据有错误。这种技术广泛用于各种以太网传输和日常文件传输应用。它提供了快速简便的方法来确保数字通信系统中数据的完整性。CRC基于多项式操作,将每个接收到的消息当作一个二进制数。然后将接收到的消息除以一个固定值,也称为生成多项式,使用模2算法。CRC的特性由生成多项式的选择决定。选择生成多项式,从而在无需使用太多资源的情况下,最大限度地提高错误检测能力。常用标准的且经广泛测试的生成多项式有CRC-8、CRC- 16和CRC-CCIT。本参考设计介绍了使用莱迪思可编程器件来实现CRC生成器和校验器。该设计允许用户使用不同的生成多项式实现CRC。

特性

  • 参数化的数据宽度
  • 支持多项式阶次从CRC-1到CRC-64
  • 同时支持CRC生成器和CRC校验器
  • 输入数据字节移位,CRC输出字节移位
  • 允许补充输入数据字节和补充输出CRC字节

立即跳转到

框图

性能和大小

经测试的器件* 语言 性能 I/O引脚 设计大小 版本
MachXO22 Verilog, VHDL >50MHz 44 26 LUTs 1.0
MachXO3 Verilog, VHDL >50MHz 44 25 LUTs 1.0

1. 使用默认设置:INPUT_DATA_WIDTH=8; CRC_WIDTH=16; INPUT_DATA_TRANSPOSE=0; CRC_TRANSPOSE=0; INPUT_DATA_COMPLEMENT=0; CRC_COMPLEMENT=0; POLYNOMIAL=0x8005.
2. 性能和资源使用情况数据是通过使用指定器件和Lattice Diamond™ 1.2软件测得的。
3. 性能和资源使用情况数据是通过使用LCMXO640C-3T100C和Lattice Diamond 1.2软件测得的。

* 可能可以在其他器件中工作。

注:以上所示的性能和设计规模仅是估计。实际结果可能取决于所选择的参数,时序约束和所用的器件。若要了解更详细的情况,请查阅设计文件。除非另有说明,所有的代码和设计工作都是在PC平台上完成的。

文档

技术资源
标题 编号 版本 日期 格式 文件大小
Cyclic Redundancy Check Documentation
RD1105 1.0 4/15/2011 PDF 247.4 KB
Cyclic Redundancy Check Source Code
RD1105 1.0 4/15/2011 ZIP 175.5 KB
Like most websites, we use cookies and similar technologies to enhance your user experience. We also allow third parties to place cookies on our website. By continuing to use this website you consent to the use of cookies as described in our Cookie Policy.