原创 基于FPGA的并行CRC的研究

2008-2-25 20:41 5206 8 10 分类: FPGA/CPLD

  相信在的系统中CRC校验已经是个司空见惯的设计。


本文总结了CRC的常规设计思路,并提供给各位同僚一个绝佳的并行CRC在线生成的工具。方便生成任意的CRC校验的Verilog 和VHDL源代码。http://www.easics.com/webtools/crctool


在这里CRC的原理就不再赘述了。不同于软件上的CRC校验,软件上一般采用查表的方法来进行CRC的校验。硬件上当然可以采用查表的方法来实现CRC的校验,缺点有两个:1占用大量的逻辑资源,2速度没有办法保障。


基于硬件的串行CRC,占用较少的资源即可实现最基本的CRC校验,基本的表达式为  移位和反馈:CRC[N-2:0] <= CRC[N-1:1];  CRC[N] <= f(x)*CRC;其中f(x)为本原多项式。跟M序列的发生逻辑很类似,是一个线形的系统。数据由高位向地位 逐级进入该线形系统,CRC为最低位数据进入系统后的CRC表达式的输出值。由此可以知道,生成一个CRC32_D32的数据需要32个时钟周期。在应用层面上来讲是不能忍受的。


于是下面我们引出并行的CRC校验的逻辑。根据串行的基本表达式 我们联立求解,我们知道他是一个的N*N的一个线形方程,很容易求解得到CRC当前值与上次迭代值的表达式:(表达式不好编辑--见源代码)。由表达式可以很容易实现但周期并行的CRC校验。前面提到了一个在线的并行CRC校验的小工具。目前的工程上应用,很大一部分代来自这个在线的小工具。只要设定一定的参数,就可以生成想要的代码。--未完待续//08-02-25

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户377235 2014-1-6 16:49

代码呢???

用户135223 2008-9-19 11:33

NUAA?? ding ding

用户952678 2008-5-2 10:59

同道中人。这个代码我自己也实现过,其实就是模拟运算过程,求一下迭代关系,再化简一下,有点类似多项式运算。。。

Cybershu 2008-3-22 11:03

楼主继续更新啊,期待中~~~~~~~~~~~ 是呀,原创的好,比那些沽名钓誉的那破资料骗人的好
相关推荐阅读
用户1113192 2011-02-09 17:26
2011 新的一年 共同进步
空间荒废了一年了,今天打开了 呵呵  还在。 真是对不起各位大侠了。有需求发我邮箱吧。wwh_nuaa@163.com.   明天开始上班了。祝大家心情愉快。大展宏图。...
用户1113192 2009-05-27 15:05
高级加密标准(AES)算法
高级加密标准(AES)算法...
用户1113192 2009-05-27 14:59
分组对称加密模式:ECB/CBC/CFB/OFB缺CTR- -
分组对称加密模式:ECB/CBC/CFB/OFB缺CTR- -                                       【虎.无名】一般的加密通常都是块加密,如果要加密超过块大小的...
用户1113192 2009-05-27 14:57
基于AES算法的WLAN安全机制分析
基于AES算法的WLAN安全机制分析Performance Analysis of AES-Based WLAN Security刘永元,张联峰,刘乃安摘要:高级加密标准(AES)加密算法Rijnda...
用户1113192 2009-05-23 14:27
工作日志
 xilinx 11.1 update pdf ...
用户1113192 2009-05-18 08:33
图文并茂VLAN全接触
https://static.assets-stash.eet-china.com/album/old-resources/2009/5/18/3f8b27e9-5417-46f5-897f-dc13...
EE直播间
更多
我要评论
4
8
关闭 站长推荐上一条 /3 下一条