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

上传人:b****7 文档编号:10246251 上传时间:2023-02-09 格式:DOCX 页数:26 大小:447.54KB
下载 相关 举报
明海码生成与校验电路的设计.docx_第1页
第1页 / 共26页
明海码生成与校验电路的设计.docx_第2页
第2页 / 共26页
明海码生成与校验电路的设计.docx_第3页
第3页 / 共26页
明海码生成与校验电路的设计.docx_第4页
第4页 / 共26页
明海码生成与校验电路的设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

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

《明海码生成与校验电路的设计.docx》由会员分享,可在线阅读,更多相关《明海码生成与校验电路的设计.docx(26页珍藏版)》请在冰豆网上搜索。

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

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

目录

第1章总体设计方案1

1.1设计原理1

1.2设计思路2

1.3设计环境4

第2章详细设计方案5

2.1顶层方案图的设计与实现5

2.1.1创建顶层图形设计文件5

2.1.2器件的选择与引脚锁定6

2.1.3编译、综合、适配7

2.2功能模块的设计与实现7

2.2.1取补模块的设计与实现7

2.2.2选择器模块的设计与实现10

2.2.3乘数补码移位寄存器模块的设计与实现13

2.2.4部分积移位寄存器模块的设计与实现15

2.2.5加法器模块的设计与实现17

2.3仿真调试17

第3章编程下载与硬件测试20

3.1编程下载20

3.2硬件测试及结果分析20

参考文献22

附录(电路原理图)23

第1章总体设计方案

1.1设计原理

海明校验码是由理查得·海明(RichardHanmming)于1950年提出的,它不仅具有检测错误的能力,同时还具有给出错误所在的准确位置的能力,这在通信领域有着很广泛的应用。

海明校验码是在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中。

当某一位出错后,就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠错提供了证据。

海明码能检测出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,可表示为:

H12——H1,4个校验位P4~P1对应的海明码位号分别为:

H8/H4/H2/H1,则有如下排列关系:

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

(二)海明码的校验:

海明码校验函数(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)采用自上而下的设计方法,顶层设计使用原理图设计输入方式;底层设计输入方式自行选定;

(2)课程设计的电路主要应包括:

寄存器·P函数发生器和门电路等。

其中控制信号可选用外部开关或VHDL语言以控制器方式实现,其他部分可以调用系统资源库中的器件;

(3)数据位数由指导老师指定;

(4)对设计电路进行仿真并验证其正确性,仿真数据由指导老师给出;

(5)实现编程下载和硬件测试;

(6)独立设计·调试·仿真·下载和硬件测试并通过指导老师现场验收;

(7)撰写课程实验报告。

课程设计的思路为:

海明码的生成有着规律,通过其规律找出相同点

1.3设计环境

(1)硬件环境

•伟福COP2000型计算机组成原理实验仪

COP2000计算机组成原理实验系统由………

•COP2000集成调试软件

COP2000集成开发环境是为………….

(2)EDA环境

•Xilinxfoundationf3.1设计软件

图1.1Xilinxfoundationf3.1设计平台

Xilinxfoundationf3.1是Xilinx公司主要的可编程器件开发工具,它可用来开发Xilinx公司的Spar-tan?

Virtex?

XC3000?

XC4000?

XC5200系列的FPGA芯片和XC9500系列的CPLD芯片。

该平台功能强大,主要用于百万逻辑门级的设计和1Gb/s的高速通信内核的设计。

利用该系统可完成从设计构想到比特流下载的全部过程。

该平台以工程管理器为主界面,同时集成了Xilinx公司以及其他公司的一些优秀软件。

 

第2章详细设计方案

2.1顶层方案图的设计与实现

顶层方案图是………….

2.1.1创建顶层图形设计文件

顶层图形文件的设计实体……………….顶层图形文件结构如图2.1所示:

图2.1顶层图形文件结构图

2.1.2器件的选择与引脚锁定

(1)器件的选择

由于硬件……………

(2)引脚锁定

把顶层图形文件中的………………对应关系如表2.1所示:

图形文件中的输入/输出信号

XCV200芯片引脚信号

GRD

P50

ZCLOCK

P213

FJW

P47

CLR

P49

VCC

P48

S1

P80

S2

P81

S3

P82

S4

P84

S5

P85

S6

P86

S7

P87

Y1

P95

Y2

P96

Y3

