




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学 课课 程程 设设 计计 报报 告告 课程设计名称:组成原理课程设计组成原理课程设计 课程设计题目:循环冗余校验码生成电路循环冗余校验码生成电路 的设计与实现的设计与实现 院(系):计算机学院 专 业:计算机科学与技术 班 级: 学 号: 姓 名: 指导教师: 说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要 求;数据不实求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。不予通过。报告和电子数据必须作为实验现象重复的关键依据。 指导教师评语: 签名:审查结论: 年 月 日 沈阳航空航天大学课程设计报告 学术诚信声明 本人声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指 导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别 加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表 或撰写过的研究结果,也不包含其它教育机构使用过的材料。与我一 同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明 并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本 教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后 果。 本人签名: 日期: 年 月 日 沈阳航空航天大学课程设计报告 I 沈阳航空航天大学沈阳航空航天大学 课课程程设设计计任任务务书书 课程名称计计算算机机组组成成原原理理课课程程设设计计专业计算机科学与技术计算机科学与技术 学生姓名班级计算机计算机学号 题目名称循环冗余校验码生成电路的设计与实现循环冗余校验码生成电路的设计与实现 起止日期 2016 年 12 月 19 日起至 2016 年 12 月 30 日止 课设内容和要求: 一、课程设计内容 采用 Xilinx Foundation F3.1 可编程器件开发工具软件、伟福 COP2000 实验箱设计并实现循 环冗余校验码生成电路。 二、课程设计要求 1采用自上而下的设计方法,顶层设计使用原理图设计输入方式(电路图方式实现) ;底 层设计输入方式自行选定(可用电路图实现、也可通过 VHDL 语言编程实现); 2课程设计的电路主要应包括:模 2 除电路、余数产生电路、校验码拼接电路、移位电路 等; 3必须用基本逻辑门实现。输入数据为 4 位,选定 4 位生成多项式,输出 7 位的校验码; 4对设计电路进行仿真并验证其正确性,仿真数据由指导教师给出; 5实现编程下载和硬件测试; 6独立设计、调试、仿真、下载和硬件测试并通过指导教师现场验收; 7撰写课程设计报告。 参考资料: 1 唐硕飞.计算机组成原理(第 2 版) M.北京:高等教育出版社,2008 2 曹昕燕. EDA 技术实验与课程设计M.北京:清华大学出版社,2006 3 范延滨.微型计算机系统原理、接口与 EDA 设计技术M.北京:北京邮电大学出版社, 2006 4 王爱英.计算机组成与结构(第 4 版)M.北京:清华大学出版社,2006 教教研研室室审审核核意意见见:同同意意( ) 不不同同意意( ) 教教研研室室主主任任签签字字: 指导教师(签名)指导教师(签名) 2016 年 12 月 19 日 学生签名学生签名 2016 年 12 月 19 日 沈阳航空航天大学课程设计报告 II 课程设计总结:课程设计总结: 刚进入实验室时对微机中的 Xilinx Foundation F3.1软件环境掌握不够熟悉, 不能熟练的应用 Xilinx Foundation F3.1软件进行电路的连接,后经过老师的细 心讲解,终于对 Xilinx Foundation F3.1软件有了很好的掌握能力,能够熟练的 应用 Xilinx Foundation F3.1软件进行电路的接。在连接电路过程中出现很多问 题,如器件的选择,管脚的锁定等都出现很多错误,在老师和同学的指导下, 顺利的解决了这些问题,并且在老师的指导下对未封装的电路进行了封装, 顺利的完成了电路的连接。该电路能够实现所需功能。 这次课程设计的任务是做 CRC 码生成电路的设计与实现。一开始是对 CRC 码的认识存在误区,没有真正认识 CRC 码的生成过程,通过查教材和 辅导书我明白了它是可以由信息码和余数多项式合成的。还有对芯片的制作 与封装。封装是老师要求的重点,开始我并不在意,后来电路图的连线越来 越多,才认识封装的重要性。由于设计的电路在仿真方面总是出问题,后来 通过对每一个部分做仿真,才找出错误,我想今后我不会再犯这样的错误了。 从初步构思到一步步完善直到最后完成整个课程设计,让我更好的巩固了自 己所学的知识。翻阅图书去学习一些没有接触过的知识让我更好的了解了这 门课程,增强的实践动手能力。虽然过程中有迷茫,但是我坚信我可以做到。 两周的课程设计结束了,在这两周中收获非常多。虽然课程设计题目只 有一个,但在这一个题目中学到了很多课堂上学不到的专业知识。经过这次 课设,我对书本的知识有了更进一步的理解,锻炼了我的动手能力,使我的 能力有很大的提高。为将来参加实际工作奠定了良好的基础。 总的来说,虽然完成了老师安排的任务,但是还没有达到尽善尽美的地 步,还有很多要学习,要实践。虽然课程设计结束了,但是我们才刚刚踏入 计算机硬件领域,还有太多太多的知识有待我们去摸索。在实践中学习,在 学习中实践,是这次课程设计让我领悟到的,更是以后学习生活中我该做到 的。在此请老师接受我最真挚的诚意,让我成长让我掌握的更多! 沈阳航空航天大学课程设计报告 III 沈阳航空航天大学课程设计报告 IV 目目 录录 第第 1 章章 总体设计方案总体设计方案.1 1.1 设计原理.1 1.2 设计思路.2 1.3 设计环境.3 第第 2 章章 详细设计方案详细设计方案.4 2.1 顶层方案图的设计与实现.4 2.1.1 创建顶层图形设计文件.4 2.2 功能模块的设计.4 2.2.1 移位寄存器的设计.5 2.2.2 模 2 除法器的设计.6 2.3 CRC 码生成电路整体仿真.9 第第 3 章章 编程下载与硬件测试编程下载与硬件测试.11 3.1 器件的选择与引脚锁定.11 3.2 编程下载.12 3.3 硬件测试及结果分析.12 参考文献参考文献.15 附附 录(电路原理图)录(电路原理图).16 沈阳航空航天大学课程设计报告 0 第 1 章 总体设计方案 1.1 设计原理设计原理 循环冗余校验码(Cyclic Redundancy Check,CRC)简称为循环码或 CRC 码。此 码可以发现并纠正信息在存储或传送过程中连续出现的多位错误代码。计算机常 用的二进制信息沿一条信号线逐位在设备之间传送称为串行传送,CRC 码常用于 串行传送过程中的检错与纠错。 CRC 码一般是指 n 位信息码之后拼接 k 位校验码。CRC 码是一种从 n 位信 息码能简便的得到 k 位校验码,并且能从 n+k 位信息码中判断是否出错。首先输 入信息码,根据信息码由多项式因子的计算公式得到相应的校验码,然后将进行 移位的信息码与得到的校验码进行拼接,即可得到正确的 CRC 码。 CRC 码是基于模 2 运算而建立编码规律的校验码。在进行 CRC 计算时,采 用二进制(模 2)运算法,即加法不进位,减法不借位,其本质就是两个操作数 进行逻辑异或运算。设待发送数据为 D(x),生成多项式为 G(x)。信息码长 k 位, 校验码长 n-k 位,则编码后的码长为 n 位。如表 1.1: 表表 1.1 CRC 码编码格式码编码格式 123kK+1n 信息码CRC 校验码 设被校验的数据是一个 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 长度为 r,将被校验数据 D 左移 r 位后的结果为 位r kk DDDD00.00. 0121 沈阳航空航天大学课程设计报告 1 将 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 Q(x)是商,R(x)是余数,R(x)所对应的二进制代码是校验码 P。可以证明存 在一个最高次幂为 n- k=r 的多项式 G(x) ,即式(1-2)中 G(x),称为生成多项式。 由式(1-2)可以推导出 (1-3) )( )( )()( xM xG xRxxM r 由式(1-3)可知,CRC 码可被 G(x)整除,余数必然为 0。根据这一特性,接 收方将收到的 CRC 码被 G(x)除,若余数为 0,则表明传送过程中没有错误发生, 若出现一位错,根据余数与出错位一一对应的关系,可利用余数对错误码进行定 位。 1.2 设计思路设计思路 根据课设题目要求,可知本次实验主要是完成(7,4)码生成电路的设计与实 现。CRC 码生成电路的核心主要由移位寄存器和模 2 除法器构成,信息位以串行 的方式输入。模块划分如图 1.1: 图图 1.1 模块图模块图 依据 CRC 码生成原理可知,生成电路中由输入端串行输入的 4 位二进制数 据 D 左移 3 位后,与生成多项式 G(x)做模 2 除法,并将得到的 3 位余数与 4 位信 息码拼接成 7 位 CRC 码。本设计方案采用的元件有模 2 除法器模块,移位寄存 器模块,与门,异或门等电子元件。移位寄存器由 7 个 D 触发器构成。模 2 除法 器由若干两输入与门,若干两输入异或门和 D 触发器构成。 循环冗余校验码生成电路 模 2 除法器移位寄存器 沈阳航空航天大学课程设计报告 2 1.3 设计环境设计环境 (1)硬件环境:)硬件环境: 伟福 COP2000 型计算机组成原理实验仪、XCV200 实验板、计算机。 COP2000 集成开发环境是为 COP2000 实验仪与 PC 机相连进行高层次实 验的配套软件,它通过实验仪的串行接口和 PC 机的串行接口相连,提供汇编、 反汇编、编辑、修改指令、文件传送、调试 FPGA 实验等功能,该软件在 Windows 下运行。COP2000 运行界面如图 1.2 所示。 图图 1.2 COP2000 界面界面 (2)EDA 环境:环境: Xilinx foundation f3.1 是 Xilinx 公司的可编程期间开发工具,该平台(如图 1.3 所示)功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计 实现工具、设计验证工具三大部分组成。 图图 1.3 Xilinx foundation f3.1 界面界面 沈阳航空航天大学课程设计报告 3 第 2 章 详细设计方案 2.1 顶层方案图的设计与实现顶层方案图的设计与实现 顶层方案图实现 CRC 码的生成的逻辑功能,采用原理图设计输入方式完成, 电路实现基于 XCV200 可编程逻辑芯片。在完成原理图的功能设计后,把输入/输 出信号安排到 XCV200 指定的引脚上去,实现芯片的引脚锁定。 2.1.1 创建顶层图形设计文件创建顶层图形设计文件 顶层图形文件的设计实体主要由 CRC 码生成电路各主要模块组成。生成电 路主要由移位寄存器元件-YW、模 2 除法器元件-M2C 构成。如图 2.1 所示。 图图 2.1 CRC 码生成电路原理图码生成电路原理图 利用 Xilinx foundation f3.1 的原理图编辑器对顶层图形文件进行编译,并最 终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真 的文件和器件下载编程文件。 2.2 功能模块的设计功能模块的设计 CRC 码的生成与校验是基于移位寄存器和模 2 除法器及异或门实现的。具体 设计如下。 2.2.1 移位寄存器的设计移位寄存器的设计 该模块由 7 个 D 触发器相连接构成,数据通过 D 端串行输入到 D 触发器中。 沈阳航空航天大学课程设计报告 4 每过一个时钟脉冲,输入的数据左移一位,经过 7 个脉冲后,由 7 个 D 触发器的 Q 端并行输出所输入的数据。 (1)创建元件图形符号)创建元件图形符号 为能在图形编辑器(原理图设计输入方式)中调用 MOV 芯片,需要为 MOV 模块创建一个元件图形符号,可利用 Xilinx foundation f3.1 编译器中的如下步骤 实现:Tools=Symbol Wizard=下一步。CP、D 是输入信号, Q6、Q5、Q4、Q3、Q2、Q1、Q0 是输出信号。其元件图形符号如 2.2 所示: 图图 2.2 移位寄存器器元件图形符号移位寄存器器元件图形符号 (2)创建控制器设计原理图创建控制器设计原理图 移位寄存器的原理框图如图 2.3 所示。 图图 2.3 移位寄存器的原理图移位寄存器的原理图 沈阳航空航天大学课程设计报告 5 (3)移位寄存器功能仿真)移位寄存器功能仿真 对创建的控制器模块进行功能仿真,验证其功能的正确性,可用 Xilinx Foundation f3.1 编译器 Simulator 模块实现。D 串行输入数据 1100,得到结果 1100000。仿真结果如图 2.4 所示: 图图 2.4 移位寄存器仿真结果移位寄存器仿真结果 如上图所示,串行输入数据 1100,经过 7 个时钟周期后,得到 Q6-Q0 的结 果为 1100000。 第二组测试数据 D 端输入 1110,得到结果 1110000。仿真结果如图 2.5 所示: 图图 2.5 移位寄存器仿真结果移位寄存器仿真结果 第二组仿真结果如图所示,串行输入数据 1110,经过 7 个时钟周期后输出 Q6-Q0 的结果为 1110000。 2.2.2 模模 2 除法器的设计除法器的设计 模 2 运算的特点是不考虑进位和错位的运算,期规律如下: 模 2 加和模 2 减的结果是相等的,即 01=1,00=0,10=1,11=0。可 沈阳航空航天大学课程设计报告 6 见,两个相同数的模 2 和恒为 0。 模 2 乘是按模 2 和求部分积之和。 模 2 除是按模 2 减求部分余数。每求一位商应使部分余数减少一位。上 商的原则是:当部分余数的首位为 1 时,上商 1;当部分余数的首位为 0 时,上 商 0。当部分余数的位数小于除数的位数时,该余数即为最后余数。 该模块由 D 触发器、与门和异或门构成。对(7,4)校验码,可采用图 6 所示电 路,产生 3 位的余数 Q2、Q1、Q0。图中的模 2 减用异或门实现,左移一位由移 位寄存器实现;用异或门的输出控制左边一位寄存器的 D 输入端,可同时实现模 2 减和左移。 用最左一位 D 触发器的取值控制是否做模 2 减,当其为 1 时,减去的数就是 生成多项式 G(x),为 0 时减去的就是 0000。这里,被除数 D 是逐位串行送到移 位寄存器的,且由 CP 脉冲同步。其设计过程如下: (1)创建元件图形符号)创建元件图形符号 为能在图形编辑器(原理图设计输入方式)中调用 MOD2 芯片,需要为 MOD2 模块创建一个元件图形符号,可利用 Xilinx foundation f3.1 编译器中的如下步骤 实现:Tools=Symbol Wizard=下一步。CP、D、A3、A2、A1、A0 是输入信号, Q2、Q1、Q0 是输出信号。其元件图形符号如图 2.6 所示: 图图 2.6 除法器元件图形符号除法器元件图形符号 (2)创建控制器设计原理图)创建控制器设计原理图 用各种门电路连接实现具体实验原理电路图,如图 2.7 所示。 沈阳航空航天大学课程设计报告 7 图图 2.7 模模 2 除法器的原理图除法器的原理图 (3)模)模 2 除法器功能仿真除法器功能仿真 对创建的控制器模块进行功能仿真,验证其功能的正确性,可用 Xilinx Foundation f3.1 编译器 Simulator 模块实现。D 端串行输入数据 1100,得到余 数 Q2、Q1、Q0 为 010。仿真结果如图 2.8 所示: 图图 2.8 模模 2 除法器仿真结果除法器仿真结果 如仿真图所示,通过串行输入方式,将第一组数据 1100 输入到 D 端,经过 7 个时钟周期的模 2 除法器运算后,得到三位余数 Q2-Q0 为 010。 第二组测试数据 D 端串行输入 1110,得到余数 Q2、Q1、Q0 为 100。仿真结 果如图 2.9 所示: 图图 2.9 模模 2 除法器仿真结果除法器仿真结果 沈阳航空航天大学课程设计报告 8 如仿真图所示,通过串行输入方式,将第一组数据 1110 输入到 D 端,经过 7 个时钟周期的模 2 除法器运算后,得到三位余数 Q2-Q0 为 100。 2.3 CRC 码生成电路整体仿真码生成电路整体仿真 仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功 能仿真方法对设计的电路进行仿真。 (1)建立仿真波形文件及仿真信号选择)建立仿真波形文件及仿真信号选择 功能仿真时,首先建立仿真波形文件,添加仿真信号,对选定的输入信号设 置参数,选定的仿真信号和设置的参数如表 2.1 所示。仿真时 D 输入信息码 1100,A 输入循环校验码 1100000,G0、G1、G2、G3 输入生成多项式 1011。 表表 2.1 仿真数据参数仿真数据参数 DCLOCKQ6Q5Q4Q3Q2Q1Q0 110000001 110000011 010000110 010001111 010011101 010110001 011100010 (2)功能仿真结果与分析)功能仿真结果与分析 功能仿真波形结果如图 2.10 所示,仿真数据结果如表 2 所示。对表 2 与表 1 的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。 沈阳航空航天大学课程设计报告 9 图图 2.10 功能仿真波形结果功能仿真波形结果 输入信息码为:1100,生成多项式为:1011,应用模 2 除法器可以求出三位 余数为 010 ,然后把余数和信息码拼接可以得到 CRC 编码为:1100010。 第二组测试数据 D 端串行输入 1110,生成多项式仍为 1011。选定的仿真信 号和设置的参数如表 2.2 所示。 表表 2.2 仿真数据参数仿真数据参数 DCLOCKQ6Q5Q4Q3Q2Q1Q0 110000001 110000011 110000111 010001101 010011001 010111010 011110100 仿真结果如图 2.11 所示: 沈阳航空航天大学课程设计报告 10 图图 2.11 CRC 码生成结果仿真波形码生成结果仿真波形 输入信息码为 1110,经过移位寄存器 7 个 D 触发器变换后为 1110000;模 2 除法器输入的也是 1110 四位二进制数,经运算得余数 100。最终将余数与信息码 拼接可得到 CRC 编码:1110100。 沈阳航空航天大学课程设计报告 11 第 3 章 编程下载与硬件测试 3.1 器件的选择与引脚锁定器件的选择与引脚锁定 (1)器件的选择)器件的选择 由于硬件设计环境是基于伟福 COP2000 型计算机组成原理实验仪和 XCV200 实验板,故采用的目标芯片为 Xlinx XCV200 软件中可用芯片。 (2)引脚锁定)引脚锁定 把顶层图形文件中的输入/输出信号安排到 Xlinx XCV200 芯片指定的引脚上 去,实现芯片的引脚锁定,各信号及 Xlinx XCV200 芯片引脚对应关系如表 3.1 所 示。 表表 3.1 信号和芯片引脚对应关系信号和芯片引脚对应关系 图形文件中的输入图形文件中的输入/输出信号输出信号XCV200 芯片引脚芯片引脚 D87 CLK213 G3100 G2101 G1102 G0103 Q6152 Q5178 Q4184 Q3185 Q2203 Q1111 Q0110 沈阳航空航天大学课程设计报告 12 3.2 编程下载编程下载 利用 COP2000 仿真软件的编程下载功能,将得到.bit 文件下载到 XCV200 实 验板的 XCV200 可编程逻辑芯片中。 3.3 硬件测试及结果分析硬件测试及结果分析 利用 XCV200 实验板进行硬件功能测试。CRC 码生成和校验的输入数据通过 XCV200 实验板的输入开关实现,输出数据通过 XCV200 实验板的 LED 指示灯实 现,其对应关系如表 3.2 所示。 表表 3.2 XCV200 实验板信号对应关系实验板信号对应关系 利用表 2.1 中的输入参数作为输入数据,逐个测试输出结果,即用 XCV200 实验板的开关组 K0 中的 1,2,3,4 输入多项式数据 1011,用开关组 K1 中的 1 号开关串行输入信息码 1100,同时观察发光二极管组 A0-A6 的输出,得到如表 3.3 所示的硬件测试结果。 表表 3.3 硬件测试结果硬件测试结果 输入输入输出输出 DCLOCKA6A5A4A3A2A1A0 110000001 110000011 010000110 010001111 010011101 010110001 011100010 XCV200 芯片引脚信号芯片引脚信号XCV200 实验板实验板XCV200 芯片引脚信号芯片引脚信号XCV200 实验板实验板 DK1:0Q6A6 CLKCLOCKQ5A5 A3K
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿植养护合同协议书范本
- 长期采购礼品卡合同范本
- 管道下水道施工合同范本
- 职工舞蹈活动培训协议书
- 聘请生产厂长合同协议书
- 混凝土护坡工程合同范本
- 汽车整形机售卖合同范本
- 终止合同物品交接协议书
- 自制车辆出售协议书模板
- 黑马程序员培训协议合同
- 2025年焊工(高级技师)职业技能鉴定理论考试题库(含答案)
- 肝内胆汁淤积症
- 上海2025年上海申康医院发展中心招聘笔试历年参考题库附带答案详解
- 光伏安全施工方案范本
- 2025年上半年长沙市浏阳市直事业单位及招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025-2030年中国高空逃生缓降器行业市场规模分析及投资策略研究报告
- 危化品石油石化企业三基三记培训
- DB37T 4424-2021 消防救援队伍作战编成规范
- 《电网实时智能态势评估大数据平台数据接入规范》
- 《列车运行自动控制系统(第2版)》全套教学课件
- T-CBIA 009-2022 饮料浓浆标准
评论
0/150
提交评论