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

下载本文档

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

文档简介

1、沈阳航空工业学院课课 程程 设设 计计 报报 告告课程设计名称:计算机组成原理课程设计计算机组成原理课程设计课程设计题目:CRC 码生成与校验电路的设计码生成与校验电路的设计 院(系):计算机学院专 业:计算机科学与技术班 级:7401101学 号:200704011008姓 名:张爽指导教师:施国君完成日期:2010年1月15日目目 录录第第 1 章章 总体设计方案总体设计方案.11.1设计原理.11.2设计思路.21.3 设计环境 .3第第 2 章章 详细设计方案详细设计方案.62.1 顶层方案图的设计与实现 .62.1.1 创建顶层图形设计文件.62.1.3 编译、综合、适配.92.2

2、功能模块的设计与实现 .92.2.1 模 2 除法器的设计与实现.92.2.2 移位寄存器的设计与实现.112.3 仿真调试 .13第第 3 章章 编程下载与硬件测试编程下载与硬件测试.153.1 编程下载 .153.2 硬件测试及结果分析 .15参考文献参考文献.17附附 录(电路原理图)录(电路原理图).18第 1 章 总体设计方案1.1设计原理设计原理循环冗余校验码(cyclic redundancy check,CRC)简称为循环码或 CRC 码。二进制信息沿一条信号线逐位在设备之间传送称为串行传送,CRC 码常用于串行传送过程中的检错与纠错。CRC 码的编码格式如图 1.1 所示,是

