浮点数加法器的设计.doc

上传人:文****钱 文档编号:43282 上传时间:2018-05-09 格式:DOC 页数:24 大小:398.41KB
下载 相关 举报
浮点数加法器的设计.doc_第1页
第1页 / 共24页
浮点数加法器的设计.doc_第2页
第2页 / 共24页
浮点数加法器的设计.doc_第3页
第3页 / 共24页
浮点数加法器的设计.doc_第4页
第4页 / 共24页
浮点数加法器的设计.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、沈阳航空航天大学课程设计报告课程设计名称计算机组成原理课程设计课程设计题目浮点数加法器院(系)计算机学院专业计算机科学与技术班级学号姓名指导教师完成日期I目录第1章总体设计方案211设计原理212设计思路213设计环境3131硬件环境3132EDA环境3第2章详细设计方案421总体方案的设计与实现422功能模块的设计与实现5221原补转换模块的设计与实现5222阶码选择模块的设计与实现7223数值选择模块的设计与实现9224数据移位模块的设计与实现11225加法模块的设计与实现1423总电路仿真测试16第3章编程下载与硬件测试1931编程下载1932硬件测试及结果分析19参考文献21附录222

2、第1章总体设计方案11设计原理本次课程设计的题目为浮点数加法器的设计,使用XILINXFOUNDATIONF31可编程器件开发工具软件,以及伟福COP2000试验箱实现目的设计。具体要求为必须用基本逻辑门实现,浮点数的长度固定。根据所学可知,浮点数共由两部分组成。第一部分是阶码,第二部分是数据。这两部分又分别分为两部分。阶码由阶符和数值组成,数据由数符和数字组成。由于在计算机的存储和运算中,数据由补码表示。故首先应将输入的原码转化为补码。在此过程中,正数保持不变,负数则对除符号位以外的各位按位取反,再进行加1操作。然后对两数的阶码进行运算,决定移位的次数和结果的阶码。在移位时,对正数进行补0操

3、作,对负数则进行补1操作。再对移位后的数据视为定点数进行相加运算。进而实现浮点数相加的功能。最后再将得到的结果转化为原码,进行输出。12设计思路按照课设题目要求及原理图,先设计出电路的具体模块图,浮点数加法器的设计共包含如下五个模块原补转换模块阶码选择模块数值选择模块数据移位模块超前进位加法模块在五个部分中分别设计实现相应功能的器件,包括二选一数据选择器等。在连接具体电路时配合门电路以达到预期效果。浮点数加法器的底层、顶层的设计都采用原理图设计输入方式,经编译、调试后形成ZYKSBIT文件并下载到XCV200可编程逻辑芯片中,经硬件测试验证设计的正确性。313设计环境131硬件环境伟福COP2

4、000型计算机组成原理实验仪COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成实验平台上有寄存器组R0R3、运算单元、累加器A、暂存器B、直通/左移/右移单元、地址寄存器、程序计数器、堆栈、中断源、输入/输出单元、存储器单元、微地址寄存器、指令寄存器、微程序控制器、组合逻辑控制器、扩展座、总线插孔区、微动开关/指示灯、逻辑笔、脉冲源、20个按键、字符式LCD、RS232口。系统在实验时即使不借助PC机,也可实时监控数据流状态及正确与否,实验系统的软硬件对用户的实验设计具有完全的开放特性,系统提供了微程序控制器和组合逻辑控制器两种控制器方式,系统还支持手动方式、联机方式、

5、模拟方式三种工作方式,系统具备完善的寻址方式、指令系统和强大的模拟调试功能。132EDA环境XILINXFOUNDATIONF31设计软件XILINXFOUNDATIONF31是XILINX公司的可编程期间开发工具,该平台功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。设计入口工具用于接收各种图形或文字的设计输入,并最终生成网络表文件。设计实现工具用于将网络表转化为配置比特流,并下载到器件。设计验证工具用来对设计中的逻辑关系及输出结果进行检验,并分析各个时序限制的满足情况。COP2000集成调试软件COP2000集成开发环境是为COP2000实验

6、仪与PC机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA实验等功能,该软件在WINDOWS下运行。4第2章详细设计方案21总体方案的设计与实现本课设要求控制信号可以采用外部开关输入或用VHDL语言编写的控制器输出的控制信号,其他部分可以调用系统资源库中的器件;必须用基本的逻辑门实现,然后封装。通过设计和分析,将本次设计分为五个模块来实现。原补转换模块用于整个过程中的原补转换。如将输入的原码转换为补码。阶码选择模块用于选择结果的阶码。数值选择模块用于选择需要移位的数据并将其传送给移位器。数据移位模块用于将需要移

