CRC码生成与校验电路的设计与实现_第1页
CRC码生成与校验电路的设计与实现_第2页
CRC码生成与校验电路的设计与实现_第3页
CRC码生成与校验电路的设计与实现_第4页
CRC码生成与校验电路的设计与实现_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

.PAGE.XX航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:CRC码生成与校验电路的设计与实现院〔系:专业:班级:学号:__指导完成日期:2016年1月14日..目录TOC\o"1-3"\h\z第1章总体设计方案11.1设计原理11.2设计思路21.3设计环境3第2章详细设计方案62.1顶层方案图的设计与实现6创建顶层图形设计文件62.1.2器件的选择与引脚锁定7编译、综合、适配82.2功能模块的设计与实现9模2除法器的设计与实现9移位寄存器的设计与实现112.3仿真调试12第3章编程下载与硬件测试153.1编程下载153.2硬件测试及结果分析15参考文献17附录〔电路原理图18..第1章总体设计方案设计原理二进制信息位流沿一条线逐位在部件之间或计算机之间传送称为串行传送。CRC<cyclicredundancycheck>码可以发现并纠正信息存储或传送过程中连续出现的多位错误。CRC码的编码格式如图1.1所示,是在k位有效数据之后添加r位校验码,形成总长度为n的CRC码,简写作C<n,k>码。CRC编码的关键技术在于如何从k位信息简便的得到r位校验码,并根据总长度为n的CRC码进行纠错。图1.1设被校验的数据是一个k位的二进制代码,将它表示为一个<k-1>阶的多项式<1-1>多项式<1-1>中的系数D的取值为0或1,与被校验的数据M一一对应;式中的x是一个伪变量,用指明各位的位置。设校验码P长度为r,将被校验数据D左移r位后的结果为将D左移r位的目的是给D右边添加r个0,形成<k+r>位长度二进制代码,其多项式形式为M<x>×。如图1.1所示,CRC码由k位数据D和r位校验码P组成,求校验码P的多项式R<X>的方法如下:<1-2>Q<x>是商,R<x>是余数,R<x>所对应的二进制代码是校验码P。可以证明存在一个最高次幂为n-k=r的多项式G<x>,即式<1-2>中G<x>,称为生成多项式。由式<1-2>可以推导出<1-3>由式<1-3>可知,CRC码可被G<x>整除,余数必然为0.。根据这一特性,接收方将收到的CRC码被G<x>除,若余数为0,则表明传送过程中没有错误发生,若出现一位错,根据余数与出错位一一对应的关系,可利用余数对错误码进行定位。因此,接收方可根据表1.1发现并纠正1位错。A1A2A3A4A5A6A7余数出错位正确1100010000无错误1100011001A71100000010A61100110100A51101010011A41110010110A31000010111A20100010101A1表1.1循环校验码的出错模式设计思路根据题目要求,信息位k=4,r=n-k=3可知本次实验主要是完成<7,4>码的生成和校验。CRC码生成电路的核心主要由移位寄存器和模2除法器构成,信息位以串行的方式输入。依据CRC码生成与校验原理可知,生成电路中由输入端串行输入的数据D左移3位后,与生成多项式G<x>做模2除法,并将得到的3位余数与4位信息码拼接成7位CRC码。校验电路原理同生成电路,主要由移位寄存器、模2除法器和3.8译码器构成。将待检测的CRC码串行输入到模2除法器和移位寄存器中去,求得3位余数,利用3.8译码器译码将三位余数译码,通过比较可以找出出错位,并将译码结果与移位寄存器的输出结果进行异或,便得到纠正后的正确结果。CRC码生成与校验电路主要包括两个部分:1.生成电路。由移位寄存器接收数据并进行移位,生成多项式由开关直接送入,输入数据与生成多项式通过模2除法器最终生成CRC码。2.校验电路。原理类似生成电路,校验电路中增加了3-8译码器。3-8译码器与异或门共同完成对信息码的的校验与纠正,最后输出校验后的信息码。本设计方案采用的元件有模2除法器模块,移位寄存器模块,3-8译码器,与门,异或门。移位寄存器由7个D触发器构成。模2除法器由若干两输入与门,若干两输入异或门和D触发器构成。1.3设计环境·硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机。·EDA环境:Xilinxfoundationf3.1设计软件Xilinxfoundationf3.1是Xilinx公司的可编程期间开发工具,该平台〔如图1.2所示功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。图1.2Xilinxfoundationf3.1设计平台•COP2000集成调试软件COP2000集成开发环境是为COP2000实验仪与PC机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA实验等功能,该软件在Windows下运行。COP2000集成开发环境界面如图1.3所示。图1.3COP2000计算机组成原理集成调试软件..第2章详细设计方案2.1顶层方案图的设计与实现顶层方案图实现CRC码的生成与校验的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。2.1.1创建顶层图形设计文件顶层图形文件的设计实体主要由CRC码生成电路与CRC码校验电路组成。生成电路主要由移位寄存器元件U2、模2除法器元件U1构成。如图2.1所示。图2.1CRC码生成电路图校验电路主要由移位寄存器元件U4、模2除法器U3,3-8译码器,异或门集成模块U5构成。如图2.2所示。图2.2CRC码校验电路图2.1.2器件的选择与引脚锁定〔1器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为XlinxXCV200软件中可用芯片。〔2引脚锁定把顶层图形文件中的输入/输出信号安排到XlinxXCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及XlinxXCV200芯片引脚对应关系如表2.1所示。图形文件中的输入/输出信号XCV200芯片引脚M79J63CLK213VCC64G194G295G396G497Q1152Q2178Q3184Q4185Q5203Q6111Q7110J193J299J3107J4108J5109J6124J7125表2.1信号和芯片引脚对应关系2.1.3编译、综合、适配利用Xilinxfoundationf3.1的原理图编辑器对顶层图形文件进行编译,并最终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真的文件和器件下载编程文件。2.2功能模块的设计与实现CRC码的生成与校验电路是基于移位寄存器和模2除法器及异或门实现的。2.2.1模2除法器的设计与实现模2加定义:即按位加,可用异或逻辑实现。模2加同模2减结果相同,即0±1=1,1±0=1,0±0=0,1±1=0。模2除定义:按照模2减求得部分余数。每求一位商应将部分余数减少一位。上商原则是:当部分余数的位数多于除数时,商1,否则,商0。该模块由D触发器、与门和异或门构成。对<7,4>校验码,可采用图2.3所示电路,产生3位的余数R1、R2、R3。图中的模2减用异或门实现,左移一位由移位寄存器实现;用异或门的输出控制左边一位寄存器的D输入端,可同时实现模2减和左移。用最左一位D触发器的取值控制是否做模2减,当其为1时,减去的数就是生成多项式G<x>,为0时减去的就是0000。这里,被除数M是逐位串行送到移位寄存器的,且由CL脉冲同步。其设计过程如下:〔1创建控制器设计原理图。模2除法器原理图如图2.3所示。图2.3模2除法器的原理框图〔2创建元件图形符号为能在图形编辑器<原理图设计输入方式>中调用MO2芯片,需要为MO2模块创建一个元件图形符号,可利用Xilinxfoundationf3.1编译器中的如下步骤实现:Tools=>SymbolWizard=>下一步。CP、D是输入信号,R1、R2、R3是输出信号。其元件图形符号如图2.4所示:图2.4模2除法器元件图形符号〔3功能仿真对创建的控制器模块进行功能仿真,验证其功能的正确性,可用XilinxFoundationf3.1编译器Simulator模块实现。M端串行输入数据1100000,得到余数Q5、Q6、Q7为010。仿真结果如图2.5所示:图2.5模2除法器仿真结果2.2.2移位寄存器的设计与实现该模块由8个D触发器相连接构成,数据通过M端串行输入到D触发器中。每过一个时钟脉冲,输入的数据左移一位,经过7个脉冲后,由7个D触发器的Q端并行输出所输入的数据。〔1创建控制器设计原理图。移位寄存器的原理框图如图2.6所示。图2.6移位寄存器的原理框图〔2创建元件图形符号为能在图形编辑器〔原理图设计输入方式中调用MV芯片,需要为MV模块创建一个元件图形符号,可利用Xilinxfoundationf3.1编译器中的如下步骤实现:Tools=>SymbolWizard=>下一步。CL、M是输入信号,Q1、Q2、Q3、Q4、Q5、Q6、Q7是输出信号。其元件图形符号如图2.7所示:图2.7移位寄存器器元件图形符号〔3功能仿真对创建的控制器模块进行功能仿真,验证其功能的正确性,可用XilinxFoundationf3.1编译器Simulator模块实现。M串行输入数据1100000,得到结果1100000。仿真结果如图2.8所示:图2.8移位寄存器仿真结果2.3仿真调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。〔1建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,添加仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表2.2所示。仿真时M输入信息码1100000,J输入循环校验码0100010,G1,G2,G3,G4输入生成多项式1011,VCC恒为1。〔2功能仿真结果与分析功能仿真波形结果如图2.9所示,仿真数据结果如表2.2所示。对表2.2与表1.1的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。图2.9功能仿真波形结果MJCLKQ1Q2Q3Q4Q5Q6Q7J1J2J3J4J5J6J710100000010000000111000000100000000010000110000000000100011110000000001001110100000000110110001011000100111000101100010表2.2仿真数据结果在CRC生成电路中输入信息码为:1100000,生成多项式为:1011,应用模2除法器可以求出三位余数为010然后把余数和信息码拼接可以得到CRC编码为:1100010在CRC校验电路中输入需要校验的CRC码为:0100010,生成多项式位:1011,可以求得三位余数位101因为余数不为000,可以判断出接受到的循环校验码是错的,并且错误位在Q1。通过校验电路修改可输出正确的CRC码1100010。由图2.9的仿真图和表2.2的仿真数据结果可以看出,生成的CRC码为1100010,校验之后CRC码为1100010。..第3章编程下载与硬件测试3.1编程下载利用Xilinxfoundationf3.1的编程下载功能,将得到的*.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。3.2硬件测试及结果分析利用XCV200实验板进行硬件功能测试。CRC码生成和校验的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.1所示。XCV200芯片引脚信号XCV200实验板XCV200芯片引脚信号XCV200实验板XCV200芯片引脚信号XCV200实验板MK1:7Q1A6J1B6JK2:7Q2A5J2B5CLKCLOCKQ3A4J3B4G1K0:7Q4A3J4B3G2KO:6Q5A2J5B2G3K0:5Q6A1J6B1G4K0:4Q7A0J7B0VCCK2:6表3.1XCV200实验板信号对应关系利用表2.2中的输入参数作为输入数据,并将数据串行输入,同时观察发光二极管组A6-A0和发光二极管组B6-B0的输出,硬件测试结果如表3.2所示。输入信号输出信号输出信号K1:7K2:7A6A5A4A3A2A1A0B6B5B4B3B2B1

温馨提示

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

评论

0/150

提交评论