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

下载本文档

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

文档简介

1、沈阳航空航天大学 课课 程程 设设 计计 报报 告告 课程设计名称:计算机组成原理课程设计计算机组成原理课程设计 课程设计题目:CRC 码生成与校验电路的设计码生成与校验电路的设计 院(系):计算机学院 专 业:计算机科学与技术 班 级:34010106 学 号:2013040101270 姓 名:仲崇岩 指导教师:施国君 完成日期:2016年1月13日 沈阳航空航天大学课程设计报告 -2- 目目 录录 第第 1 章章 总体设计方案总体设计方案.3 1.1 设计原理.3 1.2 设计思路.4 1.3 设计环境.5 第第 2 章章 详细设计方案详细设计方案.7 2.1 顶层方案图的设计与实现.7

2、 2.1.1 创建顶层图形设计文件.7 2.1.2 编译、综合、适配.8 2.2 功能模块的设计与实现.8 2.2.1 模 2 除法器的设计与实现.8 2.2.2 移位寄存器的设计与实现.10 2.3 仿真调试.11 参考文献参考文献.14 附附 录(电路原理图)录(电路原理图).15 沈阳航空航天大学课程设计报告 -3- 第 1 章 总体设计方案 1.1设计原理设计原理 循环冗余校验码(cyclic redundancy check,CRC)简称为循环码或 CRC 码。二 进制信息沿一条信号线逐位在设备之间传送称为串行传送,CRC 码常用于串行传 送过程中的检错与纠错。 CRC 码的编码格式

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

