文档详情

海明码生成与校验电路的设计1.doc

发布:2017-03-19约字共23页下载文档
文本预览下载声明
目 录 第1章 总体设计方案 1 1.1 设计原理 1 1.2 设计思路 1 1.3 设计环境 2 第2章 详细设计方案 4 2.1 顶层方案图的设计与实现 4 2.1.1创建顶层图形设计文件 4 2.1.2器件的选择与引脚锁定 6 2.2 功能模块的设计与实现 7 2.2.1海明码SHENGCHENG模块的设计与实现 7 2.2.2海明码ERROR模块的设计与实现 7 2.2.3海明码JIAOYAN模块的设计与实现………………………………………9 3.1 编程下载 13 3.2 硬件测试及结果分析 13 参考文献 14 附 录(程序清单或电路原理图) 15 第1章 总体设计方案 1.1 设计原理 海明校验码是在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠错提供了证据。海明码能检测出2位错误,并能纠正1位错误。 (1)数据位和校验位的关系 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余的2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系: 2r=k+r+1 ?(发现一位错) ? 2r-1=k+r (发现与自动校正一位错,并发现两位错) 数据位与校验位的对应关系 K值 最小的r值 1~4 5~11 12~26 27~57 58~120 4 5 6 7 8 (2)海明码的编码规律 若海明码的最高位号为m,最低位号为1,即HmHm-1…H2H1,则海明码的编码规律通常是: ?a.校验位与数据位之和为m,每个校验位Pi在海明码中被分在?2i-1的位置,其余各位为数据位,并按从低向高逐位依次排列的关系分配各数据位。 ?b.海明码的每一位Hi(包含数据位和校验位本身)由多个校验位校验,其关系是被校验的每一位位号要等于校验它的各校验位的位号之和。这样安排的目的,是希望校验的结果能正确反映出出错位的位号。 1.2 设计思路 (一)海明码的生成:上述规律讨论一个字节的海明码。每个字节由8个二进制位组成,此处的k为8,按照数据位和校验位的对应关系,r应为5,由于总校验位只是检测两位出错还是一位出错,因此设计时不必考虑它的值,设r为4,故海明码的总位数为12,可表示为: H12H11…H3H2H1, 4个校验位P4~P1对应的海明码位号分别为:H8,H4,H2,H1。其余为数据位Di,则有如下排列关系: D8D7D6D5P4D4D3D2P3D1P2P1 每个海明码的位号要等于参与校验它的几个校验位的位号之和,因此得出如下的表格: 出错的海明码位号和校验位位号的关系 海明码位号 数据位/校验位 参与校验的校验位位号 被校验位的海明码位号=校验位位号之和 H1 P1 1 1=1 H2 P2 2 2=2 H3 D1 1,2 3=1+2 H4 P3 4 4=4 H5 D2 1,4 5=1+4 H6 D3 2,4 6=2+4 H7 D4 1,2,4 7=1+2+4 H8 P4 8 8=8 H9 D5 1,8 9=1+8 H10 D6 2,8 10=2+8 H11 D7 1,2,8 11=1+2+8 H12 D8 4,8 12=4+8 P1=D1⊕D2⊕D4⊕D5⊕D7 P2=D1⊕D3⊕D4⊕D6⊕D7 P3=D2⊕D3⊕D4⊕D8 P4=D5⊕D6⊕D7⊕D8 在这种安排中,每一位数据位,都至少出现3个Pi值的形成关系中,当任一位数据码发生变化时,必将引起3个或4个Pi值跟着变化,该海明码的码距为4。 (二)海明码的校验: 海明码校验函数(S函数)及校验过程?偶校验? S1=P1⊕D1⊕D2⊕D4⊕D5⊕D7 S2=P2⊕D1⊕D3⊕D4⊕D6⊕D7 S3=P3⊕D2⊕D3⊕D4⊕D8 S4=P4⊕D5⊕D6⊕D7⊕D8 1.3 设计环境 ·硬件环境:伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机; ·EDA环境:Xilinx foundation f3.1设计软件、COP2000仿真软件。 图1.1 Xilinx foundation f3.1设计平台 第2章 详细设计方案 2.1 顶层方案图的设计与实现 顶层方案图实现海明码的生成与校验逻辑功能,采
显示全部
相似文档