组成原理课程设计报告浮点数加法器Word文档格式.docx

上传人:b****6 文档编号:17311175 上传时间:2022-12-01 格式:DOCX 页数:22 大小:146.79KB
下载 相关 举报
组成原理课程设计报告浮点数加法器Word文档格式.docx_第1页
第1页 / 共22页
组成原理课程设计报告浮点数加法器Word文档格式.docx_第2页
第2页 / 共22页
组成原理课程设计报告浮点数加法器Word文档格式.docx_第3页
第3页 / 共22页
组成原理课程设计报告浮点数加法器Word文档格式.docx_第4页
第4页 / 共22页
组成原理课程设计报告浮点数加法器Word文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

组成原理课程设计报告浮点数加法器Word文档格式.docx

《组成原理课程设计报告浮点数加法器Word文档格式.docx》由会员分享,可在线阅读,更多相关《组成原理课程设计报告浮点数加法器Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

组成原理课程设计报告浮点数加法器Word文档格式.docx

在连接具体电路时配合门电路以达到预期效果。

浮点数加法器的底层、顶层的设计都采用原理图设计输入方式,经编译、调试后形成zyks.bit文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。

1.3设计环境

1.3.1硬件环境

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

COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成实验平台上有寄存器组R0-R3、运算单元、累加器A、暂存器B、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20个按键、字符式LCD、RS232口。

系统在实验时即使不借助PC机,也可实时监控数据流状态及正确与否,实验系统的软硬件对用户的实验设计具有完全的开放特性,系统提供了微程序控制器和组合逻辑控制器两种控制器方式,系统还支持手动方式、联机方式、模拟方式三种工作方式,系统具备完善的寻址方式、指令系统和强大的模拟调试功能。

1.3.2EDA环境

•Xilinxfoundationf3.1设计软件

Xilinxfoundationf3.1是Xilinx公司的可编程期间开发工具,该平台功能强大,主要用于百万逻辑门设计。

该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。

设计入口工具用于接收各种图形或文字的设计输入,并最终生成网络表文件。

设计实现工具用于将网络表转化为配置比特流,并下载到器件。

设计验证工具用来对设计中的逻辑关系及输出结果进行检验,并分析各个时序限制的满足情况。

•COP2000集成调试软件

COP2000集成开发环境是为COP2000实验仪与PC机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA实验等功能,该软件在Windows下运行。

第2章详细设计方案

2.1总体方案的设计与实现

本课设要求控制信号可以采用外部开关输入或用VHDL语言编写的控制器输出的控制信号,其他部分可以调用系统资源库中的器件;

必须用基本的逻辑门实现,然后封装。

通过设计和分析,将本次设计分为五个模块来实现。

原补转换模块用于整个过程中的原补转换。

如将输入的原码转换为补码。

阶码选择模块用于选择结果的阶码。

数值选择模块用于选择需要移位的数据并将其传送给移位器。

数据移位模块用于将需要移位的数据进行移位并将其传送给加法器进行相加运算。

超前进位加法模块用于过程的各种计算。

例如补码的相减和数据的相加。

本次实验逻辑层次分明,共分为六个层次,分别完成输入的原补转换,移位次数的计算,数据选择,数据移位,数据相加计算及最后结果的输出。

其总体设计框图如图2.1所示。

数据相加

补码转为原码并输出

两阶码相减决定移位次数及结果阶码

原码输入并求补码

数据选择

数据移位

图2.1浮点数加法器整体设计框图

2.2功能模块的设计与实现

2.2.1原补转换模块的设计与实现

2.2.1.1功能描述

由于在计算机内部数据的存储以及运算是以补码的方式进行,因此首先我们应将输入的原码转换为补码。

对于正数(带符号位)来说,其原码、补码一致。

对于负数(带符号位)来说,其反码为符号位不变,其余各位按位取反(即反码)后末位加1。

故对原补转换模块来说,其功能为将输入的原码转化为补码。

其输入为原始数据的原码,输出为供以后继运算的补码。

2.2.1.2电路图

正数的符号位为0,负数的符号位为1,故如将符号位与数据位进行异或运算,即可获得反码。

而对于正数原码、反码、补码相同。