4、度为 r,将被校验数据 D 左移 r 位后的结果为 位r kk DDDD00.00. 0121 将 D 左移 r 位的目的是给 D 右边添加 r 个 0,形成(k+r)位长度二进制代码, 其多项式形式为 M(x)。如图 1.1 所示,CRC 码由 k 位数据 D 和 r 位校验码 r x P 组成,求校验码 P 的多项式 R(X)的方法如下: (1-2) )( )( )( )( )( xG xR xQ xG xxM r 沈阳航空航天大学课程设计报告 -4- Q(x)是商,R(x)是余数,R(x)所对应的二进制代码是校验码 P。可以证明存 在一个最高次幂为 n- k=r 的多项式 G(x) ,即

5、式(1-2)中 G(x),称为生成多项式。 由式(1-2)可以推导出 (1-3)( )( )()( xM xG xRxxM r 由式(1-3)可知,CRC 码可被 G(x)整除,余数必然为 0.。根据这一特性,接 收方将收到的 CRC 码被 G(x)除,若余数为 0,则表明传送过程中没有错误发生, 若出现一位错,根据余数与出错位一一对应的关系,可利用余数对错误码进行定 位。因此,接收方可根据表 1.1 发现并纠正 1 位错。 表表 1.1 循环校验码的出错模式循环校验码的出错模式 1.2设计思路设计思路 根据题目要求,信息位 k=4,r=n-k=3 可知本次实验主要是完成(7,4)码的生成 和

6、校验。CRC 码生成电路的核心主要由移位寄存器和模 2 除法器构成,信息位以 串行的方式输入。依据 CRC 码生成与校验原理可知,生成电路中由输入端串行 输入的数据 D 左移 3 位后,与生成多项式 G(x)做模 2 除法,并将得到的 3 位余数 Q6Q5Q4Q3Q2Q1Q0余数 出错 位 正确1100010000无 1100011001Q0 1100000010Q1 1100110100Q2 1101010011Q3 1110010110Q4 1000010111Q5 错误 0100010101Q6 沈阳航空航天大学课程设计报告 -5- 与 4 位信息码拼接成 7 位 CRC 码。校验电路原

7、理同生成电路,主要由移位寄存 器、模 2 除法器和 3.8 译码器构成。将待检测的 CRC 码串行输入到模 2 除法器和 移位寄存器中去,求得 3 位余数,利用 3.8 译码器译码将三位余数译码,通过比较可 以找出出错位,并将译码结果与移位寄存器的输出结果进行异或,便得到纠正后 的正确结果。 CRC 码生成与校验电路主要包括两个部分: 1.生成电路。由移位寄存器接收数据并进行移位,生成多项式由开关直接送 入,输入数据与生成多项式通过模 2 除法器最终生成 CRC 码。 2.校验电路。原理类似生成电路,校验电路中增加了 3-8 译码器。3-8 译码器 与异或门共同完成对信息码的的校验与纠正,最后

8、输出校验后的信息码。 本设计方案采用的元件有模 2 除法器模块,移位寄存器模块,3-8 译码器, 与门,异或门。 移位寄存器由 7 个 D 触发器构成。 模 2 除法器由若干两输入与门,若干两输入异或门和 D 触发器构成。 1.3 设计环境设计环境 EDA 环境: Xilinx foundation f3.1 设计软件设计软件 Xilinx foundation f3.1 是 Xilinx 公司的可编程期间开发工具,该平台(如图 1.2 所示)功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计 实现工具、设计验证工具三大部分组成。 沈阳航空航天大学课程设计报告 -6- 图图 1.2

9、Xilinx foundation f3.1 设计平台设计平台 沈阳航空航天大学课程设计报告 -7- 第 2 章 详细设计方案 2.1 顶层方案图的设计与实现顶层方案图的设计与实现 顶层方案图实现 CRC 码的生成与校验的逻辑功能,采用原理图设计输入方 式完成,电路实现基于 XCV200 可编程逻辑芯片。在完成原理图的功能设计后, 把输入/输出信号安排到 XCV200 指定的引脚上去,实现芯片的引脚锁定。 2.1.1 创建顶层图形设计文件创建顶层图形设计文件 顶层图形文件的设计实体主要由 CRC 码生成电路与 CRC 码校验电路组成。 生成电路主要由移位寄存器元件-U3、模 2 除法器元件-U

10、4 构成。如图 2.1 所示。 图图 2.1 CRC 码生成电路图码生成电路图 校验电路主要由移位寄存器元件-U9、模 2 除法器-U8,3-8 译码器,异或门- XOR2 构成。如图 2.2 所示。 沈阳航空航天大学课程设计报告 -8- 图图 2.2 CRC 码校验电路图码校验电路图 2.1.2 编译、综合、适配编译、综合、适配 利用 Xilinx foundation f3.1 的原理图编辑器对顶层图形文件进行编译,并最 终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真 的文件和器件下载编程文件。 2.2 功能模块的设计与实现功能模块的设计与实现 CRC 码的生成与校

11、验电路是基于移位寄存器和模 2 除法器及异或门实现的。 2.2.1 模模 2 除法器的设计与实现除法器的设计与实现 模 2 加定义:即按位加,可用异或逻辑实现。模 2 加同模 2 减结果相同,即 01=1,10=1,00=0,11=0。 模 2 除定义:按照模 2 减求得部分余数。每求一位商应将部分余数减少一位。 上商原则是:当部分余数的位数多于除数时,商 1,否则,商 0。 该模块由 D 触发器、与门和异或门构成。对(7,4)校验码,可采用图 2.3 所示 电路,产生 3 位的余数 Q2、Q1、Q0。图中的模 2 减用异或门实现,左移一位由 移位寄存器实现;用异或门的输出控制左边一位寄存器的

12、 D 输入端,可同时实现 模 2 减和左移。用最左一位 D 触发器的取值控制是否做模 2 减,当其为 1 时,减 沈阳航空航天大学课程设计报告 -9- 去的数就是生成多项式 G(x),为 0 时减去的就是 0000。这里,被除数 D 是逐位 串行送到移位寄存器的,且由 CP 脉冲同步。其设计过程如下: (1)创建控制器设计原理图。创建控制器设计原理图。 模 2 除法器原理图如图 2.3 所示。 图图 2.3 模模 2 除法器的原理框图除法器的原理框图 (2)创建元件图形符号)创建元件图形符号 为能在图形编辑器(原理图设计输入方式)中调用 MO2 芯片,需要为 MO2 模 块创建一个元件图形符号

13、,可利用 Xilinx foundation f3.1 编译器中的如下步骤实 现:Tools=Symbol Wizard=下一步。CLK、D、G0、G1、G2、G3 是输入信号, Q3、Q2、Q1 是输出信号。其元件图形符号如图 2.4 所示: 图图 2.4 模模 2 除法器元件图形符号除法器元件图形符号 (3)功能仿真)功能仿真 对创建的控制器模块进行功能仿真,验证其功能的正确性,可用 Xilinx 沈阳航空航天大学课程设计报告 -10- Foundation f3.1 编译器 Simulator 模块实现。D 端串行输入数据 1100000,得到 余数 Q3、Q2、Q1 为 010。仿真结