P97

Y4

P100

Y5

P101

Y6

P102

Y7

P103

E0

P63

E1

P73

E2

P72

E3

P71

E4

P70

E5

P66

E6

P65

E7

P64

表2.1信号和芯片引脚对应关系

2.1.3编译、综合、适配

利用Xilinxfoundationf3.1的原理图编辑器…………

2.2功能模块的设计与实现

功能模块主要…………..

2.2.1取补模块的设计与实现

进行求补的方法………….

(1)电路模块设计原理图。

求乘数补码电路原理结构如图2.2所示,实际电路如图2.3所示。

图2.2电路模块逻辑框图

图2.3实际取补电路

(2)创建元件图形符号

其元件图形符号如图2.4所示:

图2.4求乘数补码电路模块元件图形符号

(3)功能仿真

对创建的取补模块进行功能仿真,验证其功能的正确性,可用Xilinxfoundationf3.1编译器的Simulator模块实现。

仿真结果如图2.5所示:

图2.5取补模块仿真结果

2.2.2选择器模块的设计与实现

选择器主要由一个D2-4E芯片和逻辑门电路控制选择输出。

输入端输入的值分别为

以及“00000000”(八个输入端为一组)。

D2-4E芯片的

端的“0”和“1”控制

为01时,输出为

高电平,即为

输出值为1,通过逻辑门电路实现输出为

的值;当

为10时,输出为

为高电平,即为

输出值为1,通过逻辑门电路实现输出为

的值;当

为00时,输出为

为高电平,即为

输出值为1,同时当

为11时,输出为

为高电平,即为

输出值为1,由于此时

输出值为相同,故此两条数据线通过一个或门输出一条数据线,此时输出值为“00000000”。

正好实现三输入一输出的选择器模块。

(1)创建选择器设计原理图。

三输入一输出选择器原理结构如图2.6所示:

图2.6选择器原理框图

(2)创建元件图形符号

其元件图形符号如图2.7所示:

图2.7选择器元件图形符号

(3)功能仿真

对创建的三输入一输出器模块进行功能仿真,验证其功能的正确性,可用Xilinxfoundationf3.1编译器的Simulator模块实现。

仿真结果如图2.8所示:

图2.8选择模块仿真结果图

2.2.3移位寄存器模块的设计与实现

乘数补码移位寄存器模块由八个二选一选择器(MUXCY),9个寄存器(FD)组成,

端输入的是1个低电平信号其余都为高电平信号。

MUXCY选择器由控制信号

端,输入端

,以及输出端

组成,当

端为低电平信号时,选择输出

值,当

端为高电平信号时,选择输出

值。

每次的输出信号寄存到FD中,MUXCY输出端

连接下一位的寄存器,这样就实现了移位寄存的功能。

移位的

两个输出端恰好为

的两个值,

的两个值要分别接到选择器的

端。

(1)移位寄存器模块设计原理图。

乘数补码移位寄存器原理结构如图2.9所示:

图2.9乘数补码移位寄存器原理结构图

(2)创建元件图形符号

其元件图形符号如图2.10所示:

图2.10乘数补码移位寄存器电路模块元件图形符号

(3)功能仿真

对创建的乘数补码移位寄存器模块进行功能仿真,验证其功能的正确性,可用Xilinxfoundationf3.1编译器的Simulator模块实现。

仿真结果如图2.11所示:

图2.11乘数补码移位寄存器模块仿真结果

2.2.4部分积移位寄存器模块的设计与实现

部分积移位寄存器模块是由一个8位寄存器(FD8CE)和四个逻辑门电路组成,实现部分积移位寄存功能。

由于部分积的初始值为“00000000”,这样就要求FD8CE寄存器的初始值为“00000000”,只需要给清零端

一个高电平的信号即可实现。

进行部分积移位时,要求移位过程中保证符号位相同,这样就需要把第一位符号位复制为两个数,而其余的6位相继向下串一位,这样就实现了移位功能,同时还保证的符号位相同。

(1)部分积移位寄存器设计原理图。

部分积移位寄存器原理结构如图2.12所示:

图2.12部分积移位寄存器原理图

(2)功能仿真

对创建的寄存器模块进行功能仿真,验证其功能的正确性,可用Xilinxfoundationf3.1编译器的Simulator模块实现。

仿真结果如图2.13所示:

图2.13部分积移位寄存器仿真结果