而负数的补码则为反码加1,加1操作可由数据位的末位与上符号位产生,经由与门逐级传递进位。

并且由于正数的符号位为0,该逻辑对正数无影响。

其电路图如图2.2所示。

图2.2原补转换电路

封装图如图2.3所示。

图2.3原补转换芯片封装外观图

2.2.1.3功能仿真

表2.1原补转换电路测试数据

输入数据

输出数据

1,10010111010

1,01101000110

0,10010111010

1,01101001011

1,10010110101

0,00110110100

测试数据如表2.1所示。

图2.4原补转换电路测试图

仿真图说明:

图2.4中,红线所示数据输入为1,10010111010,其真实输出为1,01101000110。

蓝线所示数据输入为0,00110110100,其真实输出为0,00110110100。

从仿真结果分析,对于给定的例子,其输出与预想的输出完全一致,说明电路的实现符合设计要求。

2.2.2阶码选择模块的设计与实现

2.2.2.1功能描述

对于浮点数来说,在运算时需要进行对阶操作,然后选择较大的阶码作为输出结果的阶码,并且对阶码较小的数字的补码进行移位操作。

故阶码选择模块的输入与输出均为阶码的补码。

其功能为对阶码进行选择。

2.2.2.2电路图

在阶码选择电路中,我们采用了二选一数据选择器。

它包括一个控制端S0,两个数据输入端D0,D1及一个数据输出端O。

其真值表如表2.2:

表2.2二选一数据选择器真值表

控制端S0

输入端D0

输入端D1

输出端O

X

1

由真值表可看出。

当S0为0时,输出为D0,S0为1时,输出为D1。

故可将两阶码相减之后产生的符号位作为S0的输入信号,被减数的阶码与D0相连,件数的阶码与D1相连,这样就可以实现选择输出。

其电路图如图2.5所示。

图2.5补码选择电路

封装图如图2.6所示。

图2.6补码选择电路封装效果图

2.2.2.3功能仿真

表2.3补码选择电路测试数据

COIN(相减符号位)

输入阶码1

输入阶码2

输出阶码

0110

0011

1010

1100

测试数据如表2.3所示。

图2.7补码选择电路测试图

图2.7中,红线所示数据输入C0IN为1,阶码1为1010,阶码2为1100,其真实输出1100。

蓝线所示数据输入COIN为0,阶码1为0110,阶码2为0011,其真实输出为0110。

2.2.3数值选择模块的设计与实现

2.2.3.1功能描述

在对阶过程结束后,需要对阶码较小的数字的补码进行移位操作。

这时便需要对输入的两个数据进行选择,然后再进行移位和相加等操作。

故数值选择模块的输入与输出均为数值的补码。

其功能为对数值进行选择和分流输出。

2.2.3.2电路图

在数值选择电路中,我们同样采用了二选一数据选择器。

但此时,输出由原来的4位更改为了8位,即输入的两组数值均要进行输出。

其中,高四位为需要进行移位的数据,低四位为不需要进行移位的数据。

此时的COIN(与数据选择器的控制端S0相连)仍为两阶码相减之后产生的符号位。

被减数连至A23-A20,减数连至A13-A10。

其电路图如图2.8所示。

图2.8数值选择器电路图

封装图如图2.9所示。

图2.9数值选择电路封装效果图

2.2.3.3功能仿真

表2.4数据选择电路测试数据

输入数值1

输入数值2

输出数值

0110,0011

1100,1010

测试数据如表2.4所示。

图2.10数值选择电路测试图

图2.10中,红线所示数据输入C0IN为1,数值1为1010,数值2为1100,其真实输出11001010。

蓝线所示数据输入COIN为0,数值1为0110,数值2为0011,其真实输出为01100011。

2.2.4数据移位模块的设计与实现

2.2.4.1功能描述

经过对阶过程与数据选择过程后,我们得到了移位的次数和待移位的数据,接下来则需要用数据移位模块对数据进行移位操作。

故数据移位模块的输入为待移位的数据(补码)与移位次数(原码),输出为移位后的数据(补码)。

其功能为对数据进行移位和输出。

2.2.4.2电路图

根据计算机中数据存储的特点可知S2,S1,S0的位权分别为4,2,1。

即若S2为1,数据需右移四位,S1为1,数据需右移两位,S0为1,数据需右移一位。