14、果如图 2.5 所示: 图图 2.5 模模 2 除法器仿真结果除法器仿真结果 2.2.2 移位寄存器的设计与实现移位寄存器的设计与实现 该模块由 8 个 D 触发器相连接构成,数据通过 D 端串行输入到 D 触发器中。 每过一个时钟脉冲,输入的数据左移一位,经过 7 个脉冲后,由 7 个 D 触发器的 Q 端并行输出所输入的数据。 (1)创建控制器设计原理图。创建控制器设计原理图。 移位寄存器的原理框图如图 2.6 所示。 图图 2.6 移位寄存器的原理框图移位寄存器的原理框图 (2)创建元件图形符号)创建元件图形符号 为能在图形编辑器(原理图设计输入方式)中调用 YIWEI 芯片,需要为 Y

15、IWEI 模块创建一个元件图形符号,可利用 Xilinx foundation f3.1 编译器中的 如下步骤实现:Tools=Symbol Wizard=下一步。CLK、D 是输入信号, Q0、Q1、Q2、Q3、Q4、Q5、Q6 是输出信号。其元件图形符号如图 2.7 所示: 沈阳航空航天大学课程设计报告 -11- 图图 2.7 移位寄存器器元件图形符号移位寄存器器元件图形符号 (3)功能仿真)功能仿真 对创建的控制器模块进行功能仿真,验证其功能的正确性,可用 Xilinx Foundation f3.1 编译器 Simulator 模块实现。D 串行输入数据 1100000,得到结 果 1

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

17、形结果如图 2.9 所示,仿真数据结果如表 2.2 所示。对表 2.2 与表 沈阳航空航天大学课程设计报告 -12- 1.1 的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正 确性。 图图2.9 功能仿真波形结果功能仿真波形结果 DACLOCKQ6Q5Q4Q3Q2Q1Q0T6T5T4T3T2T1T0 11100000010000000 11100000010001011 00100001100010110 00100011110101100 00100111011011000 00101100010110001 00111000101100010 表表 2.2 仿真数据结果仿

18、真数据结果 沈阳航空航天大学课程设计报告 -13- 输入信息码为:1100000,生成多项式为:1011,应用模 2 除法器可以求出 三位余数为 010 然后把余数和信息码拼接可以得到 CRC 编码为:1100010 输入需要校验的 CRC 码为:1100000,生成多项式位:1011,可以求得三位 余数位 010 因为余数不为 000,可以判断出接受到的循环校验码是错的,并且错 误位在 Q1。通过校验电路修改可输出正确的 CRC 码 1100010。由图 2.9 的仿真 图和表 2.2 的仿真数据结果可以看出,生成的 CRC 码为 1100010,校验之后 CRC 码为 1100010。 沈阳航空航天大学课程设计报告 -14- 参考文献 1 曹昕燕. EDA 技术实验与课程设计M.北京:清华大学出版社,2006 2 范延滨.微型计算机系统原理、接口与 EDA 设计技术M.北京:北京邮电大学 出版社,2006 3 爱英.计算机组成与结构(第 4 版)M.北京:清华大学出版社,2006 4潘松,黄继业.EDA 技术使用教程.北京:科学出版社,2002

温馨提示

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

评论

0/150

提交评论