在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3346|回复: 14

[求助] CRC校验原理

[复制链接]
发表于 2015-12-10 16:35:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在CRC5校验中,并行数据。



  1. module usbf_crc5(crc_in, din, crc_out);
  2. input [4:0] crc_in;
  3. input [10:0] din;
  4. output [4:0] crc_out;

  5. assign crc_out[0] = din[10] ^ din[9] ^ din[6] ^ din[5] ^ din[3] ^
  6. din[0] ^ crc_in[0] ^ crc_in[3] ^ crc_in[4];

  7. assign crc_out[1] = din[10] ^ din[7] ^ din[6] ^ din[4] ^ din[1] ^
  8. crc_in[0] ^ crc_in[1] ^ crc_in[4];

  9. assign crc_out[2] = din[10] ^ din[9] ^ din[8] ^ din[7] ^ din[6] ^
  10. din[3] ^ din[2] ^ din[0] ^ crc_in[0] ^ crc_in[1] ^
  11. crc_in[2] ^ crc_in[3] ^ crc_in[4];

  12. assign crc_out[3] = din[10] ^ din[9] ^ din[8] ^ din[7] ^ din[4] ^ din[3] ^
  13. din[1] ^ crc_in[1] ^ crc_in[2] ^ crc_in[3] ^ crc_in[4];

  14. assign crc_out[4] = din[10] ^ din[9] ^ din[8] ^ din[5] ^ din[4] ^ din[2] ^
  15. crc_in[2] ^ crc_in[3] ^ crc_in[4];

  16. endmodule


复制代码


这里面的关系是怎么推导出来的啊?有没有相关的文章,我感觉像是通过并行矩阵分析得到的。求指点
 楼主| 发表于 2015-12-11 10:27:11 | 显示全部楼层
回复 1# mokang0421


   别沉了。。。。。。
发表于 2015-12-13 21:28:11 | 显示全部楼层
去CNKi里找相关论文吧。首先,CRC校验可以由线性反馈移位寄存器实现,也就是串行的方式,一个时刻处理一个数据,从第一位开始迭代,一直迭代到最后一位,得到并行的公式。
发表于 2015-12-14 14:40:29 | 显示全部楼层
网上资料很多,但读起来感觉模糊,因为都没有明确说明一点:并行的关键是你要知道当前抑或的因子是0,还是多项式的移位。这个你可以推导出来,最后只要把这n个数抑或就好了
发表于 2015-12-14 16:36:34 | 显示全部楼层
参考这篇文献.

Fcnki_CRC校验在USB控制器设计中的实现_徐海英.pdf

139.02 KB, 下载次数: 60 , 下载积分: 资产 -2 信元, 下载支出 2 信元

参考这篇文献

发表于 2016-2-29 17:53:52 | 显示全部楼层
这个是根据CRC算法推出来的
发表于 2016-3-1 17:15:07 | 显示全部楼层
kankan
发表于 2017-4-8 15:32:45 | 显示全部楼层
谢谢分享
发表于 2017-4-16 21:47:14 | 显示全部楼层
帮顶一下
发表于 2017-4-26 21:24:03 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 23:54 , Processed in 0.030798 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表