另根据数据补位的原则可知,如原数据为正数则补0,为负数则补1。

故当S0为控制信号时,可在相邻两位间用二选一数据选择器相连,当S0为1时输出高位,S0为0时输出低位。

本级的输出用以作为当S1为控制信号时的输入。

当S1为控制信号时,每隔一位进行选择。

同理S2为控制信号时,每隔三位进行选择。

而对于补位来说,则由符号位与数据位进行数据选择得到。

S0为控制信号时符号位仅与最高位相与,S1为控制信号时符号位与最高两位相与,S3时则为最高四位。

S0作为控制信号时的输出为S1作为控制信号时的输入,S1为控制信号的输出为S2是控制信号时的输出。

最后的输出仅有数据位,不含符号位。

其电路如图2.11所示。

图2.11数据移位器电路图

封装图如图2.12所示。

图2.12数值移位电路封装效果图

2.2.4.3功能仿真

表2.5数据移位电路测试数据

移位次数S2-S0

输入数值C,A10-A0

输出数值B10-B0

010

0,11010001011

00110100010

101

1,00101110011

11111001011

测试数据如表2.5所示。

图2.13数据移位电路测试图

图2.13中,红线所示数据,输入S2,S1,S0为010,数值为0,11010001011,其真实输出为00110100010。

对于蓝线所示数据,输入S2,S1,S0为101,数值为1,00101110011,其真实输出为11111001011。

2.2.5加法模块的设计与实现

2.2.5.1功能描述

在上述模块全部运行结束后,需要将得到的移位过的数据进行相加得到最终的结果。

故加法模块的输入为数据移位器输出的一组移位后的数据已经数据选择器输出的一组不移位的数据。

输出为相加之后的数据。

其功能是实现两个数的超前进位加法运算。

2.2.5.2电路图

设二进制加法器第i位为Ai,Bi,输出为Si,进位输入为Ci,进位输出为Ci+1,则有:

Si=Ai⊕Bi⊕Ci,Ci+1=Ai*Bi+Ai*Ci+Bi*Ci=Ai*Bi+(Ai+Bi)*Ci。

令Gi=Ai*Bi,Pi=Ai+Bi,则Ci+1=Gi+Pi*Ci当Ai和Bi都为1时,Gi=1,产生进位Ci+1=1。

当Ai和Bi有一个为1时,Pi=1,传递进位Ci+1=Ci。

因此Gi定义为进位产生信号,Pi定义为进位传递信号。

Gi的优先级比Pi高,也就是说:

当Gi=1时无条件产生进位,而不管Ci是多少;

当Gi=0而Pi=1时,进位输出为Ci,跟Ci之前的逻辑有关。

设4位加数和被加数为A和B,进位输入为Cin,进位输出为Cout,对于第i位的进位产生Gi=Ai·

Bi,进位传递Pi=Ai+Bi,i=0,1,2,3

于是对于各级进位输出,递归的展开Ci有:

C0=Cin

C1=G0+P0·

C0

C2=G1+P1·

C1=G1+P1·

G0+P1·

P0·

C3=G2+P2·

C2=G2+P2·

G1+P2·

P1·

G0+P2·

C4=G3+P3·

C3=G3+P3·

G2+P3·

P2·

G1+P3·

G0+P3·

Cout=C4

由此可以看出,各级的进位彼此独立产生,只与输入数据和Cin有关,将各级间的进位级联传播给去掉了,因此减小了进位产生的延迟。

故其电路图如图2.14所示。

图2.144位超前进位加法器电路图

封装图如图2.15所示。

图2.154位超前进位加法器封装效果图

2.2.5.3功能仿真

表2.6加法电路测试数据

上级进位C0

输入数值A3-A0

输入数值B3-B0

1011

0100

1111

0101

1001

测试数据如表2.6所示。

图2.16加法电路测试图

图2.16中,红线所示数据,输入C0为1,数值A3-A0为0101,B3-B0为1001,其真实输出为1111。

对于蓝线所示数据,输入C0为1为0,数值A3-A0为1011,B3-B0为1001,其真实输出为1111。

2.3总电路仿真测试