7、位的数据进行移位并将其传送给加法器进行相加运算。超前进位加法模块用于过程的各种计算。例如补码的相减和数据的相加。本次实验逻辑层次分明,共分为六个层次,分别完成输入的原补转换,移位次数的计算,数据选择,数据移位,数据相加计算及最后结果的输出。其总体设计框图如图21所示。图21浮点数加法器整体设计框图数据相加补码转为原码并输出两阶码相减决定移位次数及结果阶码原码输入并求补码数据选择数据移位522功能模块的设计与实现221原补转换模块的设计与实现2211功能描述由于在计算机内部数据的存储以及运算是以补码的方式进行,因此首先我们应将输入的原码转换为补码。对于正数(带符号位)来说,其原码、补码一致。对于

8、负数(带符号位)来说,其反码为符号位不变,其余各位按位取反(即反码)后末位加1。故对原补转换模块来说,其功能为将输入的原码转化为补码。其输入为原始数据的原码,输出为供以后继运算的补码。2212电路图正数的符号位为0,负数的符号位为1,故如将符号位与数据位进行异或运算,即可获得反码。而对于正数原码、反码、补码相同。而负数的补码则为反码加1,加1操作可由数据位的末位与上符号位产生,经由与门逐级传递进位。并且由于正数的符号位为0,该逻辑对正数无影响。其电路图如图22所示。图22原补转换电路封装图如图23所示。图23原补转换芯片封装外观图62213功能仿真表21原补转换电路测试数据输入数据输出数据1,

9、100101110101,011010001100,100101110100,100101110101,011010010111,100101101010,001101101000,00110110100测试数据如表21所示。图24原补转换电路测试图仿真图说明图24中,红线所示数据输入为1,10010111010,其真实输出为1,01101000110。蓝线所示数据输入为0,00110110100,其真实输出为0,00110110100。从仿真结果分析,对于给定的例子,其输出与预想的输出完全一致,说明电路的实现符合设计要求。7222阶码选择模块的设计与实现2221功能描述对于浮点数来说,在运算

10、时需要进行对阶操作,然后选择较大的阶码作为输出结果的阶码,并且对阶码较小的数字的补码进行移位操作。故阶码选择模块的输入与输出均为阶码的补码。其功能为对阶码进行选择。2222电路图在阶码选择电路中,我们采用了二选一数据选择器。它包括一个控制端S0,两个数据输入端D0,D1及一个数据输出端O。其真值表如表22表22二选一数据选择器真值表控制端S0输入端D0输入端D1输出端O00X001X11X001X11由真值表可看出。当S0为0时,输出为D0,S0为1时,输出为D1。故可将两阶码相减之后产生的符号位作为S0的输入信号,被减数的阶码与D0相连,件数的阶码与D1相连,这样就可以实现选择输出。其电路图

11、如图25所示。图25补码选择电路8封装图如图26所示。图26补码选择电路封装效果图2223功能仿真表23补码选择电路测试数据COIN(相减符号位)输入阶码1输入阶码2输出阶码00110001101101101011001100测试数据如表23所示。图27补码选择电路测试图仿真图说明图27中,红线所示数据输入C0IN为1,阶码1为1010,阶码2为1100,其真实输出1100。蓝线所示数据输入COIN为0,阶码1为0110,阶码2为0011,其真实输出为0110。从仿真结果分析,对于给定的例子,其输出与预想的输出完全一致,说明电路的实现符合设计要求。9223数值选择模块的设计与实现2231功能描

12、述在对阶过程结束后,需要对阶码较小的数字的补码进行移位操作。这时便需要对输入的两个数据进行选择,然后再进行移位和相加等操作。故数值选择模块的输入与输出均为数值的补码。其功能为对数值进行选择和分流输出。2232电路图在数值选择电路中,我们同样采用了二选一数据选择器。但此时,输出由原来的4位更改为了8位,即输入的两组数值均要进行输出。其中,高四位为需要进行移位的数据,低四位为不需要进行移位的数据。此时的COIN(与数据选择器的控制端S0相连)仍为两阶码相减之后产生的符号位。被减数连至A23A20,减数连至A13A10。其电路图如图28所示。图28数值选择器电路图10封装图如图29所示。图29数值选

