基于FPGA全参数化CRC的推导及实现
2015-07-09阚佳冲等
现代电子技术 2015年8期
阚佳冲等



摘 要: 提出一种新型的全参数化CRC算法。详细地介绍全参数化CRC的算法原理,并给出算法公式的推理过程及结果,通过Verilog语言设计实现,给出了基于FPGA平台的仿真波形图,并成功应用于工程项目当中,最后详细分析了全参数化CRC算法在实现过程中的优势。这里提出的全参数化CRC算法,可以通过参数化配置,实现CRC?4、CRC?8、CRC?12等任何CRC?X的运算,亦可以实现任何数据位宽(数据位宽小于等于CRC校验码位宽)、任意生成多项式的CRC运算。
关键词: 全参数化; CRC算法; Verilog; FPGA; 以太网
中图分类号: TN919?34 文献标识码: A 文章编号: 1004?373X(2015)08?0154?05
0 引 言
在现行的数字通信系统中要进行稳定可靠并且快速的通信,同时又要保证数据在传输过程的准确性,这就需要对通信过程添加差错控制机制[1]。
循环冗余校验码(Cyclic Redundancy Check,CRC)是数据通信领域中比较常应用到的一种差错校验码,它的明显特征就是整个数据包文的信息位和校验码位的位宽可以任意改变。但是现行的CRC校验技术都是针对某一特定领域,或者指定生成多项式,校验码位宽等,具有很大的约束性。如果进行不同CRC校验时就需要重新设计模块,浪费时间精力的同时,多个校验模块又浪费了宝贵的FPGA逻辑资源,同时传统串行CRC算法效率低,很难满足视频信号实时处理的要求[2]。本文即以这个问题为突破口,设计出一个可以在各个领域通用的CRC校验机制。本设计在传统CRC的FPGA串行编码[3]的基础上,通过分析、整理、归纳最终得到适用于不同领域,不同校验码位宽,不同数……
登录APP查看全文
