




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告题 目: 并行CRC-16校验码产生器设计 院 (系): 电子与信息工程学院 专 业: 电子信息科学与技术 班 级: 姓 名: 设计日期: 2013.12.16-2013.12.20 一、设计目的1掌握数字系统的设计方法;2掌握硬件描述语言Verilog HDL;3掌握模块化设计方法;4掌握开发软件的使用方法。二、设计要求 8 bit并行输入数据进行CRC-16校验。 1输入为连续数据流,时钟为单位,起始位有1bit宽Soc指示信号; 2生成多项式:; 3校验数据与码流同步送出;4完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布 局布线、下载验证等。三、设计环境 计算机、QuatusII开发软件四、设计内容(设计原理和方案、程序设计、仿真分析和适配)4.1设计原理和方案CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。冗余编码是在二进制通信系统中常用的差错检测方法,它是通过在原始数据后加冗余校验码来检测差错,冗余位越多,检测出传输错误的机率越大。循环冗余编码(Cyclic Redundancy Codes,简称CRC)是一种常用的冗余编码。CRC校验的基本原理是:CRC码是由两部分组成的,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码长共n bit,信息码长k bit,就称为(n,k)码,剩余的r bit即为校验位。如:(7,3)码:110 1001,前三位110为信息码,1001为校验码。CRC校验码的生成规则:A、将原信息码左移r bit,右侧补零,如110 - 110 0000;B、用110 0000除以G(x),得到的余数即为CRC校验码;CRC可由一称为生成多项式的常数去除该数据流的二进制数值而得,商数被放弃,余数作为冗余编码追加到数据流尾,产生新的数据流进行发送。在接收端,新的数据流被同一常数去除,检查余数是否为零。如果余数为零,就认为传输正确,否则就认为传输中已发生差错,该数据流重发。在产生CRC校验码时,需要用到除法运算。一般说来,非常大的数字进行除法时,用数字逻辑实现时是比较麻烦的。因此,把二进制信息预先转换成一定的格式,这就是CRC的多项式表示。二进制数表示为生成多项式的系数,如下公式所示:生成多项式是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。应满足以下条件:A、生成多项式的最高位和最低位必须为1;B、当被传送信息任何一位发生错误时,被生成多项式做除后应该使余数不为0;C、不同位发生错误时,应该使余数不同;D、对余数继续做除,应使余数循环。在多项式表示中,所有的二进制数均被表示成一个多项式,多项式的系数就是二进制中的对应值。D为数据流多项式,G为生成多项式,Q为商数多项式,R为余数多项式。在生成CRC校验码时,数据流多项式D被乘以Xn,这里n为生成多项式G的最高次数,也就是CRC的长度。这个操作是通过将左移n位得到的,我们可以用CRC来代替多项式最后的n个0,组成新的数据流多项式。由于二进制的加法和减法是等价的,所以产生新的数据流多项式应能被生成多项式G除尽。用以下公式表示为:在接收端,传输信息的前一部分为原始数据流D;后一部分(最后n位数)为余数R。整个数据流多项式被同一生成多项式G去除,商数被丢弃,余数应为0。如果余数不为0,说明传输数据时发生错误,数据需要重传。不同的生成多项式有不同的检错能力,为了得到优化的结果,我们必须根据需要选择合适的生成多项式,CRC-16的生成多项式为:Serial Data即为需要校验的8bit数据。从把数据移位开始计算,将数据位(从最低的数据位开始)逐位移入反向耦合移位寄存器。当所有数据位都这样操作后,计算结束。此时,16位移位寄存器中的内容即为CRC的16位校验码。生成CRC-16的移位寄存器的工作原理如图4.1所示说明并行CRC-16校验码产生器设计中CRC校验值的计算原理。图4.1生成CRC-16的移位寄存器的工作原理4.2程序设计及仿真CRC校验码产生器分两种:串行CRC校验码产生器和并行CRC校验码产生器。本文用到的是并行CRC校验码产生器。由于计算并行CRC时用到了串行CRC的一些思想,所以在此先讲一下串行CRC的产生。通常,CRC校验码的值可以通过线性移位寄存器和异或门求得,线性移位寄存器一次移一位,完成除法功能,异或门完成不带进位的减法功能。如果商数为1,则从被除数的高阶位减去除数,同时移位寄存器右移一位,准备为被除数的较低位进行运算。如果商数为0,则移位寄存器直接右移一位。串行CRC-16校验码产生器的原理图如图4.2所示。图4.2串行CRC-16校验码产生器原理图在设计并行CRC校验码产生器的时候,我们可以采用串行CRC校验码的思想,用线性移位寄存器的方法产生并行CRC校验码。与串行CRC校验码产生器不同的是,并行CRC校验码产生器16位CRC同时输出,所以要求在一个时钟周期内,移位寄存器一次需要移16位。实际上,移位寄存器不可能在一个时钟周期内移16位,所以这部分电路是用组合逻辑来完成。利用串行CRC校验码的思想,采用8次For循环的方法产生并行CRC校验码。通过以上分析可得以下程序源代码。如下所示:/ TOP MODULEmodule CRC16_PARA( Reset , /Reset signal Gclk , /Clock signal Soc , /Start of cell Data_in , /input data of cell Crc_out /output CRC signal ) ;/ SIGNAL DECLARATIONSinput Reset ;input Gclk ;input Soc ;input 7:0 Data_in ;output 15:0 Crc_out ;/ SIGNAL DECLARATIONSwire Reset ;wire Gclk ;wire Soc ;wire 7:0 Data_in ;reg 15:0 Crc_out ;reg 15:0 Crc_tmp ;reg Temp ;integer i,j,k,l ;/ PARAMETERSparameter U_DLY=1 ;/ Crc_out signalalways (posedge Reset or posedge Gclk)beginif (Reset)Crc_out = #U_DLY 16b0 ;else if (Soc = 1b1)Crc_out = #U_DLY 16b0 ;elseCrc_out =0;i=i-1)beginTemp = Data_ini Crc_tmp15 ;for (j=15;j12;j=j-1)Crc_tmpj = Crc_tmpj-1 ;Crc_tmp12 = Temp Crc_tmp11 ;for (k=11;k5;k=k-1)Crc_tmpk = Crc_tmpk-1 ;Crc_tmp5 = Temp Crc_tmp4 ;for (l=4;l0;l=l-1)Crc_tmpl = Crc_tmpl-1 ;Crc_tmp0 = Temp ;endendendmodule并行CRC-16校验码产生器设计的波形功能仿真如图4.3所示。图4.3并行CRC-16校验码产生器设计的波形功能仿真Gclk为时钟信号,时钟周期为1ns;Reset为复位信号,高电平复位清零;Soc为指示信号,低电平指示工作状态;Data_in为8 bit并行输入数据;Crc_out为16位CRC校验码;Data_in与Crc_out对应关系由图可知:当8 bit并行数据时,对应数据流多项式。此时对应的16位CRC校验码,则对应的余数多项式。因为生成多项式,由CRC-16校验原理可知。由原理公式可得:多项式,所以多项式。即。因为生成多项式,所以商数多项式为整数。综上所述,设计程序源代码符合8 bit并行数据Data_in与16位CRC校验码Crc_out的对应关系。4.3适配器件选择Altera Cyclone EP1C3T100C8,它具有可现场编程,低功耗,低价格等特点。外部引脚图如图4.4所示。图4.4外部引脚图引脚分配如图4.5所示。图4.5引脚分配5、 小结通过对并行CRC-16校验码产生器设计,我了解CRC校验的基本原理和算法,还掌握数字系统的设计方法及设计过程,进一步熟悉掌握硬件描述语言Verilog HDL。还掌握运用模块化的设计方法,熟悉开发软件QuartusII软件的使用方法及其开发流程。在此感谢在本次课程设计过程中给予我帮助的老师和同
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国广电天津市2025秋招企业文化50题速记
- 阿里市中石油2025秋招面试半结构化模拟题及答案炼化装置操作岗
- 中国广电固原市2025秋招市场与服务类专业追问清单及参考回答
- 国家能源日喀则市2025秋招面试专业追问及参考综合管理岗位
- 阳江市中石化2025秋招笔试模拟题含答案市场营销与国际贸易岗
- 牡丹江市中石油2025秋招面试半结构化模拟题及答案炼油设备技术岗
- 中国联通内江市2025秋招技术岗专业追问清单及参考回答
- 滨州市中石化2025秋招笔试模拟题含答案机械与动力工程岗
- 大连市中石化2025秋招面试半结构化模拟题及答案油田工程技术岗
- 庆阳市中储粮2025秋招面试专业追问题库综合管理岗
- 大气污染控制工程课程设计 车间除尘系统设计说明书1
- YY 9706.240-2021医用电气设备第2-40部分:肌电及诱发反应设备的基本安全和基本性能专用要求
- JJF 1059.2-2012用蒙特卡洛法评定测量不确定度
- GA/T 1788.3-2021公安视频图像信息系统安全技术要求第3部分:安全交互
- GA 358-2007警服材料口袋布
- 省级公开课(一等奖)雨巷-戴望舒课件
- 全国第十四届冬季运动会疾病预防控制风险评估报告
- 反不正当竞争法-课件
- 六年级上册数学单元测试-5.数据处理 北师大版(含解析)
- 国家电网有限公司十八项电网重大反事故措施(修订版)
- 养老中心公建民营(一期)项目委托运营合同模版
评论
0/150
提交评论