《组成原理课设-循环冗余校验码生成与实现.doc》由会员分享,可在线阅读,更多相关《组成原理课设-循环冗余校验码生成与实现.doc(24页珍藏版)》请在金锄头文库上搜索。
1、沈阳航空航天大学课 程 设 计 报 告课程设计名称:组成原理课程设计课程设计题目:循环冗余校验码生成电路 的设计与实现 院(系):计算机学院专 业:计算机科学与技术 班 级:学 号:姓 名: 指导教师: 说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。报告和电子数据必须作为实验现象重复的关键依据。指导教师评语:审查结论: 签名: 年 月 日学术诚信声明 本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰
2、写过的研究结果,也不包含其它教育机构使用过的材料。与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。 本人签名: 日期: 年 月 日沈阳航空航天大学课程设计任务书课程名称计算机组成原理课程设计专业计算机科学与技术学生姓名班级计算机学号题目名称循环冗余校验码生成电路的设计与实现起止日期2016年12月19日起至2016年12月30日止课设内容和要求:一、课程设计内容采用Xilinx Foundation F3.1可编程器件开发工具软件、伟福COP2000实验
3、箱设计并实现循环冗余校验码生成电路。二、课程设计要求1采用自上而下的设计方法,顶层设计使用原理图设计输入方式(电路图方式实现);底层设计输入方式自行选定(可用电路图实现、也可通过VHDL语言编程实现);2课程设计的电路主要应包括:模2除电路、余数产生电路、校验码拼接电路、移位电路等;3必须用基本逻辑门实现。输入数据为4位,选定4位生成多项式,输出7位的校验码;4对设计电路进行仿真并验证其正确性,仿真数据由指导教师给出; 5实现编程下载和硬件测试;6独立设计、调试、仿真、下载和硬件测试并通过指导教师现场验收;7撰写课程设计报告。参考资料:1 唐硕飞.计算机组成原理(第2版)M.北京:高等教育出版
4、社,20082 曹昕燕. EDA技术实验与课程设计M.北京:清华大学出版社,20063 范延滨.微型计算机系统原理、接口与EDA设计技术M.北京:北京邮电大学出版社,20064 王爱英.计算机组成与结构(第4版)M.北京:清华大学出版社,2006教研室审核意见:同意() 不同意( ) 教研室主任签字:指导教师(签名)2016年12月19日学生签名2016年12月19日课程设计总结:刚进入实验室时对微机中的Xilinx Foundation F3.1软件环境掌握不够熟悉,不能熟练的应用Xilinx Foundation F3.1软件进行电路的连接,后经过老师的细心讲解,终于对Xilinx Fou
5、ndation F3.1软件有了很好的掌握能力,能够熟练的应用Xilinx Foundation F3.1软件进行电路的接。在连接电路过程中出现很多问题,如器件的选择,管脚的锁定等都出现很多错误,在老师和同学的指导下,顺利的解决了这些问题,并且在老师的指导下对未封装的电路进行了封装,顺利的完成了电路的连接。该电路能够实现所需功能。这次课程设计的任务是做CRC码生成电路的设计与实现。一开始是对CRC码的认识存在误区,没有真正认识CRC码的生成过程,通过查教材和辅导书我明白了它是可以由信息码和余数多项式合成的。还有对芯片的制作与封装。封装是老师要求的重点,开始我并不在意,后来电路图的连线越来越多,
6、才认识封装的重要性。由于设计的电路在仿真方面总是出问题,后来通过对每一个部分做仿真,才找出错误,我想今后我不会再犯这样的错误了。从初步构思到一步步完善直到最后完成整个课程设计,让我更好的巩固了自己所学的知识。翻阅图书去学习一些没有接触过的知识让我更好的了解了这门课程,增强的实践动手能力。虽然过程中有迷茫,但是我坚信我可以做到。两周的课程设计结束了,在这两周中收获非常多。虽然课程设计题目只有一个,但在这一个题目中学到了很多课堂上学不到的专业知识。经过这次课设,我对书本的知识有了更进一步的理解,锻炼了我的动手能力,使我的能力有很大的提高。为将来参加实际工作奠定了良好的基础。总的来说,虽然完成了老师
7、安排的任务,但是还没有达到尽善尽美的地步,还有很多要学习,要实践。虽然课程设计结束了,但是我们才刚刚踏入计算机硬件领域,还有太多太多的知识有待我们去摸索。在实践中学习,在学习中实践,是这次课程设计让我领悟到的,更是以后学习生活中我该做到的。在此请老师接受我最真挚的诚意,让我成长让我掌握的更多!目 录第1章 总体设计方案11.1 设计原理11.2 设计思路21.3 设计环境3第2章 详细设计方案42.1 顶层方案图的设计与实现42.1.1创建顶层图形设计文件42.2 功能模块的设计42.2.1移位寄存器的设计52.2.2模2除法器的设计62.3 CRC码生成电路整体仿真9第3章 编程下载与硬件测
8、试113.1 器件的选择与引脚锁定113.2 编程下载123.3 硬件测试及结果分析12参考文献15附 录(电路原理图)16 第1章 总体设计方案1.1 设计原理循环冗余校验码(Cyclic Redundancy Check,CRC)简称为循环码或CRC码。此码可以发现并纠正信息在存储或传送过程中连续出现的多位错误代码。计算机常用的二进制信息沿一条信号线逐位在设备之间传送称为串行传送,CRC码常用于串行传送过程中的检错与纠错。CRC码一般是指n位信息码之后拼接k位校验码。CRC码是一种从n位信息码能简便的得到k位校验码,并且能从n+k位信息码中判断是否出错。首先输入信息码,根据信息码由多项式因
9、子的计算公式得到相应的校验码,然后将进行移位的信息码与得到的校验码进行拼接,即可得到正确的CRC码。CRC码是基于模2运算而建立编码规律的校验码。在进行CRC计算时,采用二进制(模2)运算法,即加法不进位,减法不借位,其本质就是两个操作数进行逻辑异或运算。设待发送数据为D(x),生成多项式为G(x)。信息码长k位,校验码长n-k位,则编码后的码长为n位。如表1.1:表1.1 CRC码编码格式123kK+1n信息码CRC校验码设被校验的数据是一个k位的二进制代码,将它表示为一个(k-1)阶的多项式 (1-1)多项式(1-1)中的系数D的取值为0或1,与被校验的数据M一一对应;式中的x是一个伪变量
10、,用指明各位的位置。设校验码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)除,若余数为
11、0,则表明传送过程中没有错误发生,若出现一位错,根据余数与出错位一一对应的关系,可利用余数对错误码进行定位。1.2 设计思路根据课设题目要求,可知本次实验主要是完成(7,4)码生成电路的设计与实现。CRC码生成电路的核心主要由移位寄存器和模2除法器构成,信息位以串行的方式输入。模块划分如图1.1:循环冗余校验码生成电路模2除法器移位寄存器图1.1 模块图依据CRC码生成原理可知,生成电路中由输入端串行输入的4位二进制数据D左移3位后,与生成多项式G(x)做模2除法,并将得到的3位余数与4位信息码拼接成7位CRC码。本设计方案采用的元件有模2除法器模块,移位寄存器模块,与门,异或门等电子元件。移
12、位寄存器由7个D触发器构成。模2除法器由若干两输入与门,若干两输入异或门和D触发器构成。1.3 设计环境(1)硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、计算机。 COP2000 集成开发环境是为COP2000 实验仪与PC 机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC 机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA 实验等功能,该软件在Windows 下运行。COP2000运行界面如图1.2所示。图1.2 COP2000界面(2)EDA环境: Xilinx foundation f3.1是Xilinx公司的可编程期间开发
13、工具,该平台(如图1.3所示)功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。图1.3 Xilinx foundation f3.1界面第2章 详细设计方案2.1 顶层方案图的设计与实现 顶层方案图实现CRC码的生成的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。2.1.1创建顶层图形设计文件顶层图形文件的设计实体主要由CRC码生成电路各主要模块组成。生成电路主要由移位寄存器元件-YW、模2除法器元件-M2C构成。如图2
14、.1所示。图2.1 CRC码生成电路原理图利用Xilinx foundation f3.1的原理图编辑器对顶层图形文件进行编译,并最终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真的文件和器件下载编程文件。2.2 功能模块的设计CRC码的生成与校验是基于移位寄存器和模2除法器及异或门实现的。具体设计如下。2.2.1移位寄存器的设计该模块由7个D触发器相连接构成,数据通过D端串行输入到D触发器中。每过一个时钟脉冲,输入的数据左移一位,经过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