13、择电路封装效果图2233功能仿真表24数据选择电路测试数据COIN(相减符号位)输入数值1输入数值2输出数值0011000110110,00111101011001100,1010测试数据如表24所示。图210数值选择电路测试图11仿真图说明图210中,红线所示数据输入C0IN为1,数值1为1010,数值2为1100,其真实输出11001010。蓝线所示数据输入COIN为0,数值1为0110,数值2为0011,其真实输出为01100011。从仿真结果分析,对于给定的例子,其输出与预想的输出完全一致,说明电路的实现符合设计要求。224数据移位模块的设计与实现2241功能描述经过对阶过程与数据选择

14、过程后,我们得到了移位的次数和待移位的数据,接下来则需要用数据移位模块对数据进行移位操作。故数据移位模块的输入为待移位的数据(补码)与移位次数(原码),输出为移位后的数据(补码)。其功能为对数据进行移位和输出。2242电路图根据计算机中数据存储的特点可知S2,S1,S0的位权分别为4,2,1。即若S2为1,数据需右移四位,S1为1,数据需右移两位,S0为1,数据需右移一位。另根据数据补位的原则可知,如原数据为正数则补0,为负数则补1。故当S0为控制信号时,可在相邻两位间用二选一数据选择器相连,当S0为1时输出高位,S0为0时输出低位。本级的输出用以作为当S1为控制信号时的输入。当S1为控制信号

15、时,每隔一位进行选择。同理S2为控制信号时,每隔三位进行选择。而对于补位来说,则由符号位与数据位进行数据选择得到。S0为控制信号时符号位仅与最高位相与,S1为控制信号时符号位与最高两位相与,S3时则为最高四位。S0作为控制信号时的输出为S1作为控制信号时的输入,S1为控制信号的输出为S2是控制信号时的输出。最后的输出仅有数据位,不含符号位。其电路如图211所示。12图211数据移位器电路图封装图如图212所示。图212数值移位电路封装效果图132243功能仿真表25数据移位电路测试数据移位次数S2S0输入数值C,A10A0输出数值B10B00100,1101000101100110100010

16、1011,0010111001111111001011测试数据如表25所示。图213数据移位电路测试图仿真图说明图213中,红线所示数据,输入S2,S1,S0为010,数值为0,11010001011,其真实输出为00110100010。对于蓝线所示数据,输入S2,S1,S0为101,数值为1,00101110011,其真实输出为11111001011。从仿真结果分析,对于给定的例子,其输出与预想的输出完全一致,说明电路的实现符合设计要求。14225加法模块的设计与实现2251功能描述在上述模块全部运行结束后,需要将得到的移位过的数据进行相加得到最终的结果。故加法模块的输入为数据移位器输出的一

17、组移位后的数据已经数据选择器输出的一组不移位的数据。输出为相加之后的数据。其功能是实现两个数的超前进位加法运算。2252电路图设二进制加法器第I位为AI,BI,输出为SI,进位输入为CI,进位输出为CI1,则有SIAIBICI,CI1AIBIAICIBICIAIBI(AIBI)CI。令GIAIBI,PIAIBI,则CI1GIPICI当AI和BI都为1时,GI1,产生进位CI11。当AI和BI有一个为1时,PI1,传递进位CI1CI。因此GI定义为进位产生信号,PI定义为进位传递信号。GI的优先级比PI高,也就是说当GI1时无条件产生进位,而不管CI是多少;当GI0而PI1时,进位输出为CI,跟

18、CI之前的逻辑有关。设4位加数和被加数为A和B,进位输入为CIN,进位输出为COUT,对于第I位的进位产生GIAIBI,进位传递PIAIBI,I0,1,2,3于是对于各级进位输出,递归的展开CI有C0CINC1G0P0C0C2G1P1C1G1P1G0P1P0C0C3G2P2C2G2P2G1P2P1G0P2P1P0C0C4G3P3C3G3P3G2P3P2G1P3P2P1G0P3P2P1P0C0COUTC4由此可以看出,各级的进位彼此独立产生,只与输入数据和CIN有关,将各级间的进位级联传播给去掉了,因此减小了进位产生的延迟。故其电路图如图214所示。15图2144位超前进位加法器电路图封装图如图

19、215所示。图2154位超前进位加法器封装效果图162253功能仿真表26加法电路测试数据上级进位C0输入数值A3A0输入数值B3B0输出数据01011010011111010110011111测试数据如表26所示。图216加法电路测试图仿真图说明图216中,红线所示数据,输入C0为1,数值A3A0为0101,B3B0为1001,其真实输出为1111。对于蓝线所示数据,输入C0为1为0,数值A3A0为1011,B3B0为1001,其真实输出为1111。从仿真结果分析,对于给定的例子,其输出与预想的输出完全一致,说明电路的实现符合设计要求。23总电路仿真测试仿真测试试主要验证设计电路逻辑功能、时