仿真测试试主要验证设计电路逻辑功能、时序的正确性,本次设计为浮点数加法器,设计完成主要采用功能仿真方法对设计的电路进行仿真从而验证其电路功能的正确性。

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

功能仿真时,首先建立仿真波形文件,数据输入AJ3-AJ0、AS11-AS0、BJ3-BJ0、BS11-BS0,结果输出为OJ3-OJ1、OS11-OS0。

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

图2.17总电路仿真波形

图2.18总电路输出结果

如图2.17、2.18从波形可以清楚的看出输入和输出结果,在本次测试中输入的两个数为分别为0,010,0,01101011001与1,011,1,00011010100。

从图2.17、2.18可以看到输出结果为0,010,0,01101010010,经过对比正确无误,即说明总的电路设计成功,符合课设题目的基本要求。

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

3.1编程下载

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

3.2硬件测试及结果分析

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

浮点数加法器的全部输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.1所示。

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

引脚信号名称

XCV200实验板引脚名称

XCV200实验板引脚号

AJ3

P33

K4:

7

AJ2

P34

6

AJ1

P35

5

AJ0

P36

4

AS11

P38

3

AS10

P39

2

AS9

P40

AS8

P41

AS7

P53

K3:

AS6

P55

AS5

P54

AS4

AS3

P50

AS2

P49

AS1

P48

AS0

P47

BJ3

P63

K2:

BJ2

P64

BJ1

P65

BJ0

P66

BS11

P70

BS10

P71

BS9

P72

BS8

P73

BS7

P79

K1:

BS6

P80

BS5

P81

BS4

P82

BS3

P84

BS2

P85

BS1

P86

BS0

P87

OJ3

P78

B7

OJ2

P93

B6

OJ1

P99

B5

OJ0

P107

B4

OS11

P108

B3

OS10

P109

B2

OS9

P124

B1

OS8

P125

B0

OS7

P147

A7

OS6

P152

A6

OS5

P178

A5

OS4

P184

A4

OS3

P185

A3

OS2

P203

A2

OS1

P111

A1

OS0

P110

A0

利用表2.2中的输入参数作为输入数据,逐个测试输出结果,即用XCV200实验板的开关组K4、K3、K2、K1输入数据,同时观察LED指示灯显示结果,得到如图3.1所示的硬件测试结果。

图3.1硬件测试结果图

参考文献

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

清华大学出版社,2006

[2]唐朔飞.计算机组成原理(第二版)[M].北京:

高等教育出版社,2008

[3]李景华.可编程程逻辑器件与EDA技术[M].北京:

东北大学出版社,2001

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

[5]王冠.VerilogHDL与数字电路设计[M].北京:

机械工业出版社,2005

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

电子工业出版社,2005

[7]杜建国.VerilogHDL硬件描述语言[M].北京:

国防工业出版社,2004

附录

课程设计总结:

通过此次组成原理课程设计,让我懂得了学习要理论联系实践,在实践中能学到很多书本上没有的东西。

这次课程设计,我遇到了很多问题,刚开始拿到题目的时候觉得很熟悉但是不知道从何下手,后来经过查资料和老师的帮助才有了思路。

但很快又有了新的问题,在各个模块设计好了之后,在仿真过程中,有几个模块因为连线问题仿真结果出错,经过整改后整个仿真成功通过。

但最终由于个人水平有限,仍旧不能十分完美的实现计算机中加法器的功能。

例如舍入和判断溢出等功能仍未能实现。

通过这次实验设计,使我了解了许多计算机组成原理知识,加深了我对浮点数的存储格式以及运算方式的理解,将理论知识很好的应用在实践中,同时通过本次实验也初步掌握了编程语言及原理图实现芯片生成的功能。

在不断的研究复习中也掌握了Xilinxfoundationf3.1设计软件和COP2000集成调试软件的使用及相关知识,能独立的制作和生成所需要的逻辑部件。

在加深理论知识的同时,个人实践能力及动手能力得到提高。

更重要的是知道了自己在设计方面的不足和所需要学习的知识,在这次设计中指导老师给予了我很大的帮助,在此表示感谢!

并且在以后的学习和实验中会更加努力的学习,弥补自己的不足。

指导教师评语:

指导教师(签字):

      年月日

课程设计成绩

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

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

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

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