crc10原理与实现.doc_第1页
crc10原理与实现.doc_第2页
crc10原理与实现.doc_第3页
crc10原理与实现.doc_第4页
crc10原理与实现.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CRC10原理与实现牋牋犆孛?请输入文档编号CRC10原理与实现修订记录日期修订版本描述作者目 录1CRC基本原理:41.1生成原理:4 1) 将待传输帧(定长比特串)看作一个多项式,将比特串41.2 模2多项式除法原理:42模块设计与实现:52.1结构:52.2接口信号(时序)描述62.3 串行算法:62.4并行设计63参考程序:83.1程序举例:83.2综合结果:8CRC10校验模块关键词:CRC CRC10 摘要:本文以CRC10为例,简要介绍了CRC的工作原理(多项式除法)、生成方法的,并介绍了一种简单高效的串行设计方法,以及由这种串行算法派生出的高速并行算法,并提供了Verilog 代码的程序范例,作为参考。缩略语清单: CRC (Cyclic Redundancy Check) 循环冗余校验,参考资料清单名称作者编号发布日期查阅地点或渠道数据通信与网络教程William A.Shay1999 ITU-T I.363.508/961 CRC基本原理: CRC是一种通过多项式除法检测错误的方法,是一种非常高效又可靠的检测帧错误的方法。1.1 生成原理:1) 将待传输帧(定长比特串)看作一个多项式,将比特串bn-1 bn-2 bn-3 b4 b3 b2 b1 b0 解释成多项式: 比如:我们要传输比特串10010101110,将其解释成3) 将待测比特串尾部追加几个0,0的个数与G(x)的最高次项次数相同,产生一 个多项式,定义为B(x),将B(x)除以G(x),求出余式R(x)。4) 定义T(x)=B(x)-R(x),则T(x)/G(x)余数为0,而我们将上面追加0的位置用 R(x)对应的比特串来代替,而T(x)前部分即为所要传输的内容。5) 传输与T(x)对应的比特串T。6) 接收方将收到的的比特串T对应的多项式T(x)除以G(x),若余数为0,则认 为正确,否则认为错误。.1 1.2 模2多项式除法原理: 与代数多项式除法不同的是模运算,规则如下:0 + 0 = 00 - 0 = 01 + 0 = 11 - 0 = 10 + 1 = 10 - 1 = 11 + 1 = 01 - 1 = 011 模块设计与实现:CRC10在此处用于对OAM信元进行校验.1.1 结构:48 Byte =32bit 12拍 =除数(32+10)多项式11000110011求余=结果10bit校验结果为0. I41:32+D031:0/H9:0R041:32+D131:0/H9:0Rt-141:32+Dt31:0/H9:0R1041:32+D1131:0/H9:0R_crc9:01.1 接口信号(时序)描述Data_in对应于被除数,Data_out对应于余数remainder(下面的ri代表相应位)1.2 1.11.3 串行算法:本次设计基于下面的串行算法,因此作以介绍:这里介绍一个简单高效采用循环移位的CRC算法:明确了输入数据和生成多项式后,核心任务便是求余电路的设计 以CRC10为例:其生成多项式: 对应的b10b0为:1 1 0 0 0 1 1 0 0 1 1建立步骤:、建立10个(与多项式最高次次数一致)寄存器,自左而右,对应b到b0,(生成多项式的最高次数位系数肯定是)、异或电路位于对应的bi值为的寄存器的右边。、比特串从最右边进入寄存器电路,一次一位。、每下一个比特位进入时,寄存器中的比特位左移一位。经过异或电路的,异或后进入下一位。、最左边的寄存器发送比特位到各异或电路,作为第二个操作数。、初始时寄存器全为,到达的数据串从第一位进入开始到最后一位进入寄存器结束(即进入b0位),此时寄存器bb0中的内容即为余数。只要来一个时钟进行一次r0=r9D_in ; r1=r9r0 ; r2=r1 ; r3=r2 ; r4=r9r3 ; r5=r9r4 ; r6=r5 ; r7=r6 ; r8=r7 ; r9=0;i=i-1) begin crctemp=R_temp9; R_temp9=R_temp8crctemp; R_temp8=R_temp7; R_temp7=R_temp6; R_temp6=R_temp5; R_temp5=R_temp4crctemp; R_temp4=R_temp3crctemp; R_temp3=R_temp2; R_temp2=R_temp1; R_temp1=R_temp0crctemp; R_temp0=Data_inicrctemp; end Data_out=R_temp; end else Endcrc=1b1; endendmodule3.2综合结果:器件:XCV1000e -6 -fg680Slices:42 out of 122881%Slice Flip Flops:214 input LUTs:71Bonded IOBs:45 ou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论