3、在 k 位有效数据之后添加 r 位校验码,形成总长度为 n 的 CRC 码,简写作 C(n,k)码。CRC 编码的关键技术在于如何从k 位信息简便的得到 r 位校验码,并根据总长度为 n 的 CRC 码进行纠错。图图 1.1设被校验的数据是一个 k 位的二进制代码,将0121.DDDDDkk它表示为一个(k-1)阶的多项式 (1-1)0112211.)(DxDxDxDxMkkkk多项式(1-1)中的系数 D 的取值为 0 或 1,与被校验的数据 M 一一对应;式中的 x 是一个伪变量,用指明各位的位置。ix设校验码 P 长度为 r,将被校验数据 D 左移 r 位后的结果为位rkkDDDD00.

4、00.0121将 D 左移 r 位的目的是给 D 右边添加 r 个 0,形成(k+r)位长度二进制代码,其多项式形式为 M(x)。如图 1.1 所示,CRC 码由 k 位数据 D 和 r 位校验码rxP 组成,求校验码 P 的多项式 R(X)的方法如下: (1-2)()()()()(xGxRxQxGxxMrQ(x)是商,R(x)是余数,R(x)所对应的二进制代码是校验码 P。可以证明存在一个最高次幂为 n- k=r 的多项式 G(x) ,即式(1-2)中 G(x),称为生成多项式。 由式(1-2)可以推导出 (1-3)()()()(xMxGxRxxMr由式(1-3)可知,CRC 码可被 G(x

5、)整除,余数必然为 0.。根据这一特性,接收方将收到的 CRC 码被 G(x)除,若余数为 0,则表明传送过程中没有错误发生,若出现一位错,根据余数与出错位一一对应的关系,可利用余数对错误码进行定位。因此,接收方可根据表 1.1 发现并纠正 1 位错。 表表 1.1 循环校验码的出错模式循环校验码的出错模式1.2设计思路设计思路根据题目要求,信息位 k=4,r=n-k=3 可知本次实验主要是完成(7,4)码的生成和校验。CRC 码生成电路的核心主要由移位寄存器和模 2 除法器构成,信息位以串行的方式输入。依据 CRC 码生成与校验原理可知,生成电路中由输入端串行输入的数据 D 左移 3 位后,

6、与生成多项式 G(x)做模 2 除法,并将得到的 3 位余数Q6Q5Q4Q3Q2Q1Q0余数出错位正确1100010000无1100011001Q01100000010Q11100110100Q21101010011Q31110010110Q41000010111Q5错误0100010101Q6与 4 位信息码拼接成 7 位 CRC 码。校验电路原理同生成电路,主要由移位寄存器、模 2 除法器和 3.8 译码器构成。将待检测的 CRC 码串行输入到模 2 除法器和移位寄存器中去,求得 3 位余数,利用 3.8 译码器译码将三位余数译码,通过比较可以找出出错位,并将译码结果与移位寄存器的输出结果

7、进行异或,便得到纠正后的正确结果。CRC 码生成与校验电路主要包括两个部分:1.生成电路。由移位寄存器接收数据并进行移位,生成多项式由开关直接送入,输入数据与生成多项式通过模 2 除法器最终生成 CRC 码。2.校验电路。原理类似生成电路,校验电路中增加了 3-8 译码器。3-8 译码器与异或门共同完成对信息码的的校验与纠正,最后输出校验后的信息码。本设计方案采用的元件有模 2 除法器模块,移位寄存器模块,3-8 译码器,与门,异或门。移位寄存器由 7 个 D 触发器构成。模 2 除法器由若干两输入与门,若干两输入异或门和 D 触发器构成。1.3 设计环境设计环境硬件环境:伟福 COP2000

8、 型计算机组成原理实验仪、XCV200 实验板、微机。EDA 环境: Xilinx foundation f3.1 设计软件设计软件Xilinx foundation f3.1 是 Xilinx 公司的可编程期间开发工具,该平台(如图1.2 所示)功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。图图 1.2 Xilinx foundation f3.1 设计平台设计平台 COP2000 集成调试软件集成调试软件COP2000 集成开发环境是为 COP2000 实验仪与 PC 机相连进行高层次实验的配套软件,它通过实验仪的串行接口和 PC 机的串行

9、接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试 FPGA 实验等功能,该软件在Windows 下运行。COP2000 集成开发环境界面如图 1.3 所示。图图 1.3 COP2000 计算机组成原理集成调试软件计算机组成原理集成调试软件第 2 章 详细设计方案2.1 顶层方案图的设计与实现顶层方案图的设计与实现顶层方案图实现 CRC 码的生成与校验的逻辑功能,采用原理图设计输入方式完成,电路实现基于 XCV200 可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到 XCV200 指定的引脚上去,实现芯片的引脚锁定。2.1.1 创建顶层图形设计文件创建顶层图形设计文件顶

10、层图形文件的设计实体主要由 CRC 码生成电路与 CRC 码校验电路组成。生成电路主要由移位寄存器元件-U21、模 2 除法器元件-U32 构成。如图 2.1 所示。图图 2.1 CRC 码生成电路图码生成电路图校验电路主要由移位寄存器元件-U22、模 2 除法器-U33,3-8 译码器,异或门集成模块-U31 构成。如图 2.2 所示。图图 2.2 CRC 码校验电路图码校验电路图2.1.2 器件的选择与引脚锁定器件的选择与引脚锁定(1)器件的选择)器件的选择由于硬件设计环境是基于伟福 COP2000 型计算机组成原理实验仪和 XCV200实验板,故采用的目标芯片为 Xlinx XCV200

11、 软件中可用芯片。(2)引脚锁定)引脚锁定把顶层图形文件中的输入/输出信号安排到 Xlinx XCV200 芯片指定的引脚上去,实现芯片的引脚锁定,各信号及 Xlinx XCV200 芯片引脚对应关系如表 2.1 所示。 图形文件中的输入图形文件中的输入/输出信号输出信号XCV200 芯片引脚芯片引脚D87A73CLK213VCC47G3100G2101G1102G0103Q6152Q5178Q4184Q3185Q2203Q1111Q0110L693L599L4107L3108L2109L1124L0125表 2.1 信号和芯片引脚对应关系2.1.3 编译、综合、适配编译、综合、适配利用 Xi

12、linx foundation f3.1 的原理图编辑器对顶层图形文件进行编译,并最终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真的文件和器件下载编程文件。2.2 功能模块的设计与实现功能模块的设计与实现CRC 码的生成与校验电路是基于移位寄存器和模 2 除法器及异或门实现的。2.2.1 模模 2 除法器的设计与实现除法器的设计与实现模 2 加定义:即按位加,可用异或逻辑实现。模 2 加同模 2 减结果相同,即01=1,10=1,00=0,11=0。模 2 除定义:按照模 2 减求得部分余数。每求一位商应将部分余数减少一位。上商原则是:当部分余数的位数多于除数时,商 1

13、,否则,商 0。该模块由 D 触发器、与门和异或门构成。对(7,4)校验码,可采用图 2.3 所示电路,产生 3 位的余数 Q2、Q1、Q0。图中的模 2 减用异或门实现,左移一位由移位寄存器实现;用异或门的输出控制左边一位寄存器的 D 输入端,可同时实现模 2 减和左移。用最左一位 D 触发器的取值控制是否做模 2 减,当其为 1 时,减去的数就是生成多项式 G(x),为 0 时减去的就是 0000。这里,被除数 D 是逐位串行送到移位寄存器的,且由 CP 脉冲同步。其设计过程如下:(1)创建控制器设计原理图。创建控制器设计原理图。模 2 除法器原理图如图 2.3 所示。 图图 2.3 模模

14、 2 除法器的原理框图除法器的原理框图(2)创建元件图形符号)创建元件图形符号为能在图形编辑器(原理图设计输入方式)中调用 MOD2 芯片,需要为 MOD2模块创建一个元件图形符号,可利用 Xilinx foundation f3.1 编译器中的如下步骤实现:Tools=Symbol Wizard=下一步。CP、D 是输入信号,Q2、Q1、Q0 是输出信号。其元件图形符号如图 2.4 所示:图图 2.4 模模 2 除法器元件图形符号除法器元件图形符号(3)功能仿真)功能仿真对创建的控制器模块进行功能仿真,验证其功能的正确性,可用 Xilinx Foundation f3.1 编译器 Simul