2.2.5加法器模块的设计与实现

加法器模块是在系统提供的八位加法器(ADD8)的基础上,根据实际情况改造而来。

由于系统ADD8的输入输出的高低位与前几个模块的正好相反,所以为了实现功能对ADD8进行了改装。

改装后内部结构如图2.14所示。

图2.14改装后加法器内部结构图

2.3仿真调试

仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。

通过多组数据进行仿真测试,分别对两个正数相乘,一个正数与一个负数相乘,两个负数相乘结果进行检验。

(1)建立仿真波形文件及仿真信号选择

功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表2.3所示。

输入信号

输出信号

S1—S7

Y1—Y7

CLR

CLOCK

FJW

I0—I7,I13-I8

0111011

0000100

10000000

01010101

0

00000011,101100

1111011

0000100

10000000

01010101

0

11111100,010100

1111011

1000100

10000000

01010101

0

00000011,101100

表2.3仿真信号相关参数表

(2)功能仿真结果与分析

仿真结果分别如图2.15

所示。

图2.15功能仿真波形结果

由表2.3和图2.15所示信息对比可知,多组仿真都完全正确,说明本设计能实现补码一位乘法计算功能。

第3章编程下载与硬件测试

3.1编程下载

利用COP2000仿真软件的编程下载功能,将得到.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。

3.2硬件测试及结果分析

利用XCV200实验板进行硬件功能测试。

……….的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.1所示。

XCV200芯片引脚信号

XCV200实验板

P95

K0:

6

P96

K0:

5

P97

K0:

4

P100

K0:

3

P101

K0:

2

P102

K0:

1

P103

K0:

0

P80

K1:

6

P81

K1:

5

P82

K1:

4

P84

K1:

3

P85

K1:

2

P86

K1:

1

P87

K1:

0

P63

K2:

7

P73

K2:

0

P72

K2:

1

P71

K2:

2

P70

K2:

3

P66

K2:

4

P65

K2:

5

P64

K2:

6

P213

P213

P48

K3:

1

P49

K3:

2

P47

K3:

3

表3.1XCV200实验板信号对应关系

 

参考文献

[1]曹昕燕.EDA技术实验与课程设计[M].北京:

清华大学出版社,2006

[2]范延滨.微型计算机系统原理、接口与EDA设计技术[M].北京:

北京邮电大学出版社,2006

[3]王爱英.计算机组成与结构(第三版)[M].北京:

清华大学出版社,2006

[4]白中英.计算机组成原理(第四版)[M].北京:

科学出版社,2009

[5]胡越明.计算机组成与设计[M].北京:

科学出版社,2006

[6]江国强.EAD技术习题与实验[M].北京:

电子工业出版社,2005

[7]柳春风.电子设计自动化(EAD)教程[M].北京:

北京理工大学大学出版社,2005

 

附录(电路原理图)

课程设计总结:

本次课程设计,我受益匪浅。

当拿到课设题目后,我犯了想当然的错误,乐观的认为,题目很简单,原理很简单。

但在具体实行时却遇到许多困难,对Xilinxfoundationf3.1设计软件的陌生更加阻碍着我的进程。

于是,我决定沉下心来好好研究原理及软件的运用。

用了一天的时间将软件中的自带芯片的功能查询了一遍,基本找到需要的芯片。

之后,又学习了对电路封装的方法,再后来就能灵活的操作该软件,这对整个电路的设计很有帮助。

随后开始将各个部件连接到一起,这里也充满学问,不是单单的组合在一起,而是要综合考虑整体电路的节拍,以保证各个部件有序工作。

没有找到现成的三选一芯片,我只好自己设计。

设计的过程还真是痛苦,头脑中不断出现想法,但有一个个被现实否定,只能另寻方法。

不过,功夫不负有心人。

终于,我的想法终于在现实中实现了,就这样我完成了三选一芯片的设计,那时的我有一种释然的感觉,不过,我知道这只是一小步,要想最终完成还有很长的路要走,所以要继续努力。

在课设期间,我老师和同学都给予我很大的帮助,老师们总是不厌其烦的为我解决疑惑,同学们总是在我要放弃时鼓励我,这些都使我的课设顺利完成,在这里我要衷心说声谢谢,这份珍贵的经历,我会永远记在心中。

指导教师评语:

 

指导教师(签字):

      年月日

课程设计成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1