20、序的正确性,本次设计为浮点数加法器,设计完成主要采用功能仿真方法对设计的电路进行仿真从而验证其电路功能的正确性。(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,数据输入AJ3AJ0、AS11AS0、BJ3BJ0、BS11BS0,结果输出为OJ3OJ1、OS11OS0。17(2)功能仿真结果与分析图217总电路仿真波形18图218总电路输出结果仿真图说明如图217、218从波形可以清楚的看出输入和输出结果,在本次测试中输入的两个数为分别为0,010,0,01101011001与1,011,1,00011010100。从图217、218可以看到输出结果为0,010,0,011

21、01010010,经过对比正确无误,即说明总的电路设计成功,符合课设题目的基本要求。19第3章编程下载与硬件测试31编程下载在编译完成后,利用COP2000仿真软件的编程下载功能,将得到的ZYKSBIT文件下载到XCV200实验板的XCV200可编程逻辑芯片中。32硬件测试及结果分析利用XCV200实验板进行硬件功能测试。浮点数加法器的全部输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表31所示。表31XCV200实验板信号对应关系引脚信号名称XCV200实验板引脚名称XCV200实验板引脚号AJ3P33K47AJ2P34K46AJ

22、1P35K45AJ0P36K44AS11P38K43AS10P39K42AS9P40K41AS8P41K40AS7P53K37AS6P55K36AS5P54K35AS4P53K34AS3P50K33AS2P49K32AS1P48K31AS0P47K30BJ3P63K27BJ2P64K26BJ1P65K25BJ0P66K24BS11P70K23BS10P71K22BS9P72K21BS8P73K2020BS7P79K17BS6P80K16BS5P81K15BS4P82K14BS3P84K13BS2P85K12BS1P86K11BS0P87K10OJ3P78B7OJ2P93B6OJ1P99B5OJ

23、0P107B4OS11P108B3OS10P109B2OS9P124B1OS8P125B0OS7P147A7OS6P152A6OS5P178A5OS4P184A4OS3P185A3OS2P203A2OS1P111A1OS0P110A0利用表22中的输入参数作为输入数据,逐个测试输出结果,即用XCV200实验板的开关组K4、K3、K2、K1输入数据,同时观察LED指示灯显示结果,得到如图31所示的硬件测试结果。图31硬件测试结果图21参考文献1曹昕燕EDA技术实验与课程设计M北京清华大学出版社,20062唐朔飞计算机组成原理(第二版)M北京高等教育出版社,20083李景华可编程程逻辑器件与EDA

24、技术M北京东北大学出版社,20014王爱英计算机组成与结构第4版M北京清华大学出版社,20065王冠VERILOGHDL与数字电路设计M北京机械工业出版社,20056江国强EAD技术习题与实验M北京电子工业出版社,20057杜建国VERILOGHDL硬件描述语言M北京国防工业出版社,2004沈阳航空航天大学课程设计报告22附录沈阳航空航天大学课程设计报告23课程设计总结通过此次组成原理课程设计,让我懂得了学习要理论联系实践,在实践中能学到很多书本上没有的东西。这次课程设计,我遇到了很多问题,刚开始拿到题目的时候觉得很熟悉但是不知道从何下手,后来经过查资料和老师的帮助才有了思路。但很快又有了新的

25、问题,在各个模块设计好了之后,在仿真过程中,有几个模块因为连线问题仿真结果出错,经过整改后整个仿真成功通过。但最终由于个人水平有限,仍旧不能十分完美的实现计算机中加法器的功能。例如舍入和判断溢出等功能仍未能实现。通过这次实验设计,使我了解了许多计算机组成原理知识,加深了我对浮点数的存储格式以及运算方式的理解,将理论知识很好的应用在实践中,同时通过本次实验也初步掌握了编程语言及原理图实现芯片生成的功能。在不断的研究复习中也掌握了XILINXFOUNDATIONF31设计软件和COP2000集成调试软件的使用及相关知识,能独立的制作和生成所需要的逻辑部件。在加深理论知识的同时,个人实践能力及动手能力得到提高。更重要的是知道了自己在设计方面的不足和所需要学习的知识,在这次设计中指导老师给予了我很大的帮助,在此表示感谢并且在以后的学习和实验中会更加努力的学习,弥补自己的不足。指导教师评语指导教师签字年月日课程设计成绩

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。