您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 金融资料 > 海明码生成与校验电路的设计.
沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:海明码生成与校验电路的设计院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:2013年01月11日沈阳航空航天大学课程设计报告-1-目录第1章总体设计方案.........................................................................................-2-1.1设计原理.........................................................................................................-2-1.2设计思路...........................................................................................................-2-1.2设计环境.........................................................................................................-2-第2章详细设计方案.........................................................................................-3-2.1顶层方案图的设计与实现.............................................................................-3-2.1.1创建顶层图形设计文件...........................................................................-3-2.2功能模块的设计与实现.................................................................................-5-2.2.1生成模块的设计与实现..................................................................-5-2.2.2校验模块的设计与实现......................................................................-7-2.2.3校验模块的设计与实现....................................................................-10-第3章编程下载与硬件测试............................................................................-11-3.1编程下载.........................................................................................................-11-3.2硬件测试及结果分析.....................................................................................-11-参考文献................................................................................................................-13-附录(电路原理图)......................................................................................-14-沈阳航空航天大学课程设计报告-2-第1章总体设计方案1.1设计原理海明码校验的原理是在原来的数据中加入对应的校验位,通过校验位反应出错位。海明码只能纠正一位出错的数据位。(1)校验位的产生:数据位个数为n,校验位个数为k,二者关系满足不等式:2n=k+n+1,由此得出校验位个数k(一般取最小值)。(2)海明码编码:设数据位由b1,b2……bn表示,校验位由c1,c2……ck表示,校验位放在第2m位(m=1,2……),数据位的位号等于几个校验位位号之和,校验位的数值是由所有需要其位号参与相加得到位号的数据位的数值相异或产生的。(3)海明码校验:海明码的出错位数是校验位的数值与对应产生该检验位的数据位数值经异或后得到的数值组成的二进制组合。1.2设计思路1.海明码的生成:八位数据位对应的校验位是四位,用b1,b2……b8表示数据位,c1,c2,c3,c4表示校验位,构成的海明码表示为c1c2b1c3b2b3b4c4b5b6b7b8。校验位数值与数据位数值关系为:c1=b1⊕b2⊕b4⊕b5⊕b7,c2=b1⊕b3⊕b4⊕b6⊕b7,c3=b2⊕b3⊕b4⊕b8,c4=b5⊕b6⊕b7⊕b82.海明码的校验:采用偶校验,出错位由四位二进制数P1,P2,P3,P4组成P1=c1⊕b1⊕b2⊕b4⊕b5⊕b7,P2=c2⊕b1⊕b3⊕b4⊕b6⊕b7P3=c3⊕b2⊕b3⊕b4⊕b8,P4=c4⊕b5⊕b6⊕b7⊕b8出错位是P4P3P2P1。1.2设计环境硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机;EDA环境:Xilinxfoundationf3.1设计软件、COP2000仿真软件。沈阳航空航天大学课程设计报告-3-第2章详细设计方案2.1顶层方案图的设计与实现顶层方案图实现海明码的生成与校验逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。2.1.1创建顶层图形设计文件顶层图形文件主要由生成元件,校验元件和出错元件模块组装而成的一个完整的设计实体。图2.1.1生成模块沈阳航空航天大学课程设计报告-4-2.1.2器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为XlinxXCV200可编程逻辑芯片。(2)引脚锁定把顶层图形文件中的输入/输出信号安排到XilinxXCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及XilinxXCV200芯片引脚对应关系如下表。表2.1.2信号和芯片引脚对应关系图形文件中的输入/输出信号XCV200芯片引脚信号C1P83C2P84C3P85C4P86C5P70C6P71C7P72C8P73C9P79C10P80C11P81C12P82SI1P94SI2P95SI3P96SI4P97SI5P100SI6P101SI7P102SI8P103SO1P4SO2P5SO3P6SO4P7SO5P224SO6P228SO7P229SO8P230沈阳航空航天大学课程设计报告-5-SO9P231SO10P232SO11P234SO12P235JO1P220JO2P221JO3P222JO4P2232.2功能模块的设计与实现海明码生成与校验电路是由生成与校验两个模块组成。生成模块是从8个输入端输入8位数据位,经异或门得到校验位,然后依照海明码编码规律输出12位的海明码;校验模块的出错电路作用是使正确的海明码的其中一位取反得到有一位出错的海明码,并作为校验电路的十二个输入加到输入端,经过校验电路中的四个异或门得到出错的位号输出到四个输出端,实现海明码校验的功能。2.2.1生成模块的设计与实现(1)元件的内部结构生成模块的电路是由八个输入端,十二个输出端及四个异或门组成,按照公式:c1=b1⊕b2⊕b4⊕b5⊕b7,c2=b1⊕b3⊕b4⊕b6⊕b7,c3=b2⊕b3⊕b4⊕b8,c4=b5⊕b6⊕b7⊕b8,生成四个校验位c1~c4,再与八个输入的数据位按编码顺序c1c2b1c3b2b3b4c4b5b6b7b8输出12位海明码。沈阳航空航天大学课程设计报告-6-图2.2.1生成模块内部电路(2)仿真调试采用功能仿真方法对生成电路进行仿真,验证其功能正确性。图2.2.1生成模块仿真沈阳航空航天大学课程设计报告-7-仿真结果分析:表2.2.1海明码生成电路的数据输入与输出表输入的8位数据输出的海明码01101010100011001010101010111110010110111010101011110100101000101101100001011101111010100110110010100001100001010011100011001101101010011101010001100001100001101001000100100011000100101011000001011011仿真得出的海明码与之前经计算正确的海明码一致,所以生成电路是正确的。2.2.2校验模块的设计与实现校验模块由出错电路和校验电路两部分够成,共同实现校验功能。(1)出错电路的内部结构出错电路的原理是根据二进制数与1异或取反,与0异或为自身的规律设计的,电路由12个控制输入端,12个正确海明码数据输入端,12个一位出错的海明码输出端和12个异或门构成。12位海明码中使一位取反即一位出错,输出到输出端。(2)出错电路功能仿真采用功能仿真方法对出错电路进行仿真,验证其功能正确性。沈阳航空航天大学课程设计报告-8-仿真结果分析:从仿真结果可直接看出当输入的控制端某一位为1其他位都为0时可使得输入的海明码对应位取反,所以出错电路是正确的。(3)校验电路的内部结构校验电路的原理是根据公式:P1=c1⊕b1⊕b2⊕b4⊕b5⊕b7,P2=c2⊕b1⊕b3⊕b4⊕b6⊕b7,P3=c3⊕b2⊕b3⊕b4⊕b8,P4=c4⊕b5⊕b6⊕b7⊕b8,得出出错位P4P3P2P1。电路由12位一位出错的海明码作为输入端,四个显示出错位号的输出端及四个异或门构成。图2.2.2校验元件内部电路(2)校验电路功能仿真采用功能仿真方法对校验电路进行仿真,验证其功能正确性。沈阳航空航天大学课程设计报告-9-图2.2.2校验电路仿真仿真结果分析:表2.2.2校验电路的数据输入与输出表待查错的海明码出错位号1000110011101010111001111011011111111100101001011000010111001100011011000010100111010011100000011010101111010111010110000110001000110011000101000000010110110000沈阳航空航天大学课程设计报告-10-仿真结果分析:由校验电路的仿真得出的出错位与计算得到的正确的出错位一致,所以校验电路是正确的。2.2.3校验模块的设计与实现总电路是由生成模块和校验模块组成,生成模块的输出作为出错电路的数据段输入,出错电路的输出作为校验电路的输入,最后生成模块的输出与校验模块的输出作为总电路的输出。采用功能仿真方法对校验电路进行仿真,验证其功能正确性。仿真结果分析:将几个子模块的数据输入到总电路的输入端,观察输出端的数据结果与正确结果一致,所以总电路是正确的。沈阳航空航天大学课程设计报告-11-第3章编程下载与硬件测试3.1编程下载利用XilinxISE的编程下载功能,将得到的*.bin文件下载到XCV200实验板的XCV200可编程逻辑芯片中。3.2硬件测试及结果分析利用XCV200实验板进行硬件功能测试。海明码数据位的输入数据通过XCV200实验板的输入开关
本文标题:海明码生成与校验电路的设计.
链接地址:https://www.777doc.com/doc-5670295 .html