15、ator 模块实现。D 端串行输入数据 1100000,得到余数 Q2、Q1、Q0 为 010。仿真结果如图 2.5 所示:图图 2.5 模模 2 除法器仿真结果除法器仿真结果2.2.2 移位寄存器的设计与实现移位寄存器的设计与实现该模块由 8 个 D 触发器相连接构成,数据通过 D 端串行输入到 D 触发器中。每过一个时钟脉冲,输入的数据左移一位,经过 7 个脉冲后,由 7 个 D 触发器的Q 端并行输出所输入的数据。(1)创建控制器设计原理图。创建控制器设计原理图。移位寄存器的原理框图如图 2.6 所示。图图 2.6 移位寄存器的原理框图移位寄存器的原理框图(2)创建元件图形符号)创建元件

16、图形符号为能在图形编辑器(原理图设计输入方式)中调用 MOV 芯片,需要为 MOV 模块创建一个元件图形符号,可利用 Xilinx foundation f3.1 编译器中的如下步骤实现:Tools=Symbol Wizard=下一步。CP、D 是输入信号,Q6、Q5、Q4、Q3、Q2、Q1、Q0 是输出信号。其元件图形符号如图 2.7 所示:图图 2.7 移位寄存器器元件图形符号移位寄存器器元件图形符号(3)功能仿真)功能仿真对创建的控制器模块进行功能仿真,验证其功能的正确性,可用 Xilinx Foundation f3.1 编译器 Simulator 模块实现。D 串行输入数据 1100

17、000,得到结果 1100000。仿真结果如图 2.8 所示:图图 2.8 移位寄存器仿真结果移位寄存器仿真结果2.3 仿真调试仿真调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。(1)建立仿真波形文件及仿真信号选择)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,添加仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表 2.2 所示。仿真时 D 输入信息码1100000,A 输入循环校验码 1100000,G0,G1,G2,G3 输入生成多项式 1011,VCC恒为1。(2)功能仿真结果与分析)功能仿真结果与

18、分析功能仿真波形结果如图 2.9 所示,仿真数据结果如表 2.2 所示。对表 2.2 与表1.1 的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。图图2.9 功能仿真波形结果功能仿真波形结果DACLOCKQ6Q5Q4Q3Q2Q1Q0L6L5L4L3L2L1L011100000010000000111000000100010110010000110001011000100011110101100001001110110110000010110001011000100111000101100010表表 2.2 仿真数据结果仿真数据结果 输入信息码为:1100000,生成多项

19、式为:1011,应用模 2 除法器可以求出三位余数为 010 然后把余数和信息码拼接可以得到 CRC 编码为:1100010 输入需要校验的 CRC 码为:1100000,生成多项式位:1011,可以求得三位余数位 010 因为余数不为 000,可以判断出接受到的循环校验码是错的,并且错误位在 Q1。通过校验电路修改可输出正确的 CRC 码 1100010。由图 2.9 的仿真图和表 2.2 的仿真数据结果可以看出,生成的 CRC 码为 1100010,校验之后 CRC码为 1100010。 第 3 章 编程下载与硬件测试3.1 编程下载编程下载利用 Xilinx foundation f3.

20、1 的编程下载功能,将得到的*.bit 文件下载到XCV200 实验板的 XCV200 可编程逻辑芯片中。3.2 硬件测试及结果分析硬件测试及结果分析利用 XCV200 实验板进行硬件功能测试。CRC 码生成和校验的输入数据通过 XCV200 实验板的输入开关实现,输出数据通过 XCV200 实验板的 LED 指示灯实现,其对应关系如表 3.1 所示。表表 3.1 XCV200 实验板信号对应关系实验板信号对应关系利用表 2.2 中的输入参数作为输入数据,并将数据串行输入,同时观察发光二极管组 A6-A0 和发光二极管组 B6-B0 的输出,硬件测试结果如表 3.2 所示。XCV200XCV2

21、00 芯片引芯片引脚信号脚信号XCV200XCV200 实验板实验板XCV200XCV200 芯片引芯片引脚信号脚信号XCV200XCV200 实验板实验板XCV200XCV200 芯片引芯片引脚信号脚信号XCV200XCV200 实验板实验板D DK1:0K1:0Q6Q6A6A6L6L6B6B6A AK2:0K2:0Q5Q5A5A5L5L5B5B5CLKCLKCLOCKCLOCKQ4Q4A4A4L4L4B4B4G3G3K0:3K0:3Q3Q3A3A3L3L3B3B3G2G2KO:2KO:2Q2Q2A2A2L2L2B2B2G1G1K0:1K0:1Q1Q1A1A1L1L1B1B1G0G0K0:0K0:0Q0Q0A0A0L0L0B0B0VCCVCCK3:0K3:0表表 3.2 硬件测试结果硬件测试结果由表 3.2 和表 2.2 比较可以看出硬件测试结果是正确的,说明电路设计正确。其硬件测试最后结果如图 3.1 所示:图图 3.1 硬件测试硬件测试输入信号输入信号输出信号输出信号输出信号输出信号K0:5K0:6A6A5A4A3A2A1A0B6B5B4B3B2B1B01100000010000000110000001000101100000011000101100000011110101100000011101101100000011000101100010

温馨提示

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

评论

0/150

提交评论