资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
沈阳航空航天大学课 程 设 计 报 告课程设计名称:计算机组成原理课程设计课程设计题目:海明码生成与校验电路的设计院(系):计算机学院专 业:计算机科学与技术(物联网方向)班 级:学 号:姓 名: 指导教师:完成时间:2016年1月4日-2016年1月15日沈阳航空航天大学课程设计报告 目录第1章 总体设计方案11.1 设计原理11.2 设计思路11.3 设计环境2第2章 详细设计方案42.1 顶层方案图的设计与实现42.1.1设计方案42.1.2器件的选择与引脚锁定62.2 底层模块的设计与实现72.2.1产生模块的设计与实现72.2.2出错模块的设计与实现82.2.3 纠正模块的设计与实现102.3 仿真调试11第3章 编程下载与硬件测试143.1 编程下载143.2 硬件测试及结果分析14参考文献16附 录(程序清单或电路原理图)17-19-沈阳航空航天大学课程设计报告 第1章 总体设计方案第1章 总体设计方案1.1 设计原理海明校验码是由理查得海明(Richard Hanmming)于1950年提出的,它不仅具有检测错误的能力,同时还具有给出错误所在的准确位置的能力,这在通信领域有着很广泛的应用。海明码是奇偶校验的一种扩充。它采用多位校验码的方式,在这些校验位中的每一位都对不同的信息数据位进行奇偶校验,通过合理地安排每个校验位对原始数据进行校验位组合,可以达到发现错误,纠正错误的目的。(1)数据位和校验位的关系假设数据位有m位,如何设定校验位k的长度才能满足纠正一位错误的要求呢?我们这里做一个简单的推导。k位的校验码可以有2k个值。如果能够满足: 2k=m + k+1,在理论上k个校验码就可以判断是哪一位(包括信息码和校验码)出现问题。(2)海明码的编码规律若海明码的最高位号为m,最低位号为1,即HmHm-1H2H1,则海明码的编码规律通常是:a.校验位与数据位之和为m,每个校验位Pi在海明码中被分在2i-1的位置,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。b.海明码的每一位Hi(包含数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。这样安排的目的,是希望校验的结果能正确反映出出错位的位号。1.2 设计思路(一)海明码的生成:因为要求的是8位的二进制数据,所以此处的m为8,按照数据位和校验位的对应关系,k应为4,故海明码的总位数为12,可表示为: H12H1, 4个校验位P4P1对应的海明码位号分别为:H8/H4/H2/H1,则有如下排列关系: D8D7D6D5P4D4D3D2P3D1P2P1按照海明码的原理得出如下的表格: 海明码位号数据位/校验位参与校验的校验位位号被校验位的海明码位号=校验位位号之和H1P111=1H2P222=2H3D11,23=1+2H4P344=4H5D21,45=1+4H6D32,46=2+4H7D41,2,47=1+2+4H8P488=8H9D51,89=1+8H10D62,810=2+8H11D71,2,811=1+2+8H12D84,812=4+8P1=D1D2D4D5D7P2=D1D3D4D6D7P3=D2D3D4D8P4=D5D6D7D8(二)海明码的校验:海明码校验函数(S函数)及校验过程S1=P1D1D2D4D5D7S2=P2D1D3D4D6D7S3=P3D2D3D4D8S4=P4D5D6D7D81.3 设计环境硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;EDA环境:Xilinx foundation f3.1设计软件、COP2000仿真软件。图1.1 Xilinx foundation f3.1设计平台沈阳航空航天大学课程设计报告 第2章 详细设计方案第2章 详细设计方案2.1 顶层方案图的设计与实现实现海明码的生成与校验逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。完成原理图的设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。2.1.1设计方案顶层图形文件是由产生(如图2.1),出错(如图2.2)和纠正(如图2.3)三个模块元件组装而成的一个完整的设计实体组成。图2.1 产生模块图2.2 出错模块图2.3 纠正模块2.1.2器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为Xlinx XCV200可编程逻辑芯片。(2)引脚锁定把顶层图形文件中的输入/输出信号安排到Xlinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定。图形文件中的输入/输出信号XCV200芯片引脚信号CHANSHENGT.IN1P94CHANSHENGT.IN2P95CHANSHENGT.IN3P96CHANSHENGT.IN4P97CHANSHENGT.IN5P100CHANSHENGT.IN6P101CHANSHENGT.IN7P102CHANSHENGT.IN8P103CHUCUO.IN1P79CHUCUO.IN2P80CHUCUO.IN3P81JIUZHENG.O1P170JIUZHENG.O2P169JIUZHENG.O3P168JIUZHENG.O4P149JIUZHENG.O5P153JIUZHENG.O6P154JIUZHENG.O7P155JIUZHENG.O8P156CHANSHENG.O1P78CHANSHENG.O2P93CHANSHENG.O3P99CHANSHENG.O4P107CHANSHENG.O5P108CHANSHENG.O6P109CHANSHENG.O7P124CHANSHENG.O8P125CHANSHENG.O9P147CHANSHENG.O10P152CHANSHENG.O11P178CHANSHENG.O12P1842.2 底层模块的设计与实现海明码生成与校验设计电路是由3个模块组成,其中产生模块是由8个输入端输入海明码的8位数据位,经异或门求得校验位P1,P2,P3,P4,由此输出12位海明码;出错模块是由三八译码器来改变输入数据的某一位,从而产生错误的海明码;纠正模块是对错误的数据进行纠正修改。2.2.1产生模块的设计与实现(1)元件结构海明码产生模块,原理是通过输入的数据IN1IN8按照公式:P1=D1D2D4D5D7,P2=D1D3D4D6D7,P3=D2D3D4D8,P4=D5D6D7D8,生成了4位校验码P1/P2 /P3/P4,从而得出了12位海明码。图2.4 产生模块内部电路(2)功能仿真对产生模块进行功能仿真,验证其功能的正确性。图2.5 产生模块仿真结果分析:输入IN1-IN8为10011001,输出O1-O12为101000101001,结果是正确的海明码。2.2.2出错模块的设计与实现(1)元件结构本模块的原理是通过3线8线译码器的3进1出,输出一个1,与8位输入数据中的一位异或,使之发生错误,从而得出一组错误的数据。图2.6 出错模块内部电路(2)功能仿真对创建的出错元件进行功能仿真,验证其功能的正确性图2.7 出错模块仿真结果分析:输入IN1-IN3为000,输入IN1-IN8为10011001,输出O1-O8为100000101001,其中O1为出错位,产生了一位错误。2.2.3 纠正模块的设计与实现(1)元件的内部结构原理是通过公式:S1=P1D1D2D4D5D7,S2=P2D1D3D4D6D7,S3=P3D2D3D4D8,S4=P4D5D6D7D8,连成的电路对数据进行校验,判断数据是哪一位出错,并对出错的那一位与错误数据异或,从而得出正确的数据。图2.8 纠正模块内部电路(2)功能仿真对纠正模块进行功能仿真,验证其功能的正确性图2.9 纠正模块仿真2.3 仿真调试仿真调试是为了验证设计电路逻辑功能的正确性,输入8位二进制数据位生成12位海明码,中间经三八译码器来改变一位数据位,经校验电路修改,最后输出正确的8位二进制数据位。 仿真调试时采用两组数据IN1IN8第一组数据10011001第二组数据11001100(1)创建仿真信号在进行仿真时,输入数据位用了上面的两组数据。第一组数据,IN1IN8为10011001,生成的海明码O1O12为101000101001。第二组数据,IN1IN8为11001100,生成的海明码O1O12为101110001100。这两组数据又经三八译码器改变其中一位错的数据输入到纠正电路里,经纠正校验后输出原本的数据位,最终实现了海明码生成和校验功能。(2)仿真结果功能仿真结果如图2.10、图2.11所示,仿真数据结果如表2.3所示。对表中内容进行计算,可以看出功能仿真结果是正确的,进而说明此次电路设计成功。表2.3:输入数据8位数据(CS.IN1IN8)3线8线译码器输入(CC.IN3IN1)输出海明码(CS.O1O12)错误的数据 (CC.O1O8)10011001000(第一位)1010001010010001100111001100001第二位)10111000110010001100图2.10 第一组数据功能仿真结果图2.11 第二组数据功能仿真结果沈阳航空航天大学课程设计报告 第2章 详细设计方案第3章 编程下载与硬件测试3.1 编程下载利用Xilinx ISE的编程下载功能,下载编译我的工程,从而得到的*.bin文件,即可下载到XCV200实验板的XCV200可编程逻辑芯片中,完成编译下载。3.2 硬件测试及结果分析利用XCV200实验板进行硬件功能测试。海明码数据位的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.1所示。表3.1 XCV200实验板信号对应关系